
/* WARNING: Unknown calling convention */
/* WARNING: Enum "anon_enum_32": Some values do not have unique names */

seg_entry * build_modrm_byte(void)

{
  uint *puVar1;
  i386_operand_type *piVar2;
  long lVar3;
  byte *pbVar4;
  uchar uVar5;
  byte bVar6;
  expressionS *peVar7;
  i386_operand_type iVar8;
  undefined1 uVar9;
  reg_entry *prVar10;
  reg_entry *prVar11;
  anon_enum_32 aVar12;
  int iVar13;
  ulong uVar14;
  undefined1 *puVar15;
  ulong uVar16;
  byte bVar17;
  uint uVar18;
  anon_enum_32 aVar19;
  uint uVar20;
  ulong uVar21;
  byte bVar22;
  byte bVar23;
  ulong uVar24;
  byte bVar25;
  uint uVar26;
  uint uVar27;
  bool bVar28;
  
  uVar9 = i.tm.opcode_modifier._6_1_;
  uVar21 = 0;
  uVar24 = 0;
  bVar22 = i.tm.opcode_modifier._6_1_ & 0xc;
  if (bVar22 == 8) {
    uVar26 = i.operands - 1;
    uVar21 = (ulong)uVar26;
    uVar18 = i.operands - 2;
    if (((i.reg_operands != 4) && ((i.reg_operands != 3 || (i.mem_operands != 1)))) ||
       (((i.tm.opcode_modifier._5_1_ & 0x18) != 8 ||
        (((i.tm.opcode_modifier._5_1_ & 0x60) == 0 || (((ulong)i.tm.operand_types[uVar21] & 4) == 0)
         ))))) {
                    /* WARNING: Subroutine does not return */
      as_abort("../../gas/config/tc-i386.c",0x1a12,"build_modrm_byte");
    }
    uVar14 = (ulong)i.imm_operands;
    uVar24 = (ulong)(i.imm_operands + 1);
    if ((i.tm.opcode_modifier._5_1_ & 0x60) == 0x40) {
      uVar24 = (ulong)i.imm_operands;
      uVar14 = (ulong)(i.imm_operands + 1);
    }
    if (i.imm_operands == 0) {
      uVar16 = (ulong)i.operands;
      i.operands = i.operands + 1;
      i.imm_operands = 1;
      i.op[uVar16].disps = im_expressions;
      i.types[uVar16] = (i386_operand_type)0x0;
      *(undefined1 *)((long)i.types + uVar16 * 8 + 1) = 4;
      if (((ulong)i.tm.operand_types[uVar14] & 4) == 0) {
                    /* WARNING: Subroutine does not return */
        as_abort("../../gas/config/tc-i386.c",0x1a2a,"build_modrm_byte");
      }
      im_expressions[0]._24_1_ = 2;
      bVar25 = (i.op[uVar14].regs)->reg_flags;
      bVar23 = (i.op[uVar14].regs)->reg_num;
      uVar26 = (uint)bVar23;
      if ((bVar25 & 1) != 0) {
        uVar26 = bVar23 + 8;
      }
      if ((bVar25 & 4) != 0) {
        im_expressions[0].X_add_number = (offsetT)((uVar26 + 0x10) * 0x10);
                    /* WARNING: Subroutine does not return */
        as_abort("../../gas/config/tc-i386.c",0x1a2d,"build_modrm_byte");
      }
      im_expressions[0].X_add_number = (offsetT)(uVar26 << 4);
    }
    else {
      if ((i.imm_operands != 1) || ((i.types[0].array[1]._1_1_ & 1) == 0)) {
                    /* WARNING: Subroutine does not return */
        as_abort("../../gas/config/tc-i386.c",0x1a33,"build_modrm_byte");
      }
      if ((i.tm.opcode_modifier._4_1_ & 0x20) == 0) {
        i.types[0].array[0]._1_1_ = i.types[0].array[0]._1_1_ | 4;
        uVar26 = 0;
      }
      else {
        uVar24 = (ulong)((int)uVar24 - 1);
        uVar14 = (ulong)((int)uVar14 - 1);
      }
      if (((ulong)i.tm.operand_types[uVar14] & 4) == 0) {
                    /* WARNING: Subroutine does not return */
        as_abort("../../gas/config/tc-i386.c",0x1a45,"build_modrm_byte");
      }
      bVar25 = (i.op[uVar14].regs)->reg_flags;
      bVar23 = (i.op[uVar14].regs)->reg_num;
      uVar20 = (uint)bVar23;
      if ((bVar25 & 1) != 0) {
        uVar20 = bVar23 + 8;
      }
      peVar7 = i.op[uVar26].disps;
      if ((bVar25 & 4) != 0) {
        peVar7->X_add_number = (ulong)((uVar20 + 0x10) * 0x10) | peVar7->X_add_number;
                    /* WARNING: Subroutine does not return */
        as_abort("../../gas/config/tc-i386.c",0x1a48,"build_modrm_byte");
      }
      peVar7->X_add_number = (ulong)(uVar20 << 4) | peVar7->X_add_number;
    }
    if (((ulong)i.tm.operand_types[uVar18] & 4) == 0) {
                    /* WARNING: Subroutine does not return */
      as_abort("../../gas/config/tc-i386.c",0x1a4b,"build_modrm_byte");
    }
    i.vex.register_specifier = i.op[uVar18].regs;
  }
  prVar11 = i.index_reg;
  prVar10 = i.base_reg;
  uVar14 = (ulong)i.mem_operands;
  bVar25 = bVar22;
  if (i.mem_operands == 0) {
    if (i.reg_operands == 2) {
      if (((byte)i.tm.opcode_modifier._5_1_ >> 3 & 3) < 2) {
LAB_0013335b:
        if (i.operands == 3) {
LAB_00133ea8:
          if ((i.imm_operands != 1) &&
             ((i.imm_operands != 0 ||
              (((i.tm.opcode_modifier._5_1_ & 0x18) != 8 && ((i.types[0].array[0]._3_1_ & 1) == 0)))
              ))) {
                    /* WARNING: Subroutine does not return */
            as_abort("../../gas/config/tc-i386.c",0x1a6b,"build_modrm_byte");
          }
          uVar14 = (ulong)((i.types[0].array[0]._1_1_ & 0xfc) != 0 ||
                          (i.types[0].array[0]._3_1_ & 1) != 0);
          uVar26 = 3;
        }
        else if (i.operands < 4) {
          uVar26 = i.operands;
          if (i.operands != 2) goto LAB_00133dcf;
        }
        else {
          if (i.operands != 4) goto joined_r0x00133753;
LAB_00133379:
          uVar14 = (ulong)i.imm_operands;
          if (i.imm_operands == 2) {
            if (((i.types[0].array[0]._1_1_ & 4) == 0) || ((i.types[1].array[0]._1_1_ & 4) == 0))
            goto LAB_00133d61;
          }
          else {
            if ((((i.tm.opcode_modifier._5_1_ & 0x18) != 8) || (i.imm_operands != 1)) ||
               ((((i.types[0].array[0]._1_1_ & 4) == 0 && ((i.types[3].array[0]._1_1_ & 4) == 0)) &&
                (i.rounding == (RC_Operation *)0x0)))) {
LAB_00133d61:
                    /* WARNING: Subroutine does not return */
              as_abort("../../gas/config/tc-i386.c",0x1a81,"build_modrm_byte");
            }
            uVar14 = (ulong)((i.types[0].array[0]._1_1_ & 4) != 0);
          }
          uVar26 = 4;
        }
LAB_001337c1:
        if (bVar22 != 8) {
          uVar18 = (int)uVar14 + 1;
          uVar21 = (ulong)uVar18;
          if ((i.rounding != (RC_Operation *)0x0) && ((i.rounding)->operand == uVar18)) {
            uVar21 = (ulong)((int)uVar14 + 2);
          }
          if ((i.tm.opcode_modifier._5_1_ & 0x18) == 8) {
            uVar24 = uVar14;
            uVar16 = uVar21;
            if (((*(byte *)((long)i.tm.operand_types + uVar14 * 8 + 2) & 0x40) == 0) &&
               ((*(byte *)((long)i.tm.operand_types + uVar21 * 8 + 2) & 0x40) != 0)) {
              uVar24 = uVar21;
              uVar16 = uVar14;
            }
            uVar20 = (int)uVar21 + 1;
            uVar21 = (ulong)uVar20;
            uVar14 = *(ulong *)i.tm.operand_types[uVar16].array;
            uVar18 = *(uint *)((long)i.tm.operand_types + uVar16 * 8 + 4);
            if ((uVar26 <= uVar20) ||
               ((((uVar14 & 1) == 0 ||
                 ((-1 < (char)((uVar14 & 0xfffffffff7ffffff) >> 0x18) && ((uVar18 & 2) == 0)))) &&
                (((uVar14 & 4) == 0 &&
                 ((regmask.array[0] != (uint)(uVar14 & 0xfffffffff7ffffff) ||
                  (regmask.array[1] != uVar18)))))))) {
                    /* WARNING: Subroutine does not return */
              as_abort("../../gas/config/tc-i386.c",0x1ac9,"build_modrm_byte");
            }
            i.vex.register_specifier = i.op[uVar16].regs;
            uVar14 = uVar24;
          }
        }
LAB_001337ff:
        i.rm.mode = 3;
        if (((*(byte *)((long)i.tm.operand_types + uVar21 * 8 + 3) & 8) == 0) &&
           (((ulong)i.tm.operand_types[uVar21] & 0x5f0000) == 0)) {
          i.rm.reg = (uint)(i.op[uVar21].regs)->reg_num;
          i.rm.regmem = (uint)(i.op[uVar14].regs)->reg_num;
          bVar22 = (i.op[uVar21].regs)->reg_flags;
          if ((bVar22 & 1) != 0) {
            i.rex = i.rex | 4;
          }
          if ((bVar22 & 4) != 0) {
            i.vrex = i.vrex | 4;
          }
          bVar22 = (i.op[uVar14].regs)->reg_flags;
          if ((bVar22 & 1) != 0) {
            i.rex = i.rex | 1;
          }
          if ((bVar22 & 4) != 0) {
            i.vrex = i.vrex | 1;
          }
        }
        else {
          i.rm.reg = (uint)(i.op[uVar14].regs)->reg_num;
          i.rm.regmem = (uint)(i.op[uVar21].regs)->reg_num;
          bVar22 = (i.op[uVar21].regs)->reg_flags;
          if ((bVar22 & 1) != 0) {
            i.rex = i.rex | 1;
          }
          if ((bVar22 & 4) != 0) {
            i.vrex = i.vrex | 1;
          }
          bVar22 = (i.op[uVar14].regs)->reg_flags;
          if ((bVar22 & 1) != 0) {
            i.rex = i.rex | 4;
          }
          if ((bVar22 & 4) != 0) {
            i.vrex = i.vrex | 4;
          }
        }
        if ((flag_code != CODE_64BIT) && ((i.rex & 4U) != 0)) {
          if (((ulong)i.types[(byte)i.tm.operand_types[0].array[0]._3_1_ >> 3 & 1] & 0x10) == 0) {
                    /* WARNING: Subroutine does not return */
            as_abort("../../gas/config/tc-i386.c",0x1af4,"build_modrm_byte");
          }
          i.rex = i.rex & 0xfffffffb;
          add_prefix(0xf0);
          return (seg_entry *)0x0;
        }
        i.rm.mode = 3;
        return (seg_entry *)0x0;
      }
    }
    else if (i.reg_operands == 3) {
      if ((i.tm.opcode_modifier._5_1_ & 0x18) == 8) goto LAB_0013335b;
    }
    else if ((i.reg_operands == 4) && (bVar22 == 8)) {
      if (i.operands == 3) goto LAB_00133ea8;
      if (i.operands < 4) {
        if (i.operands != 2) goto LAB_00133dcf;
        goto LAB_001337ff;
      }
      if (i.operands == 4) goto LAB_00133379;
joined_r0x00133753:
      if (i.operands != 5) {
LAB_00133dcf:
                    /* WARNING: Subroutine does not return */
        as_abort("../../gas/config/tc-i386.c",0x1aa0,"build_modrm_byte");
      }
      if (i.tm.opcode_modifier._7_1_ == '\0') {
        uVar14 = uVar24;
        uVar26 = 5;
      }
      else {
        if (((i.imm_operands != 2) || (-1 < (char)i.tm.opcode_modifier._7_1_)) ||
           ((i.types[0].array[0]._1_1_ & 0xfc) == 0)) {
                    /* WARNING: Subroutine does not return */
          as_abort("../../gas/config/tc-i386.c",0x1a96,"build_modrm_byte");
        }
        if ((i.types[1].array[0]._1_1_ & 0xfc) == 0) {
          if ((i.types[4].array[0]._1_1_ & 0xfc) == 0) {
                    /* WARNING: Subroutine does not return */
            as_abort("../../gas/config/tc-i386.c",0x1a9c,"build_modrm_byte");
          }
          uVar14 = 1;
          uVar26 = 5;
        }
        else {
          uVar14 = (ulong)i.imm_operands;
          uVar26 = 5;
        }
      }
      goto LAB_001337c1;
    }
    uVar26 = 0xffffffff;
    puVar15 = (undefined1 *)0x0;
  }
  else {
    if (i.operands == 0) {
LAB_0013303b:
                    /* WARNING: Subroutine does not return */
      as_abort("../../gas/config/tc-i386.c",0x1b05,"build_modrm_byte");
    }
    if ((i.types[0].array[0]._2_1_ & 0x5f) == 0) {
      uVar14 = 1;
      do {
        uVar24 = uVar14 & 0xffffffff;
        if (i.operands <= (uint)uVar14) goto LAB_0013303b;
        piVar2 = i.types + uVar14;
        uVar14 = uVar14 + 1;
      } while (((ulong)*piVar2 & 0x5f0000) == 0);
    }
    else {
      uVar24 = 0;
    }
    bVar23 = uVar9 & 0x30;
    uVar26 = (uint)uVar24;
    if (bVar23 == 0) {
LAB_0013313d:
      if (prVar10 != (reg_entry *)0x0) goto LAB_00133146;
LAB_00133448:
      prVar10 = i.index_reg;
      i.rm.mode = 0;
      if (i.disp_operands == 0) {
        if (i.index_reg == (reg_entry *)0x0) {
          aVar19 = Cpu286;
          goto LAB_00133cae;
        }
        if (bVar23 == 0) {
          aVar19 = Cpu286;
          goto LAB_00133af0;
        }
        goto LAB_00133a60;
      }
      if (i.index_reg != (reg_entry *)0x0) {
        if (bVar23 == 0) {
          aVar19 = Cpu186;
LAB_00133af0:
          i.sib.index = (uint)(i.index_reg)->reg_num;
          i.rm.regmem = 4;
          if ((byte)((i.index_reg)->reg_num + 4) < 2) {
            i.sib.index = 4;
          }
          i.sib.base = 5;
          i.sib.scale = i.log2_scale_factor;
          lVar3 = uVar24 * 8;
          bVar25 = *(byte *)((long)i.types + lVar3 + 2);
          bVar28 = flag_code == CODE_64BIT;
          *(byte *)((long)i.types + lVar3 + 2) = bVar25 & 0xec;
          if ((bVar28) && (i.prefix[2] == '\0')) {
            *(byte *)((long)i.types + lVar3 + 2) = bVar25 & 0xe0 | 8;
          }
          else {
            *(byte *)((long)i.types + uVar24 * 8 + 2) =
                 *(byte *)((long)i.types + uVar24 * 8 + 2) & 0xf3 | 4;
          }
          puVar15 = ds;
          if ((prVar10->reg_flags & 1) != 0) {
            i.rex = i.rex | 2;
          }
          goto LAB_00133b80;
        }
        goto LAB_00133424;
      }
      aVar19 = Cpu186;
LAB_00133cae:
      if (bVar23 != 0) {
                    /* WARNING: Subroutine does not return */
        as_abort("../../gas/config/tc-i386.c",0x1b33,"build_modrm_byte");
      }
      if (flag_code == CODE_64BIT) {
        i.rm.regmem = 4;
        uVar20 = (uint)(i.prefix[2] == '\0');
        uVar18 = (uint)(i.prefix[2] != '\0');
        i.sib.base = 5;
        i.sib.index = 4;
        iVar13 = 0;
      }
      else if ((flag_code == CODE_16BIT) == (i.prefix[2] != '\0')) {
        i.rm.regmem = 5;
        uVar20 = 0;
        uVar18 = 1;
        iVar13 = 0;
      }
      else {
        i.rm.regmem = 6;
        uVar20 = 0;
        uVar18 = 0;
        iVar13 = 1;
      }
      uVar27 = ~anydisp.array[1];
      i.types[uVar24].array[0] =
           iVar13 << 0x11 | uVar18 << 0x12 | uVar20 << 0x13 |
           ~anydisp.array[0] & i.types[uVar24].array[0];
      puVar15 = ds;
      puVar1 = (uint *)((long)i.types + uVar24 * 8 + 4);
      *puVar1 = *puVar1 & uVar27;
LAB_00133b80:
      if (aVar19 != Cpu186) goto LAB_00133a67;
    }
    else {
      uVar5 = (i.index_reg)->reg_num;
      if ((byte)(uVar5 + 4) < 2) {
                    /* WARNING: Subroutine does not return */
        as_abort("../../gas/config/tc-i386.c",0x1b0b,"build_modrm_byte");
      }
      i.rm.regmem = 4;
      if (i.base_reg == (reg_entry *)0x0) {
        i.sib.base = 5;
        i.sib.index = 0;
        i.sib.scale = i.log2_scale_factor;
        lVar3 = uVar24 * 8;
        bVar6 = *(byte *)((long)i.types + lVar3 + 2);
        bVar28 = flag_code == CODE_64BIT;
        *(byte *)((long)i.types + lVar3 + 2) = bVar6 & 0xec;
        if ((bVar28) && (i.prefix[2] == '\0')) {
          *(byte *)((long)i.types + lVar3 + 2) = bVar6 & 0xe0 | 8;
        }
        else {
          *(byte *)((long)i.types + uVar24 * 8 + 2) =
               *(byte *)((long)i.types + uVar24 * 8 + 2) & 0xf3 | 4;
        }
      }
      i.sib.index._0_1_ = uVar5;
      i.sib.index._1_3_ = 0;
      if ((prVar11->reg_flags & 1) != 0) {
        i.rex = i.rex | 2;
      }
      if ((prVar11->reg_flags & 4) == 0) goto LAB_0013313d;
      i.vrex = i.vrex | 2;
      if (prVar10 == (reg_entry *)0x0) goto LAB_00133448;
LAB_00133146:
      bVar6 = prVar10->reg_num;
      if (bVar6 < 0xfe) {
        if (((ulong)prVar10->reg_type & 0x40000000) == 0) {
          if ((flag_code == CODE_64BIT) && ((*(byte *)((long)i.types + uVar24 * 8 + 2) & 0x1f) != 0)
             ) {
            lVar3 = uVar24 * 8;
            bVar25 = *(byte *)((long)i.types + lVar3 + 2);
            bVar17 = bVar25 & 0xe1;
            *(byte *)((long)i.types + lVar3 + 2) = bVar25 & 0xed;
            if (i.prefix[2] == '\0') {
              *(byte *)((long)i.types + lVar3 + 2) = bVar17 | 8;
            }
            else {
              *(byte *)((long)i.types + lVar3 + 2) = bVar17 | 4;
            }
          }
          if (bVar23 == 0) {
            i.rm.regmem = (uint)bVar6;
          }
          if ((prVar10->reg_flags & 1) == 0) {
            puVar15 = ss;
            if (1 < (byte)(bVar6 - 4)) {
              puVar15 = ds;
            }
          }
          else {
            i.rex = i.rex | 1;
            puVar15 = ds;
          }
          i.sib.base = (uint)bVar6;
          aVar19 = Cpu186;
          if ((bVar6 == 5) && (aVar19 = Cpu186, i.disp_operands == 0)) {
            aVar19 = Cpu286;
            pbVar4 = (byte *)((long)i.types + uVar24 * 8 + 2);
            *pbVar4 = *pbVar4 | 1;
          }
          aVar12 = i.disp_encoding;
          i.sib.scale = i.log2_scale_factor;
          if (i.index_reg == (reg_entry *)0x0) {
            if (bVar23 != 0) {
                    /* WARNING: Subroutine does not return */
              as_abort("../../gas/config/tc-i386.c",0x1bbf,"build_modrm_byte");
            }
            i.sib.index = 4;
          }
          else if (bVar23 == 0) {
            i.rm.regmem = 4;
            i.sib.index = (uint)(i.index_reg)->reg_num;
            if ((byte)((i.index_reg)->reg_num + 4) < 2) {
              i.sib.index = 4;
            }
            if (((i.index_reg)->reg_flags & 1) != 0) {
              i.rex = i.rex | 2;
            }
          }
          if (i.disp_operands == 0) {
            if ((aVar19 == Cpu186) && (aVar19 = aVar12, i.disp_encoding != Cpu186)) {
              if (i.disp_encoding == Cpu286) {
                pbVar4 = (byte *)((long)i.types + uVar24 * 8 + 2);
                *pbVar4 = *pbVar4 | 1;
              }
              else {
                pbVar4 = (byte *)((long)i.types + uVar24 * 8 + 2);
                *pbVar4 = *pbVar4 | 4;
                aVar19 = Cpu286;
              }
            }
          }
          else if ((i.reloc[uVar24] == BFD_RELOC_386_TLS_DESC_CALL) ||
                  (i.reloc[uVar24] == BFD_RELOC_X86_64_TLSDESC_CALL)) {
            i.rm.mode = 0;
            goto LAB_00133b80;
          }
        }
        else {
          if (bVar23 != 0) {
                    /* WARNING: Subroutine does not return */
            as_abort("../../gas/config/tc-i386.c",0x1b7c,"build_modrm_byte");
          }
          if (bVar6 == 3) {
            if (i.index_reg != (reg_entry *)0x0) {
              i.rm.regmem = (i.index_reg)->reg_num - 6;
              goto LAB_0013317e;
            }
            i.rm.regmem = 7;
            puVar15 = ds;
            aVar19 = Cpu186;
          }
          else if (bVar6 == 5) {
            if (i.index_reg == (reg_entry *)0x0) {
              puVar15 = ss;
              i.rm.regmem = 6;
              aVar19 = Cpu186;
              if ((*(byte *)((long)i.types + uVar24 * 8 + 2) & 0x1f) == 0) {
                pbVar4 = (byte *)((long)i.types + uVar24 * 8 + 2);
                *pbVar4 = *pbVar4 | 1;
                aVar19 = Cpu286;
              }
            }
            else {
              i.rm.regmem = (i.index_reg)->reg_num - 4;
              puVar15 = ss;
              aVar19 = Cpu186;
            }
          }
          else {
            i.rm.regmem = bVar6 - 2;
LAB_0013317e:
            aVar19 = Cpu186;
            puVar15 = ds;
          }
        }
        i.rm.mode = 1;
        if (((ulong)i.types[uVar24] >> 0x10 & 1) == 0) {
          i.rm.mode = (uint)(((ulong)i.types[uVar24] & 0xe0000) != 0) * 2;
        }
        goto LAB_00133b80;
      }
      if (bVar23 != 0) {
                    /* WARNING: Subroutine does not return */
        as_abort("../../gas/config/tc-i386.c",0x1b6f,"build_modrm_byte");
      }
      i.rm.regmem = 5;
      *(byte *)((long)i.types + uVar24 * 8 + 2) =
           *(byte *)((long)i.types + uVar24 * 8 + 2) & 0xe0 | 8;
      uVar18 = i.disp_operands;
      i.flags[uVar24] = i.flags[uVar24] | 1;
      if (uVar18 != 0) {
LAB_00133424:
        puVar15 = ds;
        goto LAB_00133089;
      }
LAB_00133a60:
      puVar15 = ds;
LAB_00133a67:
      if (i.op[uVar24].disps != (expressionS *)0x0) {
                    /* WARNING: Subroutine does not return */
        as_abort("../../gas/config/tc-i386.c",0x1bed,"build_modrm_byte");
      }
      uVar14 = (ulong)i.disp_operands;
      i.disp_operands = i.disp_operands + 1;
      i.op[uVar24].disps = disp_expressions + uVar14;
      disp_expressions[uVar14].field_0x18 = 2;
      disp_expressions[uVar14].X_add_number = 0;
      disp_expressions[uVar14].X_add_symbol = (symbolS *)0x0;
      disp_expressions[uVar14].X_op_symbol = (symbolS *)0x0;
    }
    bVar25 = i.tm.opcode_modifier._6_1_ & 0xc;
  }
LAB_00133089:
  if (bVar25 == 4) {
    if ((i.types[0].array[0]._1_1_ & 0xfc) == 0) {
      if ((i.tm.opcode_modifier._5_1_ & 0x60) == 0x20) {
        i.vex.register_specifier = i.op[0].regs;
      }
      else {
        i.vex.register_specifier = i.op[1].regs;
      }
    }
    else {
      i.vex.register_specifier = (reg_entry *)0x0;
    }
    i.rm.reg = (uint)(i.op[2].regs)->reg_num;
    if (((i.op[2].regs)->reg_flags & 1) != 0) {
      i.rex = i.rex | 4;
    }
    if (i.mem_operands != 0) goto LAB_001330bc;
    if ((i.tm.opcode_modifier._5_1_ & 0x60) == 0x20) {
      bVar22 = (i.op[1].regs)->reg_num;
    }
    else {
      bVar22 = (i.op[0].regs)->reg_num;
    }
    bVar25 = (i.op[1].regs)->reg_flags;
  }
  else {
    bVar25 = i.tm.opcode_modifier._5_1_ & 0x18;
    if (bVar25 != 0x18) {
      if (i.reg_operands == 0) goto LAB_001330bc;
      if ((((i.operands == 0) || ((i.types[0].array[0]._0_1_ & 1) != 0)) ||
          ((i.types[0].array[0]._0_1_ & 2) != 0)) ||
         (((i.types[0].array[0]._0_1_ & 4) != 0 || ((i.types[0].array[1]._1_1_ & 2) != 0)))) {
        uVar24 = 0;
      }
      else {
        uVar24 = 0;
        if ((i.types[0].array[0]._0_1_ & 8) == 0) {
          uVar14 = 0;
          while( true ) {
            bVar23 = *(byte *)(i.types + uVar14);
            if ((((char)bVar23 < '\0') || ((*(byte *)((long)i.types + uVar14 * 8 + 1) & 1) != 0)) ||
               (((bVar23 & 0x10) != 0 || (((bVar23 & 0x20) != 0 || ((bVar23 & 0x40) != 0))))))
            goto LAB_00133670;
            uVar18 = (int)uVar24 + 1;
            uVar24 = (ulong)uVar18;
            if (i.operands == uVar18) break;
            uVar14 = (ulong)uVar18;
            iVar8 = i.types[uVar14];
            if ((((((ulong)iVar8 & 1) != 0) || (((ulong)iVar8 & 2) != 0)) ||
                (((ulong)iVar8 & 4) != 0)) ||
               (((*(byte *)((long)i.types + uVar14 * 8 + 5) & 2) != 0 ||
                (((ulong)i.types[uVar14] & 8) != 0)))) goto LAB_00133670;
          }
          uVar24 = (ulong)i.operands;
        }
      }
LAB_00133670:
      uVar18 = (uint)uVar24;
      if (bVar22 == 8) {
        uVar18 = 0xffffffff;
        uVar24 = uVar21;
LAB_00133b96:
        if (uVar18 != (uint)uVar24) goto LAB_001336a6;
        if (i.mem_operands != 0) goto LAB_001330bc;
      }
      else {
        uVar21 = uVar24;
        if (bVar25 == 8) {
          if (uVar26 == 0xffffffff) {
                    /* WARNING: Subroutine does not return */
            as_abort("../../gas/config/tc-i386.c",0x1c44,"build_modrm_byte");
          }
          uVar20 = uVar18 + 1;
          uVar21 = (ulong)uVar20;
          uVar14 = uVar24;
          if (uVar26 < uVar18) {
            if (i.operands <= uVar20) {
                    /* WARNING: Subroutine does not return */
              as_abort("../../gas/config/tc-i386.c",0x1c49,"build_modrm_byte");
            }
          }
          else if (((*(byte *)((long)i.tm.operand_types + uVar24 * 8 + 2) & 0x40) == 0) &&
                  ((*(byte *)((long)i.tm.operand_types + uVar21 * 8 + 2) & 0x40) != 0)) {
            if ((i.operands <= uVar18 + 2) || (uVar26 != uVar20)) {
                    /* WARNING: Subroutine does not return */
              as_abort("../../gas/config/tc-i386.c",0x1c55,"build_modrm_byte");
            }
            uVar21 = (ulong)(uVar18 + 2);
          }
          else {
            uVar14 = uVar21;
            uVar21 = uVar24;
            uVar18 = uVar20;
            if (i.operands <= uVar20) {
                    /* WARNING: Subroutine does not return */
              as_abort("../../gas/config/tc-i386.c",0x1c5a,"build_modrm_byte");
            }
          }
LAB_00133e49:
          iVar8 = i.tm.operand_types[uVar14];
          if (((((ulong)iVar8 & 1) == 0) ||
              ((-1 < *(char *)((long)i.tm.operand_types + uVar14 * 8 + 3) &&
               ((*(byte *)((long)i.tm.operand_types + uVar14 * 8 + 4) & 2) == 0)))) &&
             ((((ulong)iVar8 & 4) == 0 &&
              ((*(uint *)((long)i.tm.operand_types + uVar14 * 8 + 4) != regmask.array[1] ||
               (i.tm.operand_types[uVar14].array[0] != regmask.array[0])))))) {
                    /* WARNING: Subroutine does not return */
            as_abort("../../gas/config/tc-i386.c",0x1c7b,"build_modrm_byte");
          }
          i.vex.register_specifier = i.op[uVar14].regs;
          uVar24 = uVar21;
          goto LAB_00133b96;
        }
        if (bVar25 == 0x10) {
          if (i.mem_operands == 0) {
            if (i.operands != uVar18 + 2) {
                    /* WARNING: Subroutine does not return */
              as_abort("../../gas/config/tc-i386.c",0x1c65,"build_modrm_byte");
            }
            uVar14 = (ulong)(uVar18 + 1);
            uVar18 = uVar18 + 1;
          }
          else {
            if ((i.imm_operands + 2 <= uVar18) || (i.operands != i.imm_operands + 2)) {
                    /* WARNING: Subroutine does not return */
              as_abort("../../gas/config/tc-i386.c",0x1c6c,"build_modrm_byte");
            }
            uVar18 = i.imm_operands + 1;
            if (uVar18 == 0xffffffff) goto LAB_001336a6;
            uVar14 = (ulong)uVar18;
          }
          goto LAB_00133e49;
        }
        if (i.operands <= uVar18) {
                    /* WARNING: Subroutine does not return */
          as_abort("../../gas/config/tc-i386.c",0x1c71,"build_modrm_byte");
        }
LAB_001336a6:
        if (i.tm.extension_opcode == 0xffff) {
          i.rm.reg = (uint)(i.op[uVar24].regs)->reg_num;
          bVar22 = (i.op[uVar24].regs)->reg_flags;
          if ((bVar22 & 1) != 0) {
            i.rex = i.rex | 4;
          }
          if ((bVar22 & 4) != 0) {
            i.vrex = i.vrex | 4;
          }
          if (i.mem_operands == 0) {
            i.rm.mode = 3;
            return (seg_entry *)puVar15;
          }
          return (seg_entry *)puVar15;
        }
        i.rm.regmem = (uint)(i.op[uVar24].regs)->reg_num;
        bVar22 = (i.op[uVar24].regs)->reg_flags;
        if ((bVar22 & 1) != 0) {
          i.rex = i.rex | 1;
        }
        if ((bVar22 & 4) != 0) {
          i.vrex = i.vrex | 1;
        }
        if (i.mem_operands != 0) {
          i.rm.reg = i.tm.extension_opcode;
          return (seg_entry *)puVar15;
        }
      }
      i.rm.mode = 3;
      goto LAB_001330bc;
    }
    i.vex.register_specifier = i.op[2].regs;
    if (i.mem_operands != 0) goto LAB_001330bc;
    bVar22 = (i.op[1].regs)->reg_num;
    bVar25 = (i.op[1].regs)->reg_flags;
  }
  i.rm.regmem = (uint)bVar22;
  i.rm.mode = 3;
  if ((bVar25 & 1) != 0) {
    i.rm.mode = 3;
    i.rex = i.rex | 1;
  }
LAB_001330bc:
  if (i.tm.extension_opcode != 0xffff) {
    i.rm.reg = i.tm.extension_opcode;
    return (seg_entry *)puVar15;
  }
  return (seg_entry *)puVar15;
}



/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */

undefined1 * FUN_00132fc0(void)

{
  uint *puVar1;
  long lVar2;
  ulong *puVar3;
  long lVar4;
  byte *pbVar5;
  char cVar6;
  byte bVar7;
  int iVar8;
  ulong uVar9;
  undefined1 *puVar10;
  ulong uVar11;
  byte bVar12;
  long lVar13;
  byte bVar14;
  uint uVar15;
  int iVar16;
  uint uVar17;
  ulong uVar18;
  byte bVar19;
  ulong uVar20;
  byte bVar21;
  uint uVar22;
  uint uVar23;
  bool bVar24;
  
  bVar21 = DAT_001e3bee;
  uVar18 = 0;
  uVar20 = 0;
  bVar19 = DAT_001e3bee & 0xc;
  if (bVar19 == 8) {
    uVar22 = DAT_001e3c24 - 1;
    uVar18 = (ulong)uVar22;
    uVar15 = DAT_001e3c24 - 2;
    if (((DAT_001e3c28 != 4) && ((DAT_001e3c28 != 3 || (DAT_001e3c30 != 1)))) ||
       (((DAT_001e3bed & 0x18) != 8 ||
        (((DAT_001e3bed & 0x60) == 0 || (((&DAT_001e3bf4)[uVar18 * 8] & 4) == 0)))))) {
                    /* WARNING: Subroutine does not return */
      FUN_0011dd00("../../gas/config/tc-i386.c",0x1a12,"build_modrm_byte");
    }
    uVar9 = (ulong)DAT_001e3c34;
    uVar20 = (ulong)(DAT_001e3c34 + 1);
    if ((DAT_001e3bed & 0x60) == 0x40) {
      uVar20 = (ulong)DAT_001e3c34;
      uVar9 = (ulong)(DAT_001e3c34 + 1);
    }
    if (DAT_001e3c34 == 0) {
      uVar11 = (ulong)DAT_001e3c24;
      DAT_001e3c24 = DAT_001e3c24 + 1;
      DAT_001e3c34 = 1;
      (&DAT_001e3c60)[uVar11] = (long)&DAT_001e3b20;
      lVar13 = uVar11 + 0xe;
      *(undefined8 *)(&DAT_001e3bc8 + lVar13 * 2) = 0;
      *(undefined1 *)((long)&DAT_001e3bc8 + lVar13 * 8 + 1) = 4;
      if (((&DAT_001e3bf4)[uVar9 * 8] & 4) == 0) {
                    /* WARNING: Subroutine does not return */
        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a2a,"build_modrm_byte");
      }
      DAT_001e3b38 = 2;
      bVar14 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10);
      bVar7 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x11);
      uVar22 = (uint)bVar7;
      if ((bVar14 & 1) != 0) {
        uVar22 = bVar7 + 8;
      }
      if ((bVar14 & 4) != 0) {
        _DAT_001e3b30 = (ulong)((uVar22 + 0x10) * 0x10);
                    /* WARNING: Subroutine does not return */
        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a2d,"build_modrm_byte");
      }
      _DAT_001e3b30 = (ulong)(uVar22 << 4);
    }
    else {
      if ((DAT_001e3c34 != 1) || ((DAT_001e3c38._5_1_ & 1) == 0)) {
                    /* WARNING: Subroutine does not return */
        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a33,"build_modrm_byte");
      }
      if ((DAT_001e3bec & 0x20) == 0) {
        DAT_001e3c38._1_1_ = DAT_001e3c38._1_1_ | 4;
        uVar22 = 0;
      }
      else {
        uVar20 = (ulong)((int)uVar20 - 1);
        uVar9 = (ulong)((int)uVar9 - 1);
      }
      if (((&DAT_001e3bf4)[uVar9 * 8] & 4) == 0) {
                    /* WARNING: Subroutine does not return */
        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a45,"build_modrm_byte");
      }
      bVar14 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10);
      bVar7 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x11);
      uVar17 = (uint)bVar7;
      if ((bVar14 & 1) != 0) {
        uVar17 = bVar7 + 8;
      }
      lVar13 = (&DAT_001e3c60)[uVar22];
      if ((bVar14 & 4) != 0) {
        *(ulong *)(lVar13 + 0x10) = (ulong)((uVar17 + 0x10) * 0x10) | *(ulong *)(lVar13 + 0x10);
                    /* WARNING: Subroutine does not return */
        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a48,"build_modrm_byte");
      }
      *(ulong *)(lVar13 + 0x10) = (ulong)(uVar17 << 4) | *(ulong *)(lVar13 + 0x10);
    }
    if (((&DAT_001e3bf4)[(ulong)uVar15 * 8] & 4) == 0) {
                    /* WARNING: Subroutine does not return */
      FUN_0011dd00("../../gas/config/tc-i386.c",0x1a4b,"build_modrm_byte");
    }
    DAT_001e3d18 = (&DAT_001e3c60)[uVar15];
  }
  lVar2 = DAT_001e3cb8;
  lVar13 = DAT_001e3cb0;
  uVar9 = (ulong)DAT_001e3c30;
  bVar14 = bVar19;
  if (DAT_001e3c30 == 0) {
    if (DAT_001e3c28 == 2) {
      if ((DAT_001e3bed >> 3 & 3) < 2) {
LAB_0013335b:
        if (DAT_001e3c24 == 3) {
LAB_00133ea8:
          if ((DAT_001e3c34 != 1) &&
             ((DAT_001e3c34 != 0 ||
              (((DAT_001e3bed & 0x18) != 8 && ((DAT_001e3c38._3_1_ & 1) == 0)))))) {
                    /* WARNING: Subroutine does not return */
            FUN_0011dd00("../../gas/config/tc-i386.c",0x1a6b,"build_modrm_byte");
          }
          uVar9 = (ulong)((DAT_001e3c38._1_1_ & 0xfc) != 0 || (DAT_001e3c38._3_1_ & 1) != 0);
          uVar22 = 3;
        }
        else if (DAT_001e3c24 < 4) {
          uVar22 = DAT_001e3c24;
          if (DAT_001e3c24 != 2) goto LAB_00133dcf;
        }
        else {
          if (DAT_001e3c24 != 4) goto joined_r0x00133753;
LAB_00133379:
          uVar9 = (ulong)DAT_001e3c34;
          if (DAT_001e3c34 == 2) {
            if (((DAT_001e3c38._1_1_ & 4) == 0) || ((DAT_001e3c40._1_1_ & 4) == 0))
            goto LAB_00133d61;
          }
          else {
            if ((((DAT_001e3bed & 0x18) != 8) || (DAT_001e3c34 != 1)) ||
               ((((DAT_001e3c38._1_1_ & 4) == 0 && ((DAT_001e3c50._1_1_ & 4) == 0)) &&
                (DAT_001e3d28 == 0)))) {
LAB_00133d61:
                    /* WARNING: Subroutine does not return */
              FUN_0011dd00("../../gas/config/tc-i386.c",0x1a81,"build_modrm_byte");
            }
            uVar9 = (ulong)((DAT_001e3c38._1_1_ & 4) != 0);
          }
          uVar22 = 4;
        }
LAB_001337c1:
        if (bVar19 != 8) {
          uVar15 = (int)uVar9 + 1;
          uVar18 = (ulong)uVar15;
          if ((DAT_001e3d28 != 0) && (*(uint *)(DAT_001e3d28 + 4) == uVar15)) {
            uVar18 = (ulong)((int)uVar9 + 2);
          }
          if ((DAT_001e3bed & 0x18) == 8) {
            uVar20 = uVar9;
            uVar11 = uVar18;
            if ((((&DAT_001e3bf6)[uVar9 * 8] & 0x40) == 0) &&
               (((&DAT_001e3bf6)[uVar18 * 8] & 0x40) != 0)) {
              uVar20 = uVar18;
              uVar11 = uVar9;
            }
            uVar15 = (int)uVar18 + 1;
            uVar18 = (ulong)uVar15;
            uVar9 = *(ulong *)((long)&DAT_001e3bc0 + (uVar11 + 6) * 8 + 4);
            if ((uVar22 <= uVar15) ||
               ((((uVar9 & 1) == 0 ||
                 ((-1 < (char)((uVar9 & 0xfffffffff7ffffff) >> 0x18) &&
                  (((&DAT_001e3bc8)[(uVar11 + 6) * 2] & 2) == 0)))) &&
                (((uVar9 & 4) == 0 &&
                 ((DAT_00153a50 != (int)(uVar9 & 0xfffffffff7ffffff) ||
                  (DAT_00153a54 != (&DAT_001e3bc8)[(uVar11 + 6) * 2])))))))) {
                    /* WARNING: Subroutine does not return */
              FUN_0011dd00("../../gas/config/tc-i386.c",0x1ac9,"build_modrm_byte");
            }
            DAT_001e3d18 = (&DAT_001e3c60)[uVar11];
            uVar9 = uVar20;
          }
        }
LAB_001337ff:
        DAT_001e3cf4 = 3;
        if (((*(byte *)((long)&DAT_001e3bc0 + (uVar18 + 6) * 8 + 7) & 8) == 0) &&
           ((*(ulong *)((long)&DAT_001e3bc0 + (uVar18 + 6) * 8 + 4) & 0x5f0000) == 0)) {
          DAT_001e3cf0 = (uint)*(byte *)((&DAT_001e3c60)[uVar18] + 0x11);
          DAT_001e3cec = (uint)*(byte *)((&DAT_001e3c60)[uVar9] + 0x11);
          bVar21 = *(byte *)((&DAT_001e3c60)[uVar18] + 0x10);
          if ((bVar21 & 1) != 0) {
            DAT_001e3cf8 = DAT_001e3cf8 | 4;
          }
          if ((bVar21 & 4) != 0) {
            DAT_001e3cfc = DAT_001e3cfc | 4;
          }
          bVar21 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10);
          if ((bVar21 & 1) != 0) {
            DAT_001e3cf8 = DAT_001e3cf8 | 1;
          }
          if ((bVar21 & 4) != 0) {
            DAT_001e3cfc = DAT_001e3cfc | 1;
          }
        }
        else {
          DAT_001e3cf0 = (uint)*(byte *)((&DAT_001e3c60)[uVar9] + 0x11);
          DAT_001e3cec = (uint)*(byte *)((&DAT_001e3c60)[uVar18] + 0x11);
          bVar21 = *(byte *)((&DAT_001e3c60)[uVar18] + 0x10);
          if ((bVar21 & 1) != 0) {
            DAT_001e3cf8 = DAT_001e3cf8 | 1;
          }
          if ((bVar21 & 4) != 0) {
            DAT_001e3cfc = DAT_001e3cfc | 1;
          }
          bVar21 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10);
          if ((bVar21 & 1) != 0) {
            DAT_001e3cf8 = DAT_001e3cf8 | 4;
          }
          if ((bVar21 & 4) != 0) {
            DAT_001e3cfc = DAT_001e3cfc | 4;
          }
        }
        if ((DAT_001e3b14 != 2) && ((DAT_001e3cf8 & 4) != 0)) {
          if ((*(byte *)(&DAT_001e3bc8 + ((ulong)(DAT_001e3bf7 >> 3 & 1) + 0xe) * 2) & 0x10) == 0) {
                    /* WARNING: Subroutine does not return */
            FUN_0011dd00("../../gas/config/tc-i386.c",0x1af4,"build_modrm_byte");
          }
          DAT_001e3cf8 = DAT_001e3cf8 & 0xfffffffb;
          FUN_00131f90(0xf0);
          return (undefined1 *)0x0;
        }
        DAT_001e3cf4 = 3;
        return (undefined1 *)0x0;
      }
    }
    else if (DAT_001e3c28 == 3) {
      if ((DAT_001e3bed & 0x18) == 8) goto LAB_0013335b;
    }
    else if ((DAT_001e3c28 == 4) && (bVar19 == 8)) {
      if (DAT_001e3c24 == 3) goto LAB_00133ea8;
      if (DAT_001e3c24 < 4) {
        if (DAT_001e3c24 != 2) goto LAB_00133dcf;
        goto LAB_001337ff;
      }
      if (DAT_001e3c24 == 4) goto LAB_00133379;
joined_r0x00133753:
      if (DAT_001e3c24 != 5) {
LAB_00133dcf:
                    /* WARNING: Subroutine does not return */
        FUN_0011dd00("../../gas/config/tc-i386.c",0x1aa0,"build_modrm_byte");
      }
      if (DAT_001e3bef == '\0') {
        uVar9 = uVar20;
        uVar22 = 5;
      }
      else {
        if (((DAT_001e3c34 != 2) || (-1 < DAT_001e3bef)) || ((DAT_001e3c38._1_1_ & 0xfc) == 0)) {
                    /* WARNING: Subroutine does not return */
          FUN_0011dd00("../../gas/config/tc-i386.c",0x1a96,"build_modrm_byte");
        }
        if ((DAT_001e3c40._1_1_ & 0xfc) == 0) {
          if ((DAT_001e3c58._1_1_ & 0xfc) == 0) {
                    /* WARNING: Subroutine does not return */
            FUN_0011dd00("../../gas/config/tc-i386.c",0x1a9c,"build_modrm_byte");
          }
          uVar9 = 1;
          uVar22 = 5;
        }
        else {
          uVar9 = (ulong)DAT_001e3c34;
          uVar22 = 5;
        }
      }
      goto LAB_001337c1;
    }
    uVar22 = 0xffffffff;
    puVar10 = (undefined1 *)0x0;
  }
  else {
    if (DAT_001e3c24 == 0) {
LAB_0013303b:
                    /* WARNING: Subroutine does not return */
      FUN_0011dd00("../../gas/config/tc-i386.c",0x1b05,"build_modrm_byte");
    }
    if ((DAT_001e3c38._2_1_ & 0x5f) == 0) {
      uVar9 = 1;
      do {
        uVar20 = uVar9 & 0xffffffff;
        if (DAT_001e3c24 <= (uint)uVar9) goto LAB_0013303b;
        puVar3 = &DAT_001e3c38 + uVar9;
        uVar9 = uVar9 + 1;
      } while ((*puVar3 & 0x5f0000) == 0);
    }
    else {
      uVar20 = 0;
    }
    bVar21 = bVar21 & 0x30;
    uVar22 = (uint)uVar20;
    if (bVar21 == 0) {
LAB_0013313d:
      if (lVar13 != 0) goto LAB_00133146;
LAB_00133448:
      lVar13 = DAT_001e3cb8;
      DAT_001e3cf4 = 0;
      if (DAT_001e3c2c == 0) {
        if (DAT_001e3cb8 == 0) {
          iVar16 = 1;
          goto LAB_00133cae;
        }
        if (bVar21 == 0) {
          iVar16 = 1;
          goto LAB_00133af0;
        }
        goto LAB_00133a60;
      }
      if (DAT_001e3cb8 != 0) {
        if (bVar21 == 0) {
          iVar16 = 0;
LAB_00133af0:
          uVar15 = (uint)*(byte *)(DAT_001e3cb8 + 0x11);
          DAT_001e3cec = 4;
          if ((byte)(*(byte *)(DAT_001e3cb8 + 0x11) + 4) < 2) {
            uVar15 = 4;
          }
          _DAT_001e3d00 = CONCAT44(uVar15,5);
          DAT_001e3d08 = DAT_001e3cc0;
          lVar2 = uVar20 * 8;
          bVar21 = *(byte *)((long)&DAT_001e3c38 + lVar2 + 2);
          bVar24 = DAT_001e3b14 == 2;
          *(byte *)((long)&DAT_001e3c38 + lVar2 + 2) = bVar21 & 0xec;
          if ((bVar24) && (DAT_001e3ce6 == '\0')) {
            *(byte *)((long)&DAT_001e3c38 + lVar2 + 2) = bVar21 & 0xe0 | 8;
          }
          else {
            *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) =
                 *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xf3 | 4;
          }
          puVar10 = ds;
          if ((*(byte *)(lVar13 + 0x10) & 1) != 0) {
            DAT_001e3cf8 = DAT_001e3cf8 | 2;
          }
          goto LAB_00133b80;
        }
        goto LAB_00133424;
      }
      iVar16 = 0;
LAB_00133cae:
      if (bVar21 != 0) {
                    /* WARNING: Subroutine does not return */
        FUN_0011dd00("../../gas/config/tc-i386.c",0x1b33,"build_modrm_byte");
      }
      if (DAT_001e3b14 == 2) {
        DAT_001e3cec = 4;
        uVar17 = (uint)(DAT_001e3ce6 == '\0');
        uVar15 = (uint)(DAT_001e3ce6 != '\0');
        _DAT_001e3d00 = 0x400000005;
        iVar8 = 0;
      }
      else if ((DAT_001e3b14 == 1) == (DAT_001e3ce6 != '\0')) {
        DAT_001e3cec = 5;
        uVar17 = 0;
        uVar15 = 1;
        iVar8 = 0;
      }
      else {
        DAT_001e3cec = 6;
        uVar17 = 0;
        uVar15 = 0;
        iVar8 = 1;
      }
      uVar23 = ~DAT_00153a64;
      *(uint *)(&DAT_001e3c38 + uVar20) =
           iVar8 << 0x11 | uVar15 << 0x12 | uVar17 << 0x13 |
           ~DAT_00153a60 & *(uint *)(&DAT_001e3c38 + uVar20);
      puVar10 = ds;
      puVar1 = (uint *)((long)&DAT_001e3c38 + uVar20 * 8 + 4);
      *puVar1 = *puVar1 & uVar23;
LAB_00133b80:
      if (iVar16 != 0) goto LAB_00133a67;
    }
    else {
      cVar6 = *(char *)(DAT_001e3cb8 + 0x11);
      if ((byte)(cVar6 + 4U) < 2) {
                    /* WARNING: Subroutine does not return */
        FUN_0011dd00("../../gas/config/tc-i386.c",0x1b0b,"build_modrm_byte");
      }
      DAT_001e3cec = 4;
      if (DAT_001e3cb0 == 0) {
        _DAT_001e3d00 = 5;
        DAT_001e3d08 = DAT_001e3cc0;
        lVar4 = uVar20 * 8;
        bVar7 = *(byte *)((long)&DAT_001e3c38 + lVar4 + 2);
        bVar24 = DAT_001e3b14 == 2;
        *(byte *)((long)&DAT_001e3c38 + lVar4 + 2) = bVar7 & 0xec;
        if ((bVar24) && (DAT_001e3ce6 == '\0')) {
          *(byte *)((long)&DAT_001e3c38 + lVar4 + 2) = bVar7 & 0xe0 | 8;
        }
        else {
          *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) =
               *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xf3 | 4;
        }
      }
      _DAT_001e3d00 = (ulong)CONCAT14(cVar6,_DAT_001e3d00);
      if ((*(byte *)(lVar2 + 0x10) & 1) != 0) {
        DAT_001e3cf8 = DAT_001e3cf8 | 2;
      }
      if ((*(byte *)(lVar2 + 0x10) & 4) == 0) goto LAB_0013313d;
      DAT_001e3cfc = DAT_001e3cfc | 2;
      if (lVar13 == 0) goto LAB_00133448;
LAB_00133146:
      bVar7 = *(byte *)(lVar13 + 0x11);
      if (bVar7 < 0xfe) {
        if ((*(byte *)(lVar13 + 0xb) & 0x40) == 0) {
          if ((DAT_001e3b14 == 2) &&
             ((*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f) != 0)) {
            lVar2 = (uVar20 + 0xe) * 8;
            bVar14 = *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2);
            bVar12 = bVar14 & 0xe1;
            *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar14 & 0xed;
            if (DAT_001e3ce6 == '\0') {
              *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar12 | 8;
            }
            else {
              *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar12 | 4;
            }
          }
          if (bVar21 == 0) {
            DAT_001e3cec = (uint)bVar7;
          }
          if ((*(byte *)(lVar13 + 0x10) & 1) == 0) {
            puVar10 = ss;
            if (1 < (byte)(bVar7 - 4)) {
              puVar10 = ds;
            }
          }
          else {
            DAT_001e3cf8 = DAT_001e3cf8 | 1;
            puVar10 = ds;
          }
          _DAT_001e3d00 = CONCAT44(DAT_001e3d04,(uint)bVar7);
          iVar16 = 0;
          if ((bVar7 == 5) && (iVar16 = 0, DAT_001e3c2c == 0)) {
            iVar16 = 1;
            pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);
            *pbVar5 = *pbVar5 | 1;
          }
          iVar8 = DAT_001e3d40;
          DAT_001e3d08 = DAT_001e3cc0;
          if (DAT_001e3cb8 == 0) {
            if (bVar21 != 0) {
                    /* WARNING: Subroutine does not return */
              FUN_0011dd00("../../gas/config/tc-i386.c",0x1bbf,"build_modrm_byte");
            }
            _DAT_001e3d00 = CONCAT44(4,_DAT_001e3d00);
          }
          else if (bVar21 == 0) {
            DAT_001e3cec = 4;
            uVar15 = (uint)*(byte *)(DAT_001e3cb8 + 0x11);
            if ((byte)(*(byte *)(DAT_001e3cb8 + 0x11) + 4) < 2) {
              uVar15 = 4;
            }
            _DAT_001e3d00 = CONCAT44(uVar15,_DAT_001e3d00);
            if ((*(byte *)(DAT_001e3cb8 + 0x10) & 1) != 0) {
              DAT_001e3cf8 = DAT_001e3cf8 | 2;
            }
          }
          if (DAT_001e3c2c == 0) {
            if ((iVar16 == 0) && (iVar16 = iVar8, DAT_001e3d40 != 0)) {
              if (DAT_001e3d40 == 1) {
                pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);
                *pbVar5 = *pbVar5 | 1;
              }
              else {
                pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);
                *pbVar5 = *pbVar5 | 4;
                iVar16 = 1;
              }
            }
          }
          else if (((&DAT_001e3c9c)[uVar20] == 0x179) || ((&DAT_001e3c9c)[uVar20] == 0x195)) {
            DAT_001e3cf4 = 0;
            goto LAB_00133b80;
          }
        }
        else {
          if (bVar21 != 0) {
                    /* WARNING: Subroutine does not return */
            FUN_0011dd00("../../gas/config/tc-i386.c",0x1b7c,"build_modrm_byte");
          }
          if (bVar7 == 3) {
            if (DAT_001e3cb8 != 0) {
              DAT_001e3cec = *(byte *)(DAT_001e3cb8 + 0x11) - 6;
              goto LAB_0013317e;
            }
            DAT_001e3cec = 7;
            puVar10 = ds;
            iVar16 = 0;
          }
          else if (bVar7 == 5) {
            if (DAT_001e3cb8 == 0) {
              puVar10 = ss;
              DAT_001e3cec = 6;
              iVar16 = 0;
              if ((*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f) == 0) {
                pbVar5 = (byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2);
                *pbVar5 = *pbVar5 | 1;
                iVar16 = 1;
              }
            }
            else {
              DAT_001e3cec = *(byte *)(DAT_001e3cb8 + 0x11) - 4;
              puVar10 = ss;
              iVar16 = 0;
            }
          }
          else {
            DAT_001e3cec = bVar7 - 2;
LAB_0013317e:
            iVar16 = 0;
            puVar10 = ds;
          }
        }
        DAT_001e3cf4 = 1;
        if (((ulong)(&DAT_001e3c38)[uVar20] >> 0x10 & 1) == 0) {
          DAT_001e3cf4 = (uint)(((&DAT_001e3c38)[uVar20] & 0xe0000) != 0) * 2;
        }
        goto LAB_00133b80;
      }
      if (bVar21 != 0) {
                    /* WARNING: Subroutine does not return */
        FUN_0011dd00("../../gas/config/tc-i386.c",0x1b6f,"build_modrm_byte");
      }
      DAT_001e3cec = 5;
      *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) =
           *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xe0 | 8;
      uVar15 = DAT_001e3c2c;
      (&DAT_001e3c88)[uVar20] = (&DAT_001e3c88)[uVar20] | 1;
      if (uVar15 != 0) {
LAB_00133424:
        puVar10 = ds;
        goto LAB_00133089;
      }
LAB_00133a60:
      puVar10 = ds;
LAB_00133a67:
      if ((&DAT_001e3bc0)[uVar20 + 0x14] != 0) {
                    /* WARNING: Subroutine does not return */
        FUN_0011dd00("../../gas/config/tc-i386.c",0x1bed,"build_modrm_byte");
      }
      uVar9 = (ulong)DAT_001e3c2c;
      DAT_001e3c2c = DAT_001e3c2c + 1;
      lVar13 = uVar9 * 0x20;
      (&DAT_001e3bc0)[uVar20 + 0x14] = &DAT_001e3b60 + lVar13;
      (&DAT_001e3b78)[lVar13] = 2;
      *(undefined8 *)(&DAT_001e3b70 + lVar13) = 0;
      *(undefined8 *)(&DAT_001e3b60 + lVar13) = 0;
      *(undefined8 *)(&DAT_001e3b68 + lVar13) = 0;
    }
    bVar14 = DAT_001e3bee & 0xc;
  }
LAB_00133089:
  if (bVar14 == 4) {
    if ((DAT_001e3c38._1_1_ & 0xfc) == 0) {
      if ((DAT_001e3bed & 0x60) == 0x20) {
        DAT_001e3d18 = DAT_001e3c60;
      }
      else {
        DAT_001e3d18 = DAT_001e3c68;
      }
    }
    else {
      DAT_001e3d18 = 0;
    }
    DAT_001e3cf0 = (uint)*(byte *)(DAT_001e3c70 + 0x11);
    if ((*(byte *)(DAT_001e3c70 + 0x10) & 1) != 0) {
      DAT_001e3cf8 = DAT_001e3cf8 | 4;
    }
    if (DAT_001e3c30 != 0) goto LAB_001330bc;
    if ((DAT_001e3bed & 0x60) == 0x20) {
      bVar21 = *(byte *)(DAT_001e3c68 + 0x11);
    }
    else {
      bVar21 = *(byte *)(DAT_001e3c60 + 0x11);
    }
    bVar19 = *(byte *)(DAT_001e3c68 + 0x10);
  }
  else {
    bVar21 = DAT_001e3bed & 0x18;
    if (bVar21 != 0x18) {
      if (DAT_001e3c28 == 0) goto LAB_001330bc;
      if ((((DAT_001e3c24 == 0) || (((byte)DAT_001e3c38 & 1) != 0)) ||
          (((byte)DAT_001e3c38 & 2) != 0)) ||
         ((((byte)DAT_001e3c38 & 4) != 0 || ((DAT_001e3c38._5_1_ & 2) != 0)))) {
        uVar20 = 0;
      }
      else {
        uVar20 = 0;
        if (((byte)DAT_001e3c38 & 8) == 0) {
          uVar9 = 0;
          while( true ) {
            bVar14 = *(byte *)(&DAT_001e3bc8 + (uVar9 + 0xe) * 2);
            if ((((char)bVar14 < '\0') ||
                ((*(byte *)((long)&DAT_001e3bc8 + (uVar9 + 0xe) * 8 + 1) & 1) != 0)) ||
               (((bVar14 & 0x10) != 0 || (((bVar14 & 0x20) != 0 || ((bVar14 & 0x40) != 0))))))
            goto LAB_00133670;
            uVar15 = (int)uVar20 + 1;
            uVar20 = (ulong)uVar15;
            if (DAT_001e3c24 == uVar15) break;
            uVar9 = (ulong)uVar15;
            bVar14 = *(byte *)(&DAT_001e3bc8 + (uVar9 + 0xe) * 2);
            if (((((bVar14 & 1) != 0) || ((bVar14 & 2) != 0)) || ((bVar14 & 4) != 0)) ||
               (((*(byte *)((long)&DAT_001e3bcc + (uVar9 + 0xe) * 8 + 1) & 2) != 0 ||
                ((*(byte *)(&DAT_001e3c38 + uVar9) & 8) != 0)))) goto LAB_00133670;
          }
          uVar20 = (ulong)DAT_001e3c24;
        }
      }
LAB_00133670:
      uVar15 = (uint)uVar20;
      if (bVar19 == 8) {
        uVar15 = 0xffffffff;
        uVar20 = uVar18;
LAB_00133b96:
        if (uVar15 != (uint)uVar20) goto LAB_001336a6;
        if (DAT_001e3c30 != 0) goto LAB_001330bc;
      }
      else {
        uVar18 = uVar20;
        if (bVar21 == 8) {
          if (uVar22 == 0xffffffff) {
                    /* WARNING: Subroutine does not return */
            FUN_0011dd00("../../gas/config/tc-i386.c",0x1c44,"build_modrm_byte");
          }
          uVar17 = uVar15 + 1;
          uVar18 = (ulong)uVar17;
          uVar9 = uVar20;
          if (uVar22 < uVar15) {
            if (DAT_001e3c24 <= uVar17) {
                    /* WARNING: Subroutine does not return */
              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c49,"build_modrm_byte");
            }
          }
          else if ((((&DAT_001e3bf6)[uVar20 * 8] & 0x40) == 0) &&
                  (((&DAT_001e3bf6)[uVar18 * 8] & 0x40) != 0)) {
            if ((DAT_001e3c24 <= uVar15 + 2) || (uVar22 != uVar17)) {
                    /* WARNING: Subroutine does not return */
              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c55,"build_modrm_byte");
            }
            uVar18 = (ulong)(uVar15 + 2);
          }
          else {
            uVar9 = uVar18;
            uVar18 = uVar20;
            uVar15 = uVar17;
            if (DAT_001e3c24 <= uVar17) {
                    /* WARNING: Subroutine does not return */
              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c5a,"build_modrm_byte");
            }
          }
LAB_00133e49:
          lVar13 = uVar9 + 6;
          bVar21 = *(byte *)((long)&DAT_001e3bc0 + lVar13 * 8 + 4);
          if ((((bVar21 & 1) == 0) ||
              ((-1 < *(char *)((long)&DAT_001e3bc0 + lVar13 * 8 + 7) &&
               ((*(byte *)(&DAT_001e3bc8 + lVar13 * 2) & 2) == 0)))) &&
             (((bVar21 & 4) == 0 &&
              ((*(uint *)(&DAT_001e3bf8 + uVar9 * 8) != DAT_00153a54 ||
               (*(int *)(&DAT_001e3bf4 + uVar9 * 8) != DAT_00153a50)))))) {
                    /* WARNING: Subroutine does not return */
            FUN_0011dd00("../../gas/config/tc-i386.c",0x1c7b,"build_modrm_byte");
          }
          DAT_001e3d18 = (&DAT_001e3c60)[uVar9];
          uVar20 = uVar18;
          goto LAB_00133b96;
        }
        if (bVar21 == 0x10) {
          if (DAT_001e3c30 == 0) {
            if (DAT_001e3c24 != uVar15 + 2) {
                    /* WARNING: Subroutine does not return */
              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c65,"build_modrm_byte");
            }
            uVar9 = (ulong)(uVar15 + 1);
            uVar15 = uVar15 + 1;
          }
          else {
            if ((DAT_001e3c34 + 2 <= uVar15) || (DAT_001e3c24 != DAT_001e3c34 + 2)) {
                    /* WARNING: Subroutine does not return */
              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c6c,"build_modrm_byte");
            }
            uVar15 = DAT_001e3c34 + 1;
            if (uVar15 == 0xffffffff) goto LAB_001336a6;
            uVar9 = (ulong)uVar15;
          }
          goto LAB_00133e49;
        }
        if (DAT_001e3c24 <= uVar15) {
                    /* WARNING: Subroutine does not return */
          FUN_0011dd00("../../gas/config/tc-i386.c",0x1c71,"build_modrm_byte");
        }
LAB_001336a6:
        if (DAT_001e3bd0 == 0xffff) {
          DAT_001e3cf0 = (uint)*(byte *)((&DAT_001e3c60)[uVar20] + 0x11);
          bVar21 = *(byte *)((&DAT_001e3c60)[uVar20] + 0x10);
          if ((bVar21 & 1) != 0) {
            DAT_001e3cf8 = DAT_001e3cf8 | 4;
          }
          if ((bVar21 & 4) != 0) {
            DAT_001e3cfc = DAT_001e3cfc | 4;
          }
          if (DAT_001e3c30 == 0) {
            DAT_001e3cf4 = 3;
            return puVar10;
          }
          return puVar10;
        }
        DAT_001e3cec = (uint)*(byte *)((&DAT_001e3c60)[uVar20] + 0x11);
        bVar21 = *(byte *)((&DAT_001e3c60)[uVar20] + 0x10);
        if ((bVar21 & 1) != 0) {
          DAT_001e3cf8 = DAT_001e3cf8 | 1;
        }
        if ((bVar21 & 4) != 0) {
          DAT_001e3cfc = DAT_001e3cfc | 1;
        }
        if (DAT_001e3c30 != 0) {
          DAT_001e3cf0 = DAT_001e3bd0;
          return puVar10;
        }
      }
      DAT_001e3cf4 = 3;
      goto LAB_001330bc;
    }
    DAT_001e3d18 = DAT_001e3c70;
    if (DAT_001e3c30 != 0) goto LAB_001330bc;
    bVar21 = *(byte *)(DAT_001e3c68 + 0x11);
    bVar19 = *(byte *)(DAT_001e3c68 + 0x10);
  }
  DAT_001e3cec = (uint)bVar21;
  DAT_001e3cf4 = 3;
  if ((bVar19 & 1) != 0) {
    DAT_001e3cf4 = 3;
    DAT_001e3cf8 = DAT_001e3cf8 | 1;
  }
LAB_001330bc:
  if (DAT_001e3bd0 != 0xffff) {
    DAT_001e3cf0 = DAT_001e3bd0;
    return puVar10;
  }
  return puVar10;
}


MOVZX R10D,byte ptr [0x001e3bee]
PUSH R12
XOR R8D,R8D
XOR ESI,ESI
PUSH RBP
MOV R9D,R10D
PUSH RBX
AND R9D,0xc
CMP R9B,0x8
JZ 0x001331a0
MOV EAX,dword ptr [0x001e3c30]
TEST EAX,EAX
JZ 0x00133058
MOV ECX,dword ptr [0x001e3c24]
TEST ECX,ECX
JZ 0x0013303b
MOV RDX,qword ptr [0x001e3c38]
SHR RDX,0x10
AND EDX,0x5f
JNZ 0x001330cf
MOV EAX,0x1
LEA RDI,[0x1e3c38]
JMP 0x00133035
MOV RDX,qword ptr [RDI + RAX*0x8]
ADD RAX,0x1
SHR RDX,0x10
AND EDX,0x5f
JNZ 0x001330d8
MOV ESI,EAX
CMP ECX,EAX
JA 0x00133020
LEA RDX,[0x153820]
MOV ESI,0x1b05
LEA RDI,[0x152046]
CALL 0x0011dd00
MOV EDX,dword ptr [0x001e3c28]
CMP EDX,0x2
JZ 0x00133700
CMP EDX,0x3
JZ 0x00133348
CMP EDX,0x4
JNZ 0x0013307f
CMP R9B,0x8
JZ 0x00133da8
MOV EDX,R9D
MOV ESI,0xffffffff
XOR EAX,EAX
CMP DL,0x4
JZ 0x001334d0
MOVZX R11D,byte ptr [0x001e3bed]
AND R11D,0x18
CMP R11B,0x18
JZ 0x00133568
MOV EDX,dword ptr [0x001e3c28]
TEST EDX,EDX
JNZ 0x001335b8
MOV EDX,dword ptr [0x001e3bd0]
CMP EDX,0xffff
JZ 0x001330ca
MOV dword ptr [0x001e3cf0],EDX
POP RBX
POP RBP
POP R12
RET
XOR ESI,ESI
NOP dword ptr [RAX]
AND R10D,0x30
MOV RAX,qword ptr [0x001e3cb0]
JZ 0x0013313d
MOV R11,qword ptr [0x001e3cb8]
LEA RDX,[0x1e3bc0]
MOVZX EDI,byte ptr [R11 + 0x11]
LEA EAX,[RDI + 0x4]
CMP AL,0x1
JBE 0x00134420
MOV RAX,qword ptr [0x001e3cb0]
MOV dword ptr [0x001e3cec],0x4
TEST RAX,RAX
JZ 0x00133480
MOV dword ptr [0x001e3d04],EDI
MOVZX EDX,byte ptr [R11 + 0x10]
TEST DL,0x1
JZ 0x00133134
OR dword ptr [0x001e3cf8],0x2
AND EDX,0x4
JNZ 0x00133438
TEST RAX,RAX
JZ 0x00133448
MOVZX EDX,byte ptr [RAX + 0x11]
CMP DL,0xfe
JNC 0x001333e0
TEST byte ptr [RAX + 0xb],0x40
JZ 0x001338f0
TEST R10B,R10B
JNZ 0x00134300
CMP DL,0x3
JZ 0x00134049
CMP DL,0x5
JZ 0x00133be0
MOVZX EAX,DL
SUB EAX,0x2
MOV dword ptr [0x001e3cec],EAX
XOR EDI,EDI
LEA RAX,[0x163fa0]
LEA RDX,[0x1e3bc0]
MOV ECX,ESI
JMP 0x001339d8
MOV R11D,dword ptr [0x001e3c24]
MOV EAX,dword ptr [0x001e3c28]
LEA R8D,[R11 + -0x1]
LEA EDI,[R11 + -0x2]
CMP EAX,0x4
JZ 0x001331d0
CMP EAX,0x3
JNZ 0x00134288
CMP dword ptr [0x001e3c30],0x1
JNZ 0x00134288
MOVZX EAX,byte ptr [0x001e3bed]
MOV EDX,EAX
AND EDX,0x18
CMP DL,0x8
JNZ 0x00134288
AND EAX,0x60
JZ 0x00134288
MOV ECX,R8D
LEA RDX,[0x1e3bc0]
TEST byte ptr [RDX + RCX*0x8 + 0x34],0x4
JZ 0x00134288
MOV EBX,dword ptr [0x001e3c34]
LEA ESI,[RBX + 0x1]
MOV ECX,EBX
CMP AL,0x40
JNZ 0x00133216
MOV ECX,ESI
MOV ESI,EBX
TEST EBX,EBX
JZ 0x001332b0
CMP EBX,0x1
JNZ 0x00134480
TEST byte ptr [0x001e3c3d],0x1
JZ 0x00134480
TEST byte ptr [0x001e3bec],0x20
JZ 0x00133a50
SUB ESI,0x1
SUB ECX,0x1
MOV R11D,R8D
TEST byte ptr [RDX + RCX*0x8 + 0x34],0x4
JZ 0x00134468
MOV RAX,qword ptr [RDX + RCX*0x8 + 0xa0]
MOVZX EBX,byte ptr [RAX + 0x10]
MOVZX EAX,byte ptr [RAX + 0x11]
TEST BL,0x1
LEA ECX,[RAX + 0x8]
CMOVNZ EAX,ECX
MOV ECX,R11D
AND EBX,0x4
MOV RCX,qword ptr [RDX + RCX*0x8 + 0xa0]
MOV R11,qword ptr [RCX + 0x10]
JZ 0x00133a40
ADD EAX,0x10
LEA RDX,[0x153820]
MOV ESI,0x1a48
SHL EAX,0x4
LEA RDI,[0x152046]
OR RAX,R11
MOV qword ptr [RCX + 0x10],RAX
CALL 0x0011dd00
MOV EAX,R11D
ADD R11D,0x1
LEA RBX,[0x1e3b20]
MOV dword ptr [0x001e3c34],0x1
MOV qword ptr [RDX + RAX*0x8 + 0xa0],RBX
ADD RAX,0xe
MOV qword ptr [RDX + RAX*0x8 + 0x8],0x0
MOV byte ptr [RDX + RAX*0x8 + 0x9],0x4
MOV dword ptr [0x001e3c24],R11D
TEST byte ptr [RDX + RCX*0x8 + 0x34],0x4
JZ 0x00134450
MOV RAX,qword ptr [RDX + RCX*0x8 + 0xa0]
MOV byte ptr [0x001e3b38],0x2
MOVZX ECX,byte ptr [RAX + 0x10]
MOVZX EAX,byte ptr [RAX + 0x11]
TEST CL,0x1
LEA R11D,[RAX + 0x8]
CMOVNZ EAX,R11D
AND ECX,0x4
JZ 0x00133a10
ADD EAX,0x10
LEA RDX,[0x153820]
MOV ESI,0x1a2d
SHL EAX,0x4
LEA RDI,[0x152046]
MOV qword ptr [0x001e3b30],RAX
CALL 0x0011dd00
MOVZX EDX,byte ptr [0x001e3bed]
AND EDX,0x18
CMP DL,0x8
JNZ 0x0013307f
MOV EDI,dword ptr [0x001e3c24]
CMP EDI,0x3
JZ 0x00133ea8
JBE 0x001337b8
CMP EDI,0x4
JNZ 0x00133750
MOV EAX,dword ptr [0x001e3c34]
CMP EAX,0x2
JZ 0x00133d54
MOVZX EDX,byte ptr [0x001e3bed]
AND EDX,0x18
CMP DL,0x8
JNZ 0x00133d61
CMP EAX,0x1
JNZ 0x00133d61
MOVZX EAX,byte ptr [0x001e3c39]
AND EAX,0x4
JNZ 0x001333c7
TEST byte ptr [0x001e3c51],0x4
JNZ 0x001333c7
CMP qword ptr [0x001e3d28],0x0
JZ 0x00133d61
TEST AL,AL
SETNZ AL
MOVZX EAX,AL
MOV EDI,0x4
JMP 0x001337c1
TEST R10B,R10B
JNZ 0x00134438
LEA RDX,[0x1e3bc0]
MOV ECX,ESI
MOV dword ptr [0x001e3cec],0x5
LEA RDI,[RDX + RCX*0x8 + 0x70]
MOVZX EAX,byte ptr [RDI + 0xa]
AND EAX,0xffffffe0
OR EAX,0x8
MOV byte ptr [RDI + 0xa],AL
MOV EBX,dword ptr [0x001e3c2c]
OR dword ptr [RDX + RCX*0x4 + 0xc8],0x1
TEST EBX,EBX
JZ 0x00133a60
MOV EDX,R9D
LEA RAX,[0x163fa0]
JMP 0x00133089
OR dword ptr [0x001e3cfc],0x2
TEST RAX,RAX
JNZ 0x00133146
MOV EBP,dword ptr [0x001e3c2c]
MOV R11,qword ptr [0x001e3cb8]
MOV dword ptr [0x001e3cf4],0x0
TEST EBP,EBP
JZ 0x00133ad0
TEST R11,R11
JZ 0x00133cac
TEST R10B,R10B
JNZ 0x00133424
XOR EDI,EDI
JMP 0x00133af0
MOV dword ptr [0x001e3d00],0x5
MOV ECX,dword ptr [0x001e3cc0]
MOV dword ptr [0x001e3d08],ECX
MOV ECX,ESI
LEA RBX,[RDX + RCX*0x8 + 0x70]
MOVZX EBP,byte ptr [RBX + 0xa]
MOV R12D,EBP
AND R12D,0xffffffec
CMP dword ptr [0x001e3b14],0x2
MOV byte ptr [RBX + 0xa],R12B
JZ 0x00133c84
LEA RCX,[RDX + RCX*0x8 + 0x70]
MOVZX EDX,byte ptr [RCX + 0xa]
AND EDX,0xfffffff3
OR EDX,0x4
MOV byte ptr [RCX + 0xa],DL
JMP 0x0013311d
TEST byte ptr [0x001e3c39],0xfc
JZ 0x00133720
MOV qword ptr [0x001e3d18],0x0
MOV RDX,qword ptr [0x001e3c70]
MOVZX ECX,byte ptr [RDX + 0x11]
MOV dword ptr [0x001e3cf0],ECX
TEST byte ptr [RDX + 0x10],0x1
JZ 0x00133506
OR dword ptr [0x001e3cf8],0x4
MOV ESI,dword ptr [0x001e3c30]
MOV EDX,dword ptr [0x001e3bd0]
TEST ESI,ESI
JNZ 0x001330bc
MOVZX ECX,byte ptr [0x001e3bed]
MOV RSI,qword ptr [0x001e3c68]
MOV dword ptr [0x001e3cf4],0x3
AND ECX,0x60
CMP CL,0x20
JZ 0x00133d98
MOV RCX,qword ptr [0x001e3c60]
MOVZX ECX,byte ptr [RCX + 0x11]
MOV dword ptr [0x001e3cec],ECX
TEST byte ptr [RSI + 0x10],0x1
JZ 0x001330bc
OR dword ptr [0x001e3cf8],0x1
JMP 0x001330bc
MOV RDX,qword ptr [0x001e3c70]
MOV ECX,dword ptr [0x001e3c30]
MOV qword ptr [0x001e3d18],RDX
MOV EDX,dword ptr [0x001e3bd0]
TEST ECX,ECX
JNZ 0x001330bc
MOV RCX,qword ptr [0x001e3c68]
MOV dword ptr [0x001e3cf4],0x3
MOVZX ESI,byte ptr [RCX + 0x11]
MOV dword ptr [0x001e3cec],ESI
TEST byte ptr [RCX + 0x10],0x1
JZ 0x001330bc
JMP 0x00133559
MOV EBP,dword ptr [0x001e3c24]
TEST EBP,EBP
JZ 0x001340f4
MOVZX EDX,byte ptr [0x001e3c38]
TEST DL,0x1
JNZ 0x001340f4
TEST DL,0x2
JNZ 0x001340f4
TEST DL,0x4
JNZ 0x001340f4
TEST byte ptr [0x001e3c3d],0x2
JNZ 0x001340f4
XOR R10D,R10D
AND EDX,0x8
JNZ 0x00133670
LEA RDX,[0x1e3bc0]
XOR ECX,ECX
JMP 0x00133660
TEST byte ptr [RDX + RCX*0x8 + 0x9],0x1
JNZ 0x00133670
TEST DIL,0x10
JNZ 0x00133670
TEST DIL,0x20
JNZ 0x00133670
AND EDI,0x40
JNZ 0x00133670
ADD R10D,0x1
CMP EBP,R10D
JZ 0x00134133
MOV ECX,R10D
LEA RBX,[RCX + 0xe]
MOVZX EDI,byte ptr [RDX + RBX*0x8 + 0x8]
TEST DIL,0x1
JNZ 0x00133670
TEST DIL,0x2
JNZ 0x00133670
AND EDI,0x4
JNZ 0x00133670
TEST byte ptr [RDX + RBX*0x8 + 0xd],0x2
JNZ 0x00133670
TEST byte ptr [RDX + RCX*0x8 + 0x78],0x8
JNZ 0x00133670
ADD RCX,0xe
MOVZX EDI,byte ptr [RDX + RCX*0x8 + 0x8]
TEST DIL,DIL
JNS 0x00133610
NOP
CMP R9B,0x8
JZ 0x00133b90
CMP R11B,0x8
JZ 0x00133e20
CMP R11B,0x10
JZ 0x00134065
CMP EBP,R10D
JBE 0x001343d8
MOV EDI,dword ptr [0x001e3c30]
MOV EDX,dword ptr [0x001e3bd0]
MOV R8D,R10D
CMP EDX,0xffff
JZ 0x00133f00
LEA RCX,[0x1e3bc0]
MOV RCX,qword ptr [RCX + R8*0x8 + 0xa0]
MOVZX ESI,byte ptr [RCX + 0x11]
MOV dword ptr [0x001e3cec],ESI
MOVZX ECX,byte ptr [RCX + 0x10]
TEST CL,0x1
JZ 0x001336db
OR dword ptr [0x001e3cf8],0x1
AND ECX,0x4
JZ 0x001336e7
OR dword ptr [0x001e3cfc],0x1
TEST EDI,EDI
JNZ 0x001330c4
MOV dword ptr [0x001e3cf4],0x3
JMP 0x001330bc
MOVZX EDX,byte ptr [0x001e3bed]
SHR DL,0x3
AND EDX,0x3
CMP DL,0x1
JA 0x0013307f
JMP 0x0013335b
MOVZX EDX,byte ptr [0x001e3bed]
AND EDX,0x60
CMP DL,0x20
JZ 0x00133d80
MOV RDX,qword ptr [0x001e3c68]
MOV qword ptr [0x001e3d18],RDX
JMP 0x001334e8
CMP EDI,0x5
JNZ 0x00133dcf
MOVZX EDX,byte ptr [0x001e3bef]
TEST DL,DL
JZ 0x00133ca0
MOV EAX,dword ptr [0x001e3c34]
CMP EAX,0x2
JNZ 0x00134390
TEST DL,DL
JNS 0x00134390
TEST byte ptr [0x001e3c39],0xfc
JZ 0x00134390
TEST byte ptr [0x001e3c41],0xfc
JNZ 0x001341b8
TEST byte ptr [0x001e3c59],0xfc
JZ 0x001342a0
MOV EDI,0x5
MOV EAX,0x1
JMP 0x001337c1
CMP EDI,0x2
JNZ 0x00133dcf
CMP R9B,0x8
JZ 0x001338db
MOV RDX,qword ptr [0x001e3d28]
LEA R8D,[RAX + 0x1]
TEST RDX,RDX
JZ 0x001337e5
CMP dword ptr [RDX + 0x4],R8D
JZ 0x00133c7b
MOVZX ECX,byte ptr [0x001e3bed]
LEA RDX,[0x1e3bc0]
AND ECX,0x18
CMP CL,0x8
JZ 0x00133f4c
MOV dword ptr [0x001e3cf4],0x3
LEA RCX,[R8 + 0x6]
TEST byte ptr [RDX + RCX*0x8 + 0x7],0x8
JNZ 0x00133826
MOV RCX,qword ptr [RDX + RCX*0x8 + 0x4]
SHR RCX,0x10
AND ECX,0x5f
JZ 0x00133c18
MOV RAX,qword ptr [RDX + RAX*0x8 + 0xa0]
MOVZX ECX,byte ptr [RAX + 0x11]
MOV dword ptr [0x001e3cf0],ECX
MOV RCX,qword ptr [RDX + R8*0x8 + 0xa0]
MOVZX ESI,byte ptr [RCX + 0x11]
MOV dword ptr [0x001e3cec],ESI
MOVZX ECX,byte ptr [RCX + 0x10]
TEST CL,0x1
JZ 0x0013385a
OR dword ptr [0x001e3cf8],0x1
AND ECX,0x4
JZ 0x00133866
OR dword ptr [0x001e3cfc],0x1
MOVZX EAX,byte ptr [RAX + 0x10]
TEST AL,0x1
JZ 0x00133875
OR dword ptr [0x001e3cf8],0x4
TEST AL,0x4
JZ 0x00133880
OR dword ptr [0x001e3cfc],0x4
CMP dword ptr [0x001e3b14],0x2
JZ 0x00133ac8
MOV ECX,dword ptr [0x001e3cf8]
TEST CL,0x4
JZ 0x00133ac8
MOVZX EAX,byte ptr [0x001e3bf7]
SHR AL,0x3
AND EAX,0x1
ADD RAX,0xe
TEST byte ptr [RDX + RAX*0x8 + 0x8],0x10
JZ 0x00134408
AND ECX,0xfffffffb
MOV EDI,0xf0
MOV dword ptr [0x001e3cf8],ECX
CALL 0x00131f90
XOR EAX,EAX
JMP 0x001330ca
CMP EDX,0x2
JNZ 0x00133dcf
LEA RDX,[0x1e3bc0]
JMP 0x001337ff
CMP dword ptr [0x001e3b14],0x2
JZ 0x00134003
MOVZX ECX,DL
TEST R10B,R10B
JNZ 0x0013390b
MOV dword ptr [0x001e3cec],ECX
TEST byte ptr [RAX + 0x10],0x1
JNZ 0x00133bc0
LEA EAX,[RDX + -0x4]
MOV dword ptr [0x001e3d00],ECX
LEA RCX,[0x163fa0]
CMP AL,0x1
LEA RAX,[0x1d8660]
CMOVA RAX,RCX
XOR EDI,EDI
CMP DL,0x5
JZ 0x00133fdb
MOV EDX,dword ptr [0x001e3cc0]
MOV dword ptr [0x001e3d08],EDX
MOV RDX,qword ptr [0x001e3cb8]
TEST RDX,RDX
JZ 0x00134095
TEST R10B,R10B
JNZ 0x00133998
MOVZX ECX,byte ptr [RDX + 0x11]
MOV dword ptr [0x001e3cec],0x4
LEA R10D,[RCX + 0x4]
CMP R10B,0x1
MOV R10D,0x4
CMOVBE ECX,R10D
MOV dword ptr [0x001e3d04],ECX
TEST byte ptr [RDX + 0x10],0x1
JZ 0x00133998
OR dword ptr [0x001e3cf8],0x2
NOP dword ptr [RAX]
MOV R10D,dword ptr [0x001e3c2c]
LEA RDX,[0x1e3bc0]
TEST R10D,R10D
JZ 0x00133df0
MOV ECX,ESI
MOV R10D,dword ptr [RDX + RCX*0x4 + 0xdc]
CMP R10D,0x179
JZ 0x001340ad
CMP R10D,0x195
JZ 0x001340ad
NOP dword ptr [RAX + RAX*0x1]
MOV R10,qword ptr [RDX + RCX*0x8 + 0x78]
MOV R11D,0x1
SHR R10,0x10
TEST R10B,0x1
JNZ 0x001339fb
XOR R11D,R11D
AND R10D,0xe
SETNZ R11B
ADD R11D,R11D
MOV dword ptr [0x001e3cf4],R11D
JMP 0x00133b80
SHL EAX,0x4
MOV qword ptr [0x001e3b30],RAX
TEST byte ptr [RDX + RDI*0x8 + 0x34],0x4
JZ 0x00134348
MOV RAX,qword ptr [RDX + RDI*0x8 + 0xa0]
MOV qword ptr [0x001e3d18],RAX
JMP 0x00132fe2
SHL EAX,0x4
OR RAX,R11
MOV qword ptr [RCX + 0x10],RAX
JMP 0x00133a1a
OR byte ptr [0x001e3c39],0x4
XOR R11D,R11D
JMP 0x0013324a
LEA RAX,[0x163fa0]
LEA RDI,[RCX + 0x14]
CMP qword ptr [RDX + RDI*0x8],0x0
JNZ 0x001343a8
MOV ECX,dword ptr [0x001e3c2c]
LEA R10D,[RCX + 0x1]
SHL RCX,0x5
MOV dword ptr [0x001e3c2c],R10D
LEA R10,[0x1e3b60]
ADD RCX,R10
MOV qword ptr [RDX + RDI*0x8],RCX
MOV byte ptr [RCX + 0x18],0x2
MOV qword ptr [RCX + 0x10],0x0
MOV qword ptr [RCX],0x0
MOV qword ptr [RCX + 0x8],0x0
MOVZX EDX,byte ptr [0x001e3bee]
AND EDX,0xc
JMP 0x00133089
XOR EAX,EAX
JMP 0x001330ca
TEST R11,R11
JZ 0x00133d4a
LEA RDX,[0x1e3bc0]
MOV ECX,ESI
TEST R10B,R10B
JNZ 0x00133a60
MOV EDI,0x1
MOVZX EAX,byte ptr [R11 + 0x11]
MOV ECX,ESI
MOV dword ptr [0x001e3d00],0x5
MOV dword ptr [0x001e3cec],0x4
LEA EDX,[RAX + 0x4]
CMP DL,0x1
MOV EDX,0x4
CMOVBE EAX,EDX
LEA RDX,[0x1e3bc0]
MOV dword ptr [0x001e3d04],EAX
MOV EAX,dword ptr [0x001e3cc0]
MOV dword ptr [0x001e3d08],EAX
LEA RAX,[RDX + RCX*0x8 + 0x70]
MOVZX R10D,byte ptr [RAX + 0xa]
MOV EBX,R10D
AND EBX,0xffffffec
CMP dword ptr [0x001e3b14],0x2
MOV byte ptr [RAX + 0xa],BL
JZ 0x00134115
LEA R10,[RDX + RCX*0x8 + 0x70]
MOVZX EAX,byte ptr [R10 + 0xa]
AND EAX,0xfffffff3
OR EAX,0x4
MOV byte ptr [R10 + 0xa],AL
LEA RAX,[0x163fa0]
TEST byte ptr [R11 + 0x10],0x1
JZ 0x00133b80
OR dword ptr [0x001e3cf8],0x2
NOP dword ptr [RAX + RAX*0x1]
TEST EDI,EDI
JNZ 0x00133a67
JMP 0x00133ab4
MOV R10D,0xffffffff
MOV EDI,dword ptr [0x001e3c30]
MOV EDX,dword ptr [0x001e3bd0]
CMP R10D,R8D
JNZ 0x001336a6
TEST EDI,EDI
JNZ 0x001330bc
JMP 0x001336ef
OR dword ptr [0x001e3cf8],0x1
LEA RAX,[0x163fa0]
MOV dword ptr [0x001e3d00],ECX
JMP 0x00133932
MOV RAX,qword ptr [0x001e3cb8]
LEA RDX,[0x1e3bc0]
TEST RAX,RAX
JZ 0x001341fc
MOVZX EAX,byte ptr [RAX + 0x11]
XOR EDI,EDI
MOV ECX,ESI
SUB EAX,0x4
MOV dword ptr [0x001e3cec],EAX
LEA RAX,[0x1d8660]
JMP 0x001339d8
MOV RCX,qword ptr [RDX + R8*0x8 + 0xa0]
MOV RAX,qword ptr [RDX + RAX*0x8 + 0xa0]
MOVZX ESI,byte ptr [RCX + 0x11]
MOV dword ptr [0x001e3cf0],ESI
MOVZX ESI,byte ptr [RAX + 0x11]
MOV dword ptr [0x001e3cec],ESI
MOVZX ECX,byte ptr [RCX + 0x10]
TEST CL,0x1
JZ 0x00133c4c
OR dword ptr [0x001e3cf8],0x4
AND ECX,0x4
JZ 0x00133c58
OR dword ptr [0x001e3cfc],0x4
MOVZX EAX,byte ptr [RAX + 0x10]
TEST AL,0x1
JZ 0x00133c67
OR dword ptr [0x001e3cf8],0x1
TEST AL,0x4
JZ 0x00133880
OR dword ptr [0x001e3cfc],0x1
JMP 0x00133880
LEA R8D,[RAX + 0x2]
JMP 0x001337e5
CMP byte ptr [0x001e3ce6],0x0
JNZ 0x001334b9
AND EBP,0xffffffe0
OR EBP,0x8
MOV byte ptr [RBX + 0xa],BPL
JMP 0x0013311d
MOV EAX,ESI
MOV EDI,0x5
JMP 0x001337c1
XOR EDI,EDI
TEST R10B,R10B
JNZ 0x00134378
MOV EAX,dword ptr [0x001e3b14]
MOVZX EDX,byte ptr [0x001e3ce6]
CMP EAX,0x2
JZ 0x00134188
CMP EAX,0x1
SETZ CL
TEST DL,DL
SETNZ AL
CMP CL,AL
JZ 0x001341c2
MOV dword ptr [0x001e3cec],0x6
XOR EBP,EBP
XOR R11D,R11D
MOV EAX,0x1
AND EAX,0x1
AND R11D,0x1
MOV ECX,ESI
MOV R10D,dword ptr [0x00153a60]
LEA RDX,[0x1e3bc0]
SHL R11,0x12
SHL RAX,0x11
AND EBP,0x1
LEA RBX,[RDX + RCX*0x8 + 0x78]
SHL RBP,0x13
OR RAX,R11
NOT R10D
MOV R12D,dword ptr [0x00153a64]
AND R10D,dword ptr [RBX]
OR RAX,RBP
OR EAX,R10D
NOT R12D
MOV dword ptr [RBX],EAX
LEA RAX,[0x163fa0]
AND dword ptr [RBX + 0x4],R12D
JMP 0x00133b80
MOV EDI,0x1
JMP 0x00133cae
TEST byte ptr [0x001e3c39],0x4
JNZ 0x00134254
LEA RDX,[0x153820]
MOV ESI,0x1a81
LEA RDI,[0x152046]
CALL 0x0011dd00
MOV RDX,qword ptr [0x001e3c60]
MOV qword ptr [0x001e3d18],RDX
JMP 0x001334e8
MOVZX ECX,byte ptr [RSI + 0x11]
JMP 0x00133549
MOV EDX,dword ptr [0x001e3c24]
CMP EDX,0x3
JZ 0x00133ea8
JBE 0x001338d2
CMP EDX,0x4
JZ 0x00133379
CMP EDX,0x5
JZ 0x00133759
LEA RDX,[0x153820]
MOV ESI,0x1aa0
LEA RDI,[0x152046]
CALL 0x0011dd00
TEST EDI,EDI
JNZ 0x00133194
MOV EDI,dword ptr [0x001e3d40]
MOV ECX,ESI
TEST EDI,EDI
JZ 0x001339d8
CMP EDI,0x1
JZ 0x0013427e
OR byte ptr [RDX + RCX*0x8 + 0x7a],0x4
MOV EDI,0x1
JMP 0x001339d8
CMP ESI,-0x1
JZ 0x00134318
LEA R8D,[R10 + 0x1]
CMP ESI,R10D
JNC 0x001340bc
CMP EBP,R8D
JBE 0x001343f0
LEA RDX,[0x1e3bc0]
MOV ECX,R10D
LEA RSI,[RCX + 0x6]
MOVZX EDI,byte ptr [RDX + RSI*0x8 + 0x4]
TEST DIL,0x1
JZ 0x00133e66
CMP byte ptr [RDX + RSI*0x8 + 0x7],0x0
JS 0x00133e8d
TEST byte ptr [RDX + RSI*0x8 + 0x8],0x2
JNZ 0x00133e8d
AND EDI,0x4
JNZ 0x00133e8d
LEA RSI,[RDX + RCX*0x8 + 0x34]
MOV EBX,dword ptr [0x00153a54]
CMP dword ptr [RSI + 0x4],EBX
JNZ 0x0013423c
MOV EBX,dword ptr [0x00153a50]
CMP dword ptr [RSI],EBX
JNZ 0x0013423c
MOV RDX,qword ptr [RDX + RCX*0x8 + 0xa0]
MOV qword ptr [0x001e3d18],RDX
JMP 0x00133b96
MOV EAX,dword ptr [0x001e3c34]
CMP EAX,0x1
JZ 0x0013413b
TEST EAX,EAX
JNZ 0x001342d0
MOVZX EDX,byte ptr [0x001e3bed]
MOVZX EAX,byte ptr [0x001e3c3b]
AND EDX,0x18
AND EAX,0x1
CMP DL,0x8
JZ 0x00133ee0
TEST AL,AL
JZ 0x001342d0
MOVZX EDX,byte ptr [0x001e3c39]
MOV EDI,0x3
AND EDX,0xfffffffc
OR DL,AL
SETNZ AL
MOVZX EAX,AL
JMP 0x001337c1
LEA RDX,[0x1e3bc0]
MOV RDX,qword ptr [RDX + R8*0x8 + 0xa0]
MOVZX ECX,byte ptr [RDX + 0x11]
MOV dword ptr [0x001e3cf0],ECX
MOVZX EDX,byte ptr [RDX + 0x10]
TEST DL,0x1
JZ 0x00133f29
OR dword ptr [0x001e3cf8],0x4
AND EDX,0x4
JZ 0x00133f35
OR dword ptr [0x001e3cfc],0x4
TEST EDI,EDI
JNZ 0x001330ca
MOV dword ptr [0x001e3cf4],0x3
JMP 0x001330ca
MOV ECX,EAX
MOV ESI,R8D
TEST byte ptr [RDX + RCX*0x8 + 0x36],0x40
JNZ 0x00133f67
MOV ECX,R8D
TEST byte ptr [RDX + RCX*0x8 + 0x36],0x40
JZ 0x00133f67
MOV ESI,EAX
MOV EAX,R8D
LEA R9,[RSI + 0x6]
LEA R10,[0x1e3bc4]
ADD R8D,0x1
MOV RCX,qword ptr [RDX + R9*0x8 + 0x4]
MOV R9D,dword ptr [R10 + R9*0x8 + 0x4]
AND RCX,-0x8000001
CMP R8D,EDI
JNC 0x00134266
MOV EDI,ECX
TEST CL,0x1
JZ 0x00133fa9
MOV R10,RCX
SHR R10,0x18
TEST R10B,R10B
JS 0x00133fc7
TEST R9B,0x2
JNZ 0x00133fc7
AND EDI,0x4
JNZ 0x00133fc7
CMP dword ptr [0x00153a50],ECX
JNZ 0x00134266
CMP dword ptr [0x00153a54],R9D
JNZ 0x00134266
MOV RCX,qword ptr [RDX + RSI*0x8 + 0xa0]
MOV qword ptr [0x001e3d18],RCX
JMP 0x001337ff
MOV R11D,dword ptr [0x001e3c2c]
LEA RDX,[0x1e3bc0]
TEST R11D,R11D
JNZ 0x0013393d
MOV ECX,ESI
MOV EDI,0x1
OR byte ptr [RDX + RCX*0x8 + 0x7a],0x1
JMP 0x0013393d
MOV ECX,ESI
LEA RDI,[0x1e3bc0]
ADD RCX,0xe
TEST byte ptr [RDI + RCX*0x8 + 0xa],0x1f
JZ 0x001338fd
LEA RDI,[RDI + RCX*0x8]
MOVZX ECX,byte ptr [RDI + 0xa]
MOV R11D,ECX
AND ECX,0xffffffe1
AND R11D,0xffffffed
MOV byte ptr [RDI + 0xa],R11B
CMP byte ptr [0x001e3ce6],0x0
JNZ 0x00134231
OR ECX,0x8
MOV byte ptr [RDI + 0xa],CL
JMP 0x001338fd
MOV RAX,qword ptr [0x001e3cb8]
TEST RAX,RAX
JZ 0x001341db
MOVZX EAX,byte ptr [RAX + 0x11]
SUB EAX,0x6
JMP 0x0013317e
MOV EDI,dword ptr [0x001e3c30]
TEST EDI,EDI
JNZ 0x0013414a
LEA EDX,[R10 + 0x2]
CMP EBP,EDX
JNZ 0x00134360
LEA ECX,[R10 + 0x1]
MOV R8D,R10D
LEA RDX,[0x1e3bc0]
MOV R10,RCX
JMP 0x00133e49
TEST R10B,R10B
JNZ 0x001342e8
MOV dword ptr [0x001e3d04],0x4
JMP 0x00133998
MOV dword ptr [0x001e3cf4],0x0
JMP 0x00133b80
MOV ECX,R10D
LEA RDX,[0x1e3bc0]
TEST byte ptr [RDX + RCX*0x8 + 0x36],0x40
JNZ 0x001340fc
MOV EDI,R8D
TEST byte ptr [RDX + RDI*0x8 + 0x36],0x40
JZ 0x001340fc
LEA EDI,[R10 + 0x2]
CMP EBP,EDI
JBE 0x00134330
CMP ESI,R8D
JNZ 0x00134330
MOV R8D,EDI
JMP 0x00133e49
XOR R10D,R10D
JMP 0x00133670
CMP EBP,R8D
JBE 0x001342b8
MOV ECX,R8D
MOV R8D,R10D
MOV ECX,ECX
MOV R10,RCX
JMP 0x00133e49
CMP byte ptr [0x001e3ce6],0x0
JNZ 0x00133b52
AND R10D,0xffffffe0
OR R10D,0x8
MOV byte ptr [RAX + 0xa],R10B
JMP 0x00133b66
MOV R10D,EBP
JMP 0x00133670
MOVZX EAX,byte ptr [0x001e3c3b]
AND EAX,0x1
JMP 0x00133ee0
MOV EDX,dword ptr [0x001e3c34]
LEA ECX,[RDX + 0x2]
CMP ECX,R10D
JBE 0x001343c0
CMP EBP,ECX
JNZ 0x001343c0
ADD EDX,0x1
CMP EDX,-0x1
JZ 0x0013369d
MOV ECX,EDX
MOV R8D,R10D
LEA RDX,[0x1e3bc0]
MOV R10,RCX
JMP 0x00133e49
MOV RAX,0x400000005
CMP DL,0x1
MOV dword ptr [0x001e3cec],0x4
SETC BPL
SBB R11D,R11D
MOV qword ptr [0x001e3d00],RAX
XOR EAX,EAX
ADD R11D,0x1
JMP 0x00133cf4
MOV EDI,0x5
JMP 0x001337c1
MOV dword ptr [0x001e3cec],0x5
XOR EBP,EBP
MOV R11D,0x1
XOR EAX,EAX
JMP 0x00133cf4
MOV dword ptr [0x001e3cec],0x7
XOR EDI,EDI
LEA RAX,[0x163fa0]
MOV ECX,ESI
LEA RDX,[0x1e3bc0]
JMP 0x001339d8
MOV ECX,ESI
XOR EDI,EDI
LEA RAX,[0x1d8660]
MOV dword ptr [0x001e3cec],0x6
LEA R10,[RCX + 0xe]
TEST byte ptr [RDX + R10*0x8 + 0xa],0x1f
JNZ 0x001339d8
OR byte ptr [RDX + R10*0x8 + 0xa],0x1
MOV EDI,0x1
JMP 0x001339d8
OR ECX,0x4
MOV byte ptr [RDI + 0xa],CL
JMP 0x001338fd
LEA RDX,[0x153820]
MOV ESI,0x1c7b
LEA RDI,[0x152046]
CALL 0x0011dd00
TEST byte ptr [0x001e3c41],0x4
JZ 0x00133d61
JMP 0x001333cf
LEA RDX,[0x153820]
MOV ESI,0x1ac9
LEA RDI,[0x152046]
CALL 0x0011dd00
OR byte ptr [RDX + RCX*0x8 + 0x7a],0x1
JMP 0x001339d8
LEA RDX,[0x153820]
MOV ESI,0x1a12
LEA RDI,[0x152046]
CALL 0x0011dd00
LEA RDX,[0x153820]
MOV ESI,0x1a9c
LEA RDI,[0x152046]
CALL 0x0011dd00
LEA RDX,[0x153820]
MOV ESI,0x1c5a
LEA RDI,[0x152046]
CALL 0x0011dd00
LEA RDX,[0x153820]
MOV ESI,0x1a6b
LEA RDI,[0x152046]
CALL 0x0011dd00
LEA RDX,[0x153820]
MOV ESI,0x1bbf
LEA RDI,[0x152046]
CALL 0x0011dd00
LEA RDX,[0x153820]
MOV ESI,0x1b7c
LEA RDI,[0x152046]
CALL 0x0011dd00
LEA RDX,[0x153820]
MOV ESI,0x1c44
LEA RDI,[0x152046]
CALL 0x0011dd00
LEA RDX,[0x153820]
MOV ESI,0x1c55
LEA RDI,[0x152046]
CALL 0x0011dd00
LEA RDX,[0x153820]
MOV ESI,0x1a4b
LEA RDI,[0x152046]
CALL 0x0011dd00
LEA RDX,[0x153820]
MOV ESI,0x1c65
LEA RDI,[0x152046]
CALL 0x0011dd00
LEA RDX,[0x153820]
MOV ESI,0x1b33
LEA RDI,[0x152046]
CALL 0x0011dd00
LEA RDX,[0x153820]
MOV ESI,0x1a96
LEA RDI,[0x152046]
CALL 0x0011dd00
LEA RDX,[0x153820]
MOV ESI,0x1bed
LEA RDI,[0x152046]
CALL 0x0011dd00
LEA RDX,[0x153820]
MOV ESI,0x1c6c
LEA RDI,[0x152046]
CALL 0x0011dd00
LEA RDX,[0x153820]
MOV ESI,0x1c71
LEA RDI,[0x152046]
CALL 0x0011dd00
LEA RDX,[0x153820]
MOV ESI,0x1c49
LEA RDI,[0x152046]
CALL 0x0011dd00
LEA RDX,[0x153820]
MOV ESI,0x1af4
LEA RDI,[0x152046]
CALL 0x0011dd00
LEA RDX,[0x153820]
MOV ESI,0x1b0b
LEA RDI,[0x152046]
CALL 0x0011dd00
LEA RDX,[0x153820]
MOV ESI,0x1b6f
LEA RDI,[0x152046]
CALL 0x0011dd00
LEA RDX,[0x153820]
MOV ESI,0x1a2a
LEA RDI,[0x152046]
CALL 0x0011dd00
LEA RDX,[0x153820]
MOV ESI,0x1a45
LEA RDI,[0x152046]
CALL 0x0011dd00
LEA RDX,[0x153820]
MOV ESI,0x1a33
LEA RDI,[0x152046]
CALL 0x0011dd00
(translation_unit "/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */\n\nundefined1 * FUN_00132fc0(void)\n\n{\n  uint *puVar1;\n  long lVar2;\n  ulong *puVar3;\n  long lVar4;\n  byte *pbVar5;\n  char cVar6;\n  byte bVar7;\n  int iVar8;\n  ulong uVar9;\n  undefined1 *puVar10;\n  ulong uVar11;\n  byte bVar12;\n  long lVar13;\n  byte bVar14;\n  uint uVar15;\n  int iVar16;\n  uint uVar17;\n  ulong uVar18;\n  byte bVar19;\n  ulong uVar20;\n  byte bVar21;\n  uint uVar22;\n  uint uVar23;\n  bool bVar24;\n  \n  bVar21 = DAT_001e3bee;\n  uVar18 = 0;\n  uVar20 = 0;\n  bVar19 = DAT_001e3bee & 0xc;\n  if (bVar19 == 8) {\n    uVar22 = DAT_001e3c24 - 1;\n    uVar18 = (ulong)uVar22;\n    uVar15 = DAT_001e3c24 - 2;\n    if (((DAT_001e3c28 != 4) && ((DAT_001e3c28 != 3 || (DAT_001e3c30 != 1)))) ||\n       (((DAT_001e3bed & 0x18) != 8 ||\n        (((DAT_001e3bed & 0x60) == 0 || (((&DAT_001e3bf4)[uVar18 * 8] & 4) == 0)))))) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0011dd00("../../gas/config/tc-i386.c",0x1a12,"build_modrm_byte");\n    }\n    uVar9 = (ulong)DAT_001e3c34;\n    uVar20 = (ulong)(DAT_001e3c34 + 1);\n    if ((DAT_001e3bed & 0x60) == 0x40) {\n      uVar20 = (ulong)DAT_001e3c34;\n      uVar9 = (ulong)(DAT_001e3c34 + 1);\n    }\n    if (DAT_001e3c34 == 0) {\n      uVar11 = (ulong)DAT_001e3c24;\n      DAT_001e3c24 = DAT_001e3c24 + 1;\n      DAT_001e3c34 = 1;\n      (&DAT_001e3c60)[uVar11] = (long)&DAT_001e3b20;\n      lVar13 = uVar11 + 0xe;\n      *(undefined8 *)(&DAT_001e3bc8 + lVar13 * 2) = 0;\n      *(undefined1 *)((long)&DAT_001e3bc8 + lVar13 * 8 + 1) = 4;\n      if (((&DAT_001e3bf4)[uVar9 * 8] & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a2a,"build_modrm_byte");\n      }\n      DAT_001e3b38 = 2;\n      bVar14 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10);\n      bVar7 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x11);\n      uVar22 = (uint)bVar7;\n      if ((bVar14 & 1) != 0) {\n        uVar22 = bVar7 + 8;\n      }\n      if ((bVar14 & 4) != 0) {\n        _DAT_001e3b30 = (ulong)((uVar22 + 0x10) * 0x10);\n                    /* WARNING: Subroutine does not return */\n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a2d,"build_modrm_byte");\n      }\n      _DAT_001e3b30 = (ulong)(uVar22 << 4);\n    }\n    else {\n      if ((DAT_001e3c34 != 1) || ((DAT_001e3c38._5_1_ & 1) == 0)) {\n                    /* WARNING: Subroutine does not return */\n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a33,"build_modrm_byte");\n      }\n      if ((DAT_001e3bec & 0x20) == 0) {\n        DAT_001e3c38._1_1_ = DAT_001e3c38._1_1_ | 4;\n        uVar22 = 0;\n      }\n      else {\n        uVar20 = (ulong)((int)uVar20 - 1);\n        uVar9 = (ulong)((int)uVar9 - 1);\n      }\n      if (((&DAT_001e3bf4)[uVar9 * 8] & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a45,"build_modrm_byte");\n      }\n      bVar14 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10);\n      bVar7 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x11);\n      uVar17 = (uint)bVar7;\n      if ((bVar14 & 1) != 0) {\n        uVar17 = bVar7 + 8;\n      }\n      lVar13 = (&DAT_001e3c60)[uVar22];\n      if ((bVar14 & 4) != 0) {\n        *(ulong *)(lVar13 + 0x10) = (ulong)((uVar17 + 0x10) * 0x10) | *(ulong *)(lVar13 + 0x10);\n                    /* WARNING: Subroutine does not return */\n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a48,"build_modrm_byte");\n      }\n      *(ulong *)(lVar13 + 0x10) = (ulong)(uVar17 << 4) | *(ulong *)(lVar13 + 0x10);\n    }\n    if (((&DAT_001e3bf4)[(ulong)uVar15 * 8] & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0011dd00("../../gas/config/tc-i386.c",0x1a4b,"build_modrm_byte");\n    }\n    DAT_001e3d18 = (&DAT_001e3c60)[uVar15];\n  }\n  lVar2 = DAT_001e3cb8;\n  lVar13 = DAT_001e3cb0;\n  uVar9 = (ulong)DAT_001e3c30;\n  bVar14 = bVar19;\n  if (DAT_001e3c30 == 0) {\n    if (DAT_001e3c28 == 2) {\n      if ((DAT_001e3bed >> 3 & 3) < 2) {\nLAB_0013335b:\n        if (DAT_001e3c24 == 3) {\nLAB_00133ea8:\n          if ((DAT_001e3c34 != 1) &&\n             ((DAT_001e3c34 != 0 ||\n              (((DAT_001e3bed & 0x18) != 8 && ((DAT_001e3c38._3_1_ & 1) == 0)))))) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1a6b,"build_modrm_byte");\n          }\n          uVar9 = (ulong)((DAT_001e3c38._1_1_ & 0xfc) != 0 || (DAT_001e3c38._3_1_ & 1) != 0);\n          uVar22 = 3;\n        }\n        else if (DAT_001e3c24 < 4) {\n          uVar22 = DAT_001e3c24;\n          if (DAT_001e3c24 != 2) goto LAB_00133dcf;\n        }\n        else {\n          if (DAT_001e3c24 != 4) goto joined_r0x00133753;\nLAB_00133379:\n          uVar9 = (ulong)DAT_001e3c34;\n          if (DAT_001e3c34 == 2) {\n            if (((DAT_001e3c38._1_1_ & 4) == 0) || ((DAT_001e3c40._1_1_ & 4) == 0))\n            goto LAB_00133d61;\n          }\n          else {\n            if ((((DAT_001e3bed & 0x18) != 8) || (DAT_001e3c34 != 1)) ||\n               ((((DAT_001e3c38._1_1_ & 4) == 0 && ((DAT_001e3c50._1_1_ & 4) == 0)) &&\n                (DAT_001e3d28 == 0)))) {\nLAB_00133d61:\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1a81,"build_modrm_byte");\n            }\n            uVar9 = (ulong)((DAT_001e3c38._1_1_ & 4) != 0);\n          }\n          uVar22 = 4;\n        }\nLAB_001337c1:\n        if (bVar19 != 8) {\n          uVar15 = (int)uVar9 + 1;\n          uVar18 = (ulong)uVar15;\n          if ((DAT_001e3d28 != 0) && (*(uint *)(DAT_001e3d28 + 4) == uVar15)) {\n            uVar18 = (ulong)((int)uVar9 + 2);\n          }\n          if ((DAT_001e3bed & 0x18) == 8) {\n            uVar20 = uVar9;\n            uVar11 = uVar18;\n            if ((((&DAT_001e3bf6)[uVar9 * 8] & 0x40) == 0) &&\n               (((&DAT_001e3bf6)[uVar18 * 8] & 0x40) != 0)) {\n              uVar20 = uVar18;\n              uVar11 = uVar9;\n            }\n            uVar15 = (int)uVar18 + 1;\n            uVar18 = (ulong)uVar15;\n            uVar9 = *(ulong *)((long)&DAT_001e3bc0 + (uVar11 + 6) * 8 + 4);\n            if ((uVar22 <= uVar15) ||\n               ((((uVar9 & 1) == 0 ||\n                 ((-1 < (char)((uVar9 & 0xfffffffff7ffffff) >> 0x18) &&\n                  (((&DAT_001e3bc8)[(uVar11 + 6) * 2] & 2) == 0)))) &&\n                (((uVar9 & 4) == 0 &&\n                 ((DAT_00153a50 != (int)(uVar9 & 0xfffffffff7ffffff) ||\n                  (DAT_00153a54 != (&DAT_001e3bc8)[(uVar11 + 6) * 2])))))))) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1ac9,"build_modrm_byte");\n            }\n            DAT_001e3d18 = (&DAT_001e3c60)[uVar11];\n            uVar9 = uVar20;\n          }\n        }\nLAB_001337ff:\n        DAT_001e3cf4 = 3;\n        if (((*(byte *)((long)&DAT_001e3bc0 + (uVar18 + 6) * 8 + 7) & 8) == 0) &&\n           ((*(ulong *)((long)&DAT_001e3bc0 + (uVar18 + 6) * 8 + 4) & 0x5f0000) == 0)) {\n          DAT_001e3cf0 = (uint)*(byte *)((&DAT_001e3c60)[uVar18] + 0x11);\n          DAT_001e3cec = (uint)*(byte *)((&DAT_001e3c60)[uVar9] + 0x11);\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar18] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 4;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 4;\n          }\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 1;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 1;\n          }\n        }\n        else {\n          DAT_001e3cf0 = (uint)*(byte *)((&DAT_001e3c60)[uVar9] + 0x11);\n          DAT_001e3cec = (uint)*(byte *)((&DAT_001e3c60)[uVar18] + 0x11);\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar18] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 1;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 1;\n          }\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 4;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 4;\n          }\n        }\n        if ((DAT_001e3b14 != 2) && ((DAT_001e3cf8 & 4) != 0)) {\n          if ((*(byte *)(&DAT_001e3bc8 + ((ulong)(DAT_001e3bf7 >> 3 & 1) + 0xe) * 2) & 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1af4,"build_modrm_byte");\n          }\n          DAT_001e3cf8 = DAT_001e3cf8 & 0xfffffffb;\n          FUN_00131f90(0xf0);\n          return (undefined1 *)0x0;\n        }\n        DAT_001e3cf4 = 3;\n        return (undefined1 *)0x0;\n      }\n    }\n    else if (DAT_001e3c28 == 3) {\n      if ((DAT_001e3bed & 0x18) == 8) goto LAB_0013335b;\n    }\n    else if ((DAT_001e3c28 == 4) && (bVar19 == 8)) {\n      if (DAT_001e3c24 == 3) goto LAB_00133ea8;\n      if (DAT_001e3c24 < 4) {\n        if (DAT_001e3c24 != 2) goto LAB_00133dcf;\n        goto LAB_001337ff;\n      }\n      if (DAT_001e3c24 == 4) goto LAB_00133379;\njoined_r0x00133753:\n      if (DAT_001e3c24 != 5) {\nLAB_00133dcf:\n                    /* WARNING: Subroutine does not return */\n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1aa0,"build_modrm_byte");\n      }\n      if (DAT_001e3bef == '\0') {\n        uVar9 = uVar20;\n        uVar22 = 5;\n      }\n      else {\n        if (((DAT_001e3c34 != 2) || (-1 < DAT_001e3bef)) || ((DAT_001e3c38._1_1_ & 0xfc) == 0)) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0011dd00("../../gas/config/tc-i386.c",0x1a96,"build_modrm_byte");\n        }\n        if ((DAT_001e3c40._1_1_ & 0xfc) == 0) {\n          if ((DAT_001e3c58._1_1_ & 0xfc) == 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1a9c,"build_modrm_byte");\n          }\n          uVar9 = 1;\n          uVar22 = 5;\n        }\n        else {\n          uVar9 = (ulong)DAT_001e3c34;\n          uVar22 = 5;\n        }\n      }\n      goto LAB_001337c1;\n    }\n    uVar22 = 0xffffffff;\n    puVar10 = (undefined1 *)0x0;\n  }\n  else {\n    if (DAT_001e3c24 == 0) {\nLAB_0013303b:\n                    /* WARNING: Subroutine does not return */\n      FUN_0011dd00("../../gas/config/tc-i386.c",0x1b05,"build_modrm_byte");\n    }\n    if ((DAT_001e3c38._2_1_ & 0x5f) == 0) {\n      uVar9 = 1;\n      do {\n        uVar20 = uVar9 & 0xffffffff;\n        if (DAT_001e3c24 <= (uint)uVar9) goto LAB_0013303b;\n        puVar3 = &DAT_001e3c38 + uVar9;\n        uVar9 = uVar9 + 1;\n      } while ((*puVar3 & 0x5f0000) == 0);\n    }\n    else {\n      uVar20 = 0;\n    }\n    bVar21 = bVar21 & 0x30;\n    uVar22 = (uint)uVar20;\n    if (bVar21 == 0) {\nLAB_0013313d:\n      if (lVar13 != 0) goto LAB_00133146;\nLAB_00133448:\n      lVar13 = DAT_001e3cb8;\n      DAT_001e3cf4 = 0;\n      if (DAT_001e3c2c == 0) {\n        if (DAT_001e3cb8 == 0) {\n          iVar16 = 1;\n          goto LAB_00133cae;\n        }\n        if (bVar21 == 0) {\n          iVar16 = 1;\n          goto LAB_00133af0;\n        }\n        goto LAB_00133a60;\n      }\n      if (DAT_001e3cb8 != 0) {\n        if (bVar21 == 0) {\n          iVar16 = 0;\nLAB_00133af0:\n          uVar15 = (uint)*(byte *)(DAT_001e3cb8 + 0x11);\n          DAT_001e3cec = 4;\n          if ((byte)(*(byte *)(DAT_001e3cb8 + 0x11) + 4) < 2) {\n            uVar15 = 4;\n          }\n          _DAT_001e3d00 = CONCAT44(uVar15,5);\n          DAT_001e3d08 = DAT_001e3cc0;\n          lVar2 = uVar20 * 8;\n          bVar21 = *(byte *)((long)&DAT_001e3c38 + lVar2 + 2);\n          bVar24 = DAT_001e3b14 == 2;\n          *(byte *)((long)&DAT_001e3c38 + lVar2 + 2) = bVar21 & 0xec;\n          if ((bVar24) && (DAT_001e3ce6 == '\0')) {\n            *(byte *)((long)&DAT_001e3c38 + lVar2 + 2) = bVar21 & 0xe0 | 8;\n          }\n          else {\n            *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) =\n                 *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xf3 | 4;\n          }\n          puVar10 = ds;\n          if ((*(byte *)(lVar13 + 0x10) & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 2;\n          }\n          goto LAB_00133b80;\n        }\n        goto LAB_00133424;\n      }\n      iVar16 = 0;\nLAB_00133cae:\n      if (bVar21 != 0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1b33,"build_modrm_byte");\n      }\n      if (DAT_001e3b14 == 2) {\n        DAT_001e3cec = 4;\n        uVar17 = (uint)(DAT_001e3ce6 == '\0');\n        uVar15 = (uint)(DAT_001e3ce6 != '\0');\n        _DAT_001e3d00 = 0x400000005;\n        iVar8 = 0;\n      }\n      else if ((DAT_001e3b14 == 1) == (DAT_001e3ce6 != '\0')) {\n        DAT_001e3cec = 5;\n        uVar17 = 0;\n        uVar15 = 1;\n        iVar8 = 0;\n      }\n      else {\n        DAT_001e3cec = 6;\n        uVar17 = 0;\n        uVar15 = 0;\n        iVar8 = 1;\n      }\n      uVar23 = ~DAT_00153a64;\n      *(uint *)(&DAT_001e3c38 + uVar20) =\n           iVar8 << 0x11 | uVar15 << 0x12 | uVar17 << 0x13 |\n           ~DAT_00153a60 & *(uint *)(&DAT_001e3c38 + uVar20);\n      puVar10 = ds;\n      puVar1 = (uint *)((long)&DAT_001e3c38 + uVar20 * 8 + 4);\n      *puVar1 = *puVar1 & uVar23;\nLAB_00133b80:\n      if (iVar16 != 0) goto LAB_00133a67;\n    }\n    else {\n      cVar6 = *(char *)(DAT_001e3cb8 + 0x11);\n      if ((byte)(cVar6 + 4U) < 2) {\n                    /* WARNING: Subroutine does not return */\n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1b0b,"build_modrm_byte");\n      }\n      DAT_001e3cec = 4;\n      if (DAT_001e3cb0 == 0) {\n        _DAT_001e3d00 = 5;\n        DAT_001e3d08 = DAT_001e3cc0;\n        lVar4 = uVar20 * 8;\n        bVar7 = *(byte *)((long)&DAT_001e3c38 + lVar4 + 2);\n        bVar24 = DAT_001e3b14 == 2;\n        *(byte *)((long)&DAT_001e3c38 + lVar4 + 2) = bVar7 & 0xec;\n        if ((bVar24) && (DAT_001e3ce6 == '\0')) {\n          *(byte *)((long)&DAT_001e3c38 + lVar4 + 2) = bVar7 & 0xe0 | 8;\n        }\n        else {\n          *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) =\n               *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xf3 | 4;\n        }\n      }\n      _DAT_001e3d00 = (ulong)CONCAT14(cVar6,_DAT_001e3d00);\n      if ((*(byte *)(lVar2 + 0x10) & 1) != 0) {\n        DAT_001e3cf8 = DAT_001e3cf8 | 2;\n      }\n      if ((*(byte *)(lVar2 + 0x10) & 4) == 0) goto LAB_0013313d;\n      DAT_001e3cfc = DAT_001e3cfc | 2;\n      if (lVar13 == 0) goto LAB_00133448;\nLAB_00133146:\n      bVar7 = *(byte *)(lVar13 + 0x11);\n      if (bVar7 < 0xfe) {\n        if ((*(byte *)(lVar13 + 0xb) & 0x40) == 0) {\n          if ((DAT_001e3b14 == 2) &&\n             ((*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f) != 0)) {\n            lVar2 = (uVar20 + 0xe) * 8;\n            bVar14 = *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2);\n            bVar12 = bVar14 & 0xe1;\n            *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar14 & 0xed;\n            if (DAT_001e3ce6 == '\0') {\n              *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar12 | 8;\n            }\n            else {\n              *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar12 | 4;\n            }\n          }\n          if (bVar21 == 0) {\n            DAT_001e3cec = (uint)bVar7;\n          }\n          if ((*(byte *)(lVar13 + 0x10) & 1) == 0) {\n            puVar10 = ss;\n            if (1 < (byte)(bVar7 - 4)) {\n              puVar10 = ds;\n            }\n          }\n          else {\n            DAT_001e3cf8 = DAT_001e3cf8 | 1;\n            puVar10 = ds;\n          }\n          _DAT_001e3d00 = CONCAT44(DAT_001e3d04,(uint)bVar7);\n          iVar16 = 0;\n          if ((bVar7 == 5) && (iVar16 = 0, DAT_001e3c2c == 0)) {\n            iVar16 = 1;\n            pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n            *pbVar5 = *pbVar5 | 1;\n          }\n          iVar8 = DAT_001e3d40;\n          DAT_001e3d08 = DAT_001e3cc0;\n          if (DAT_001e3cb8 == 0) {\n            if (bVar21 != 0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1bbf,"build_modrm_byte");\n            }\n            _DAT_001e3d00 = CONCAT44(4,_DAT_001e3d00);\n          }\n          else if (bVar21 == 0) {\n            DAT_001e3cec = 4;\n            uVar15 = (uint)*(byte *)(DAT_001e3cb8 + 0x11);\n            if ((byte)(*(byte *)(DAT_001e3cb8 + 0x11) + 4) < 2) {\n              uVar15 = 4;\n            }\n            _DAT_001e3d00 = CONCAT44(uVar15,_DAT_001e3d00);\n            if ((*(byte *)(DAT_001e3cb8 + 0x10) & 1) != 0) {\n              DAT_001e3cf8 = DAT_001e3cf8 | 2;\n            }\n          }\n          if (DAT_001e3c2c == 0) {\n            if ((iVar16 == 0) && (iVar16 = iVar8, DAT_001e3d40 != 0)) {\n              if (DAT_001e3d40 == 1) {\n                pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n                *pbVar5 = *pbVar5 | 1;\n              }\n              else {\n                pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n                *pbVar5 = *pbVar5 | 4;\n                iVar16 = 1;\n              }\n            }\n          }\n          else if (((&DAT_001e3c9c)[uVar20] == 0x179) || ((&DAT_001e3c9c)[uVar20] == 0x195)) {\n            DAT_001e3cf4 = 0;\n            goto LAB_00133b80;\n          }\n        }\n        else {\n          if (bVar21 != 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1b7c,"build_modrm_byte");\n          }\n          if (bVar7 == 3) {\n            if (DAT_001e3cb8 != 0) {\n              DAT_001e3cec = *(byte *)(DAT_001e3cb8 + 0x11) - 6;\n              goto LAB_0013317e;\n            }\n            DAT_001e3cec = 7;\n            puVar10 = ds;\n            iVar16 = 0;\n          }\n          else if (bVar7 == 5) {\n            if (DAT_001e3cb8 == 0) {\n              puVar10 = ss;\n              DAT_001e3cec = 6;\n              iVar16 = 0;\n              if ((*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f) == 0) {\n                pbVar5 = (byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2);\n                *pbVar5 = *pbVar5 | 1;\n                iVar16 = 1;\n              }\n            }\n            else {\n              DAT_001e3cec = *(byte *)(DAT_001e3cb8 + 0x11) - 4;\n              puVar10 = ss;\n              iVar16 = 0;\n            }\n          }\n          else {\n            DAT_001e3cec = bVar7 - 2;\nLAB_0013317e:\n            iVar16 = 0;\n            puVar10 = ds;\n          }\n        }\n        DAT_001e3cf4 = 1;\n        if (((ulong)(&DAT_001e3c38)[uVar20] >> 0x10 & 1) == 0) {\n          DAT_001e3cf4 = (uint)(((&DAT_001e3c38)[uVar20] & 0xe0000) != 0) * 2;\n        }\n        goto LAB_00133b80;\n      }\n      if (bVar21 != 0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1b6f,"build_modrm_byte");\n      }\n      DAT_001e3cec = 5;\n      *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) =\n           *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xe0 | 8;\n      uVar15 = DAT_001e3c2c;\n      (&DAT_001e3c88)[uVar20] = (&DAT_001e3c88)[uVar20] | 1;\n      if (uVar15 != 0) {\nLAB_00133424:\n        puVar10 = ds;\n        goto LAB_00133089;\n      }\nLAB_00133a60:\n      puVar10 = ds;\nLAB_00133a67:\n      if ((&DAT_001e3bc0)[uVar20 + 0x14] != 0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1bed,"build_modrm_byte");\n      }\n      uVar9 = (ulong)DAT_001e3c2c;\n      DAT_001e3c2c = DAT_001e3c2c + 1;\n      lVar13 = uVar9 * 0x20;\n      (&DAT_001e3bc0)[uVar20 + 0x14] = &DAT_001e3b60 + lVar13;\n      (&DAT_001e3b78)[lVar13] = 2;\n      *(undefined8 *)(&DAT_001e3b70 + lVar13) = 0;\n      *(undefined8 *)(&DAT_001e3b60 + lVar13) = 0;\n      *(undefined8 *)(&DAT_001e3b68 + lVar13) = 0;\n    }\n    bVar14 = DAT_001e3bee & 0xc;\n  }\nLAB_00133089:\n  if (bVar14 == 4) {\n    if ((DAT_001e3c38._1_1_ & 0xfc) == 0) {\n      if ((DAT_001e3bed & 0x60) == 0x20) {\n        DAT_001e3d18 = DAT_001e3c60;\n      }\n      else {\n        DAT_001e3d18 = DAT_001e3c68;\n      }\n    }\n    else {\n      DAT_001e3d18 = 0;\n    }\n    DAT_001e3cf0 = (uint)*(byte *)(DAT_001e3c70 + 0x11);\n    if ((*(byte *)(DAT_001e3c70 + 0x10) & 1) != 0) {\n      DAT_001e3cf8 = DAT_001e3cf8 | 4;\n    }\n    if (DAT_001e3c30 != 0) goto LAB_001330bc;\n    if ((DAT_001e3bed & 0x60) == 0x20) {\n      bVar21 = *(byte *)(DAT_001e3c68 + 0x11);\n    }\n    else {\n      bVar21 = *(byte *)(DAT_001e3c60 + 0x11);\n    }\n    bVar19 = *(byte *)(DAT_001e3c68 + 0x10);\n  }\n  else {\n    bVar21 = DAT_001e3bed & 0x18;\n    if (bVar21 != 0x18) {\n      if (DAT_001e3c28 == 0) goto LAB_001330bc;\n      if ((((DAT_001e3c24 == 0) || (((byte)DAT_001e3c38 & 1) != 0)) ||\n          (((byte)DAT_001e3c38 & 2) != 0)) ||\n         ((((byte)DAT_001e3c38 & 4) != 0 || ((DAT_001e3c38._5_1_ & 2) != 0)))) {\n        uVar20 = 0;\n      }\n      else {\n        uVar20 = 0;\n        if (((byte)DAT_001e3c38 & 8) == 0) {\n          uVar9 = 0;\n          while( true ) {\n            bVar14 = *(byte *)(&DAT_001e3bc8 + (uVar9 + 0xe) * 2);\n            if ((((char)bVar14 < '\0') ||\n                ((*(byte *)((long)&DAT_001e3bc8 + (uVar9 + 0xe) * 8 + 1) & 1) != 0)) ||\n               (((bVar14 & 0x10) != 0 || (((bVar14 & 0x20) != 0 || ((bVar14 & 0x40) != 0))))))\n            goto LAB_00133670;\n            uVar15 = (int)uVar20 + 1;\n            uVar20 = (ulong)uVar15;\n            if (DAT_001e3c24 == uVar15) break;\n            uVar9 = (ulong)uVar15;\n            bVar14 = *(byte *)(&DAT_001e3bc8 + (uVar9 + 0xe) * 2);\n            if (((((bVar14 & 1) != 0) || ((bVar14 & 2) != 0)) || ((bVar14 & 4) != 0)) ||\n               (((*(byte *)((long)&DAT_001e3bcc + (uVar9 + 0xe) * 8 + 1) & 2) != 0 ||\n                ((*(byte *)(&DAT_001e3c38 + uVar9) & 8) != 0)))) goto LAB_00133670;\n          }\n          uVar20 = (ulong)DAT_001e3c24;\n        }\n      }\nLAB_00133670:\n      uVar15 = (uint)uVar20;\n      if (bVar19 == 8) {\n        uVar15 = 0xffffffff;\n        uVar20 = uVar18;\nLAB_00133b96:\n        if (uVar15 != (uint)uVar20) goto LAB_001336a6;\n        if (DAT_001e3c30 != 0) goto LAB_001330bc;\n      }\n      else {\n        uVar18 = uVar20;\n        if (bVar21 == 8) {\n          if (uVar22 == 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1c44,"build_modrm_byte");\n          }\n          uVar17 = uVar15 + 1;\n          uVar18 = (ulong)uVar17;\n          uVar9 = uVar20;\n          if (uVar22 < uVar15) {\n            if (DAT_001e3c24 <= uVar17) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c49,"build_modrm_byte");\n            }\n          }\n          else if ((((&DAT_001e3bf6)[uVar20 * 8] & 0x40) == 0) &&\n                  (((&DAT_001e3bf6)[uVar18 * 8] & 0x40) != 0)) {\n            if ((DAT_001e3c24 <= uVar15 + 2) || (uVar22 != uVar17)) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c55,"build_modrm_byte");\n            }\n            uVar18 = (ulong)(uVar15 + 2);\n          }\n          else {\n            uVar9 = uVar18;\n            uVar18 = uVar20;\n            uVar15 = uVar17;\n            if (DAT_001e3c24 <= uVar17) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c5a,"build_modrm_byte");\n            }\n          }\nLAB_00133e49:\n          lVar13 = uVar9 + 6;\n          bVar21 = *(byte *)((long)&DAT_001e3bc0 + lVar13 * 8 + 4);\n          if ((((bVar21 & 1) == 0) ||\n              ((-1 < *(char *)((long)&DAT_001e3bc0 + lVar13 * 8 + 7) &&\n               ((*(byte *)(&DAT_001e3bc8 + lVar13 * 2) & 2) == 0)))) &&\n             (((bVar21 & 4) == 0 &&\n              ((*(uint *)(&DAT_001e3bf8 + uVar9 * 8) != DAT_00153a54 ||\n               (*(int *)(&DAT_001e3bf4 + uVar9 * 8) != DAT_00153a50)))))) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1c7b,"build_modrm_byte");\n          }\n          DAT_001e3d18 = (&DAT_001e3c60)[uVar9];\n          uVar20 = uVar18;\n          goto LAB_00133b96;\n        }\n        if (bVar21 == 0x10) {\n          if (DAT_001e3c30 == 0) {\n            if (DAT_001e3c24 != uVar15 + 2) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c65,"build_modrm_byte");\n            }\n            uVar9 = (ulong)(uVar15 + 1);\n            uVar15 = uVar15 + 1;\n          }\n          else {\n            if ((DAT_001e3c34 + 2 <= uVar15) || (DAT_001e3c24 != DAT_001e3c34 + 2)) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c6c,"build_modrm_byte");\n            }\n            uVar15 = DAT_001e3c34 + 1;\n            if (uVar15 == 0xffffffff) goto LAB_001336a6;\n            uVar9 = (ulong)uVar15;\n          }\n          goto LAB_00133e49;\n        }\n        if (DAT_001e3c24 <= uVar15) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0011dd00("../../gas/config/tc-i386.c",0x1c71,"build_modrm_byte");\n        }\nLAB_001336a6:\n        if (DAT_001e3bd0 == 0xffff) {\n          DAT_001e3cf0 = (uint)*(byte *)((&DAT_001e3c60)[uVar20] + 0x11);\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar20] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 4;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 4;\n          }\n          if (DAT_001e3c30 == 0) {\n            DAT_001e3cf4 = 3;\n            return puVar10;\n          }\n          return puVar10;\n        }\n        DAT_001e3cec = (uint)*(byte *)((&DAT_001e3c60)[uVar20] + 0x11);\n        bVar21 = *(byte *)((&DAT_001e3c60)[uVar20] + 0x10);\n        if ((bVar21 & 1) != 0) {\n          DAT_001e3cf8 = DAT_001e3cf8 | 1;\n        }\n        if ((bVar21 & 4) != 0) {\n          DAT_001e3cfc = DAT_001e3cfc | 1;\n        }\n        if (DAT_001e3c30 != 0) {\n          DAT_001e3cf0 = DAT_001e3bd0;\n          return puVar10;\n        }\n      }\n      DAT_001e3cf4 = 3;\n      goto LAB_001330bc;\n    }\n    DAT_001e3d18 = DAT_001e3c70;\n    if (DAT_001e3c30 != 0) goto LAB_001330bc;\n    bVar21 = *(byte *)(DAT_001e3c68 + 0x11);\n    bVar19 = *(byte *)(DAT_001e3c68 + 0x10);\n  }\n  DAT_001e3cec = (uint)bVar21;\n  DAT_001e3cf4 = 3;\n  if ((bVar19 & 1) != 0) {\n    DAT_001e3cf4 = 3;\n    DAT_001e3cf8 = DAT_001e3cf8 | 1;\n  }\nLAB_001330bc:\n  if (DAT_001e3bd0 != 0xffff) {\n    DAT_001e3cf0 = DAT_001e3bd0;\n    return puVar10;\n  }\n  return puVar10;\n}\n\n" comment (function_definition "undefined1 * FUN_00132fc0(void)\n\n{\n  uint *puVar1;\n  long lVar2;\n  ulong *puVar3;\n  long lVar4;\n  byte *pbVar5;\n  char cVar6;\n  byte bVar7;\n  int iVar8;\n  ulong uVar9;\n  undefined1 *puVar10;\n  ulong uVar11;\n  byte bVar12;\n  long lVar13;\n  byte bVar14;\n  uint uVar15;\n  int iVar16;\n  uint uVar17;\n  ulong uVar18;\n  byte bVar19;\n  ulong uVar20;\n  byte bVar21;\n  uint uVar22;\n  uint uVar23;\n  bool bVar24;\n  \n  bVar21 = DAT_001e3bee;\n  uVar18 = 0;\n  uVar20 = 0;\n  bVar19 = DAT_001e3bee & 0xc;\n  if (bVar19 == 8) {\n    uVar22 = DAT_001e3c24 - 1;\n    uVar18 = (ulong)uVar22;\n    uVar15 = DAT_001e3c24 - 2;\n    if (((DAT_001e3c28 != 4) && ((DAT_001e3c28 != 3 || (DAT_001e3c30 != 1)))) ||\n       (((DAT_001e3bed & 0x18) != 8 ||\n        (((DAT_001e3bed & 0x60) == 0 || (((&DAT_001e3bf4)[uVar18 * 8] & 4) == 0)))))) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0011dd00("../../gas/config/tc-i386.c",0x1a12,"build_modrm_byte");\n    }\n    uVar9 = (ulong)DAT_001e3c34;\n    uVar20 = (ulong)(DAT_001e3c34 + 1);\n    if ((DAT_001e3bed & 0x60) == 0x40) {\n      uVar20 = (ulong)DAT_001e3c34;\n      uVar9 = (ulong)(DAT_001e3c34 + 1);\n    }\n    if (DAT_001e3c34 == 0) {\n      uVar11 = (ulong)DAT_001e3c24;\n      DAT_001e3c24 = DAT_001e3c24 + 1;\n      DAT_001e3c34 = 1;\n      (&DAT_001e3c60)[uVar11] = (long)&DAT_001e3b20;\n      lVar13 = uVar11 + 0xe;\n      *(undefined8 *)(&DAT_001e3bc8 + lVar13 * 2) = 0;\n      *(undefined1 *)((long)&DAT_001e3bc8 + lVar13 * 8 + 1) = 4;\n      if (((&DAT_001e3bf4)[uVar9 * 8] & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a2a,"build_modrm_byte");\n      }\n      DAT_001e3b38 = 2;\n      bVar14 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10);\n      bVar7 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x11);\n      uVar22 = (uint)bVar7;\n      if ((bVar14 & 1) != 0) {\n        uVar22 = bVar7 + 8;\n      }\n      if ((bVar14 & 4) != 0) {\n        _DAT_001e3b30 = (ulong)((uVar22 + 0x10) * 0x10);\n                    /* WARNING: Subroutine does not return */\n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a2d,"build_modrm_byte");\n      }\n      _DAT_001e3b30 = (ulong)(uVar22 << 4);\n    }\n    else {\n      if ((DAT_001e3c34 != 1) || ((DAT_001e3c38._5_1_ & 1) == 0)) {\n                    /* WARNING: Subroutine does not return */\n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a33,"build_modrm_byte");\n      }\n      if ((DAT_001e3bec & 0x20) == 0) {\n        DAT_001e3c38._1_1_ = DAT_001e3c38._1_1_ | 4;\n        uVar22 = 0;\n      }\n      else {\n        uVar20 = (ulong)((int)uVar20 - 1);\n        uVar9 = (ulong)((int)uVar9 - 1);\n      }\n      if (((&DAT_001e3bf4)[uVar9 * 8] & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a45,"build_modrm_byte");\n      }\n      bVar14 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10);\n      bVar7 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x11);\n      uVar17 = (uint)bVar7;\n      if ((bVar14 & 1) != 0) {\n        uVar17 = bVar7 + 8;\n      }\n      lVar13 = (&DAT_001e3c60)[uVar22];\n      if ((bVar14 & 4) != 0) {\n        *(ulong *)(lVar13 + 0x10) = (ulong)((uVar17 + 0x10) * 0x10) | *(ulong *)(lVar13 + 0x10);\n                    /* WARNING: Subroutine does not return */\n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a48,"build_modrm_byte");\n      }\n      *(ulong *)(lVar13 + 0x10) = (ulong)(uVar17 << 4) | *(ulong *)(lVar13 + 0x10);\n    }\n    if (((&DAT_001e3bf4)[(ulong)uVar15 * 8] & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0011dd00("../../gas/config/tc-i386.c",0x1a4b,"build_modrm_byte");\n    }\n    DAT_001e3d18 = (&DAT_001e3c60)[uVar15];\n  }\n  lVar2 = DAT_001e3cb8;\n  lVar13 = DAT_001e3cb0;\n  uVar9 = (ulong)DAT_001e3c30;\n  bVar14 = bVar19;\n  if (DAT_001e3c30 == 0) {\n    if (DAT_001e3c28 == 2) {\n      if ((DAT_001e3bed >> 3 & 3) < 2) {\nLAB_0013335b:\n        if (DAT_001e3c24 == 3) {\nLAB_00133ea8:\n          if ((DAT_001e3c34 != 1) &&\n             ((DAT_001e3c34 != 0 ||\n              (((DAT_001e3bed & 0x18) != 8 && ((DAT_001e3c38._3_1_ & 1) == 0)))))) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1a6b,"build_modrm_byte");\n          }\n          uVar9 = (ulong)((DAT_001e3c38._1_1_ & 0xfc) != 0 || (DAT_001e3c38._3_1_ & 1) != 0);\n          uVar22 = 3;\n        }\n        else if (DAT_001e3c24 < 4) {\n          uVar22 = DAT_001e3c24;\n          if (DAT_001e3c24 != 2) goto LAB_00133dcf;\n        }\n        else {\n          if (DAT_001e3c24 != 4) goto joined_r0x00133753;\nLAB_00133379:\n          uVar9 = (ulong)DAT_001e3c34;\n          if (DAT_001e3c34 == 2) {\n            if (((DAT_001e3c38._1_1_ & 4) == 0) || ((DAT_001e3c40._1_1_ & 4) == 0))\n            goto LAB_00133d61;\n          }\n          else {\n            if ((((DAT_001e3bed & 0x18) != 8) || (DAT_001e3c34 != 1)) ||\n               ((((DAT_001e3c38._1_1_ & 4) == 0 && ((DAT_001e3c50._1_1_ & 4) == 0)) &&\n                (DAT_001e3d28 == 0)))) {\nLAB_00133d61:\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1a81,"build_modrm_byte");\n            }\n            uVar9 = (ulong)((DAT_001e3c38._1_1_ & 4) != 0);\n          }\n          uVar22 = 4;\n        }\nLAB_001337c1:\n        if (bVar19 != 8) {\n          uVar15 = (int)uVar9 + 1;\n          uVar18 = (ulong)uVar15;\n          if ((DAT_001e3d28 != 0) && (*(uint *)(DAT_001e3d28 + 4) == uVar15)) {\n            uVar18 = (ulong)((int)uVar9 + 2);\n          }\n          if ((DAT_001e3bed & 0x18) == 8) {\n            uVar20 = uVar9;\n            uVar11 = uVar18;\n            if ((((&DAT_001e3bf6)[uVar9 * 8] & 0x40) == 0) &&\n               (((&DAT_001e3bf6)[uVar18 * 8] & 0x40) != 0)) {\n              uVar20 = uVar18;\n              uVar11 = uVar9;\n            }\n            uVar15 = (int)uVar18 + 1;\n            uVar18 = (ulong)uVar15;\n            uVar9 = *(ulong *)((long)&DAT_001e3bc0 + (uVar11 + 6) * 8 + 4);\n            if ((uVar22 <= uVar15) ||\n               ((((uVar9 & 1) == 0 ||\n                 ((-1 < (char)((uVar9 & 0xfffffffff7ffffff) >> 0x18) &&\n                  (((&DAT_001e3bc8)[(uVar11 + 6) * 2] & 2) == 0)))) &&\n                (((uVar9 & 4) == 0 &&\n                 ((DAT_00153a50 != (int)(uVar9 & 0xfffffffff7ffffff) ||\n                  (DAT_00153a54 != (&DAT_001e3bc8)[(uVar11 + 6) * 2])))))))) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1ac9,"build_modrm_byte");\n            }\n            DAT_001e3d18 = (&DAT_001e3c60)[uVar11];\n            uVar9 = uVar20;\n          }\n        }\nLAB_001337ff:\n        DAT_001e3cf4 = 3;\n        if (((*(byte *)((long)&DAT_001e3bc0 + (uVar18 + 6) * 8 + 7) & 8) == 0) &&\n           ((*(ulong *)((long)&DAT_001e3bc0 + (uVar18 + 6) * 8 + 4) & 0x5f0000) == 0)) {\n          DAT_001e3cf0 = (uint)*(byte *)((&DAT_001e3c60)[uVar18] + 0x11);\n          DAT_001e3cec = (uint)*(byte *)((&DAT_001e3c60)[uVar9] + 0x11);\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar18] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 4;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 4;\n          }\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 1;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 1;\n          }\n        }\n        else {\n          DAT_001e3cf0 = (uint)*(byte *)((&DAT_001e3c60)[uVar9] + 0x11);\n          DAT_001e3cec = (uint)*(byte *)((&DAT_001e3c60)[uVar18] + 0x11);\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar18] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 1;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 1;\n          }\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 4;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 4;\n          }\n        }\n        if ((DAT_001e3b14 != 2) && ((DAT_001e3cf8 & 4) != 0)) {\n          if ((*(byte *)(&DAT_001e3bc8 + ((ulong)(DAT_001e3bf7 >> 3 & 1) + 0xe) * 2) & 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1af4,"build_modrm_byte");\n          }\n          DAT_001e3cf8 = DAT_001e3cf8 & 0xfffffffb;\n          FUN_00131f90(0xf0);\n          return (undefined1 *)0x0;\n        }\n        DAT_001e3cf4 = 3;\n        return (undefined1 *)0x0;\n      }\n    }\n    else if (DAT_001e3c28 == 3) {\n      if ((DAT_001e3bed & 0x18) == 8) goto LAB_0013335b;\n    }\n    else if ((DAT_001e3c28 == 4) && (bVar19 == 8)) {\n      if (DAT_001e3c24 == 3) goto LAB_00133ea8;\n      if (DAT_001e3c24 < 4) {\n        if (DAT_001e3c24 != 2) goto LAB_00133dcf;\n        goto LAB_001337ff;\n      }\n      if (DAT_001e3c24 == 4) goto LAB_00133379;\njoined_r0x00133753:\n      if (DAT_001e3c24 != 5) {\nLAB_00133dcf:\n                    /* WARNING: Subroutine does not return */\n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1aa0,"build_modrm_byte");\n      }\n      if (DAT_001e3bef == '\0') {\n        uVar9 = uVar20;\n        uVar22 = 5;\n      }\n      else {\n        if (((DAT_001e3c34 != 2) || (-1 < DAT_001e3bef)) || ((DAT_001e3c38._1_1_ & 0xfc) == 0)) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0011dd00("../../gas/config/tc-i386.c",0x1a96,"build_modrm_byte");\n        }\n        if ((DAT_001e3c40._1_1_ & 0xfc) == 0) {\n          if ((DAT_001e3c58._1_1_ & 0xfc) == 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1a9c,"build_modrm_byte");\n          }\n          uVar9 = 1;\n          uVar22 = 5;\n        }\n        else {\n          uVar9 = (ulong)DAT_001e3c34;\n          uVar22 = 5;\n        }\n      }\n      goto LAB_001337c1;\n    }\n    uVar22 = 0xffffffff;\n    puVar10 = (undefined1 *)0x0;\n  }\n  else {\n    if (DAT_001e3c24 == 0) {\nLAB_0013303b:\n                    /* WARNING: Subroutine does not return */\n      FUN_0011dd00("../../gas/config/tc-i386.c",0x1b05,"build_modrm_byte");\n    }\n    if ((DAT_001e3c38._2_1_ & 0x5f) == 0) {\n      uVar9 = 1;\n      do {\n        uVar20 = uVar9 & 0xffffffff;\n        if (DAT_001e3c24 <= (uint)uVar9) goto LAB_0013303b;\n        puVar3 = &DAT_001e3c38 + uVar9;\n        uVar9 = uVar9 + 1;\n      } while ((*puVar3 & 0x5f0000) == 0);\n    }\n    else {\n      uVar20 = 0;\n    }\n    bVar21 = bVar21 & 0x30;\n    uVar22 = (uint)uVar20;\n    if (bVar21 == 0) {\nLAB_0013313d:\n      if (lVar13 != 0) goto LAB_00133146;\nLAB_00133448:\n      lVar13 = DAT_001e3cb8;\n      DAT_001e3cf4 = 0;\n      if (DAT_001e3c2c == 0) {\n        if (DAT_001e3cb8 == 0) {\n          iVar16 = 1;\n          goto LAB_00133cae;\n        }\n        if (bVar21 == 0) {\n          iVar16 = 1;\n          goto LAB_00133af0;\n        }\n        goto LAB_00133a60;\n      }\n      if (DAT_001e3cb8 != 0) {\n        if (bVar21 == 0) {\n          iVar16 = 0;\nLAB_00133af0:\n          uVar15 = (uint)*(byte *)(DAT_001e3cb8 + 0x11);\n          DAT_001e3cec = 4;\n          if ((byte)(*(byte *)(DAT_001e3cb8 + 0x11) + 4) < 2) {\n            uVar15 = 4;\n          }\n          _DAT_001e3d00 = CONCAT44(uVar15,5);\n          DAT_001e3d08 = DAT_001e3cc0;\n          lVar2 = uVar20 * 8;\n          bVar21 = *(byte *)((long)&DAT_001e3c38 + lVar2 + 2);\n          bVar24 = DAT_001e3b14 == 2;\n          *(byte *)((long)&DAT_001e3c38 + lVar2 + 2) = bVar21 & 0xec;\n          if ((bVar24) && (DAT_001e3ce6 == '\0')) {\n            *(byte *)((long)&DAT_001e3c38 + lVar2 + 2) = bVar21 & 0xe0 | 8;\n          }\n          else {\n            *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) =\n                 *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xf3 | 4;\n          }\n          puVar10 = ds;\n          if ((*(byte *)(lVar13 + 0x10) & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 2;\n          }\n          goto LAB_00133b80;\n        }\n        goto LAB_00133424;\n      }\n      iVar16 = 0;\nLAB_00133cae:\n      if (bVar21 != 0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1b33,"build_modrm_byte");\n      }\n      if (DAT_001e3b14 == 2) {\n        DAT_001e3cec = 4;\n        uVar17 = (uint)(DAT_001e3ce6 == '\0');\n        uVar15 = (uint)(DAT_001e3ce6 != '\0');\n        _DAT_001e3d00 = 0x400000005;\n        iVar8 = 0;\n      }\n      else if ((DAT_001e3b14 == 1) == (DAT_001e3ce6 != '\0')) {\n        DAT_001e3cec = 5;\n        uVar17 = 0;\n        uVar15 = 1;\n        iVar8 = 0;\n      }\n      else {\n        DAT_001e3cec = 6;\n        uVar17 = 0;\n        uVar15 = 0;\n        iVar8 = 1;\n      }\n      uVar23 = ~DAT_00153a64;\n      *(uint *)(&DAT_001e3c38 + uVar20) =\n           iVar8 << 0x11 | uVar15 << 0x12 | uVar17 << 0x13 |\n           ~DAT_00153a60 & *(uint *)(&DAT_001e3c38 + uVar20);\n      puVar10 = ds;\n      puVar1 = (uint *)((long)&DAT_001e3c38 + uVar20 * 8 + 4);\n      *puVar1 = *puVar1 & uVar23;\nLAB_00133b80:\n      if (iVar16 != 0) goto LAB_00133a67;\n    }\n    else {\n      cVar6 = *(char *)(DAT_001e3cb8 + 0x11);\n      if ((byte)(cVar6 + 4U) < 2) {\n                    /* WARNING: Subroutine does not return */\n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1b0b,"build_modrm_byte");\n      }\n      DAT_001e3cec = 4;\n      if (DAT_001e3cb0 == 0) {\n        _DAT_001e3d00 = 5;\n        DAT_001e3d08 = DAT_001e3cc0;\n        lVar4 = uVar20 * 8;\n        bVar7 = *(byte *)((long)&DAT_001e3c38 + lVar4 + 2);\n        bVar24 = DAT_001e3b14 == 2;\n        *(byte *)((long)&DAT_001e3c38 + lVar4 + 2) = bVar7 & 0xec;\n        if ((bVar24) && (DAT_001e3ce6 == '\0')) {\n          *(byte *)((long)&DAT_001e3c38 + lVar4 + 2) = bVar7 & 0xe0 | 8;\n        }\n        else {\n          *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) =\n               *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xf3 | 4;\n        }\n      }\n      _DAT_001e3d00 = (ulong)CONCAT14(cVar6,_DAT_001e3d00);\n      if ((*(byte *)(lVar2 + 0x10) & 1) != 0) {\n        DAT_001e3cf8 = DAT_001e3cf8 | 2;\n      }\n      if ((*(byte *)(lVar2 + 0x10) & 4) == 0) goto LAB_0013313d;\n      DAT_001e3cfc = DAT_001e3cfc | 2;\n      if (lVar13 == 0) goto LAB_00133448;\nLAB_00133146:\n      bVar7 = *(byte *)(lVar13 + 0x11);\n      if (bVar7 < 0xfe) {\n        if ((*(byte *)(lVar13 + 0xb) & 0x40) == 0) {\n          if ((DAT_001e3b14 == 2) &&\n             ((*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f) != 0)) {\n            lVar2 = (uVar20 + 0xe) * 8;\n            bVar14 = *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2);\n            bVar12 = bVar14 & 0xe1;\n            *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar14 & 0xed;\n            if (DAT_001e3ce6 == '\0') {\n              *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar12 | 8;\n            }\n            else {\n              *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar12 | 4;\n            }\n          }\n          if (bVar21 == 0) {\n            DAT_001e3cec = (uint)bVar7;\n          }\n          if ((*(byte *)(lVar13 + 0x10) & 1) == 0) {\n            puVar10 = ss;\n            if (1 < (byte)(bVar7 - 4)) {\n              puVar10 = ds;\n            }\n          }\n          else {\n            DAT_001e3cf8 = DAT_001e3cf8 | 1;\n            puVar10 = ds;\n          }\n          _DAT_001e3d00 = CONCAT44(DAT_001e3d04,(uint)bVar7);\n          iVar16 = 0;\n          if ((bVar7 == 5) && (iVar16 = 0, DAT_001e3c2c == 0)) {\n            iVar16 = 1;\n            pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n            *pbVar5 = *pbVar5 | 1;\n          }\n          iVar8 = DAT_001e3d40;\n          DAT_001e3d08 = DAT_001e3cc0;\n          if (DAT_001e3cb8 == 0) {\n            if (bVar21 != 0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1bbf,"build_modrm_byte");\n            }\n            _DAT_001e3d00 = CONCAT44(4,_DAT_001e3d00);\n          }\n          else if (bVar21 == 0) {\n            DAT_001e3cec = 4;\n            uVar15 = (uint)*(byte *)(DAT_001e3cb8 + 0x11);\n            if ((byte)(*(byte *)(DAT_001e3cb8 + 0x11) + 4) < 2) {\n              uVar15 = 4;\n            }\n            _DAT_001e3d00 = CONCAT44(uVar15,_DAT_001e3d00);\n            if ((*(byte *)(DAT_001e3cb8 + 0x10) & 1) != 0) {\n              DAT_001e3cf8 = DAT_001e3cf8 | 2;\n            }\n          }\n          if (DAT_001e3c2c == 0) {\n            if ((iVar16 == 0) && (iVar16 = iVar8, DAT_001e3d40 != 0)) {\n              if (DAT_001e3d40 == 1) {\n                pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n                *pbVar5 = *pbVar5 | 1;\n              }\n              else {\n                pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n                *pbVar5 = *pbVar5 | 4;\n                iVar16 = 1;\n              }\n            }\n          }\n          else if (((&DAT_001e3c9c)[uVar20] == 0x179) || ((&DAT_001e3c9c)[uVar20] == 0x195)) {\n            DAT_001e3cf4 = 0;\n            goto LAB_00133b80;\n          }\n        }\n        else {\n          if (bVar21 != 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1b7c,"build_modrm_byte");\n          }\n          if (bVar7 == 3) {\n            if (DAT_001e3cb8 != 0) {\n              DAT_001e3cec = *(byte *)(DAT_001e3cb8 + 0x11) - 6;\n              goto LAB_0013317e;\n            }\n            DAT_001e3cec = 7;\n            puVar10 = ds;\n            iVar16 = 0;\n          }\n          else if (bVar7 == 5) {\n            if (DAT_001e3cb8 == 0) {\n              puVar10 = ss;\n              DAT_001e3cec = 6;\n              iVar16 = 0;\n              if ((*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f) == 0) {\n                pbVar5 = (byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2);\n                *pbVar5 = *pbVar5 | 1;\n                iVar16 = 1;\n              }\n            }\n            else {\n              DAT_001e3cec = *(byte *)(DAT_001e3cb8 + 0x11) - 4;\n              puVar10 = ss;\n              iVar16 = 0;\n            }\n          }\n          else {\n            DAT_001e3cec = bVar7 - 2;\nLAB_0013317e:\n            iVar16 = 0;\n            puVar10 = ds;\n          }\n        }\n        DAT_001e3cf4 = 1;\n        if (((ulong)(&DAT_001e3c38)[uVar20] >> 0x10 & 1) == 0) {\n          DAT_001e3cf4 = (uint)(((&DAT_001e3c38)[uVar20] & 0xe0000) != 0) * 2;\n        }\n        goto LAB_00133b80;\n      }\n      if (bVar21 != 0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1b6f,"build_modrm_byte");\n      }\n      DAT_001e3cec = 5;\n      *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) =\n           *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xe0 | 8;\n      uVar15 = DAT_001e3c2c;\n      (&DAT_001e3c88)[uVar20] = (&DAT_001e3c88)[uVar20] | 1;\n      if (uVar15 != 0) {\nLAB_00133424:\n        puVar10 = ds;\n        goto LAB_00133089;\n      }\nLAB_00133a60:\n      puVar10 = ds;\nLAB_00133a67:\n      if ((&DAT_001e3bc0)[uVar20 + 0x14] != 0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1bed,"build_modrm_byte");\n      }\n      uVar9 = (ulong)DAT_001e3c2c;\n      DAT_001e3c2c = DAT_001e3c2c + 1;\n      lVar13 = uVar9 * 0x20;\n      (&DAT_001e3bc0)[uVar20 + 0x14] = &DAT_001e3b60 + lVar13;\n      (&DAT_001e3b78)[lVar13] = 2;\n      *(undefined8 *)(&DAT_001e3b70 + lVar13) = 0;\n      *(undefined8 *)(&DAT_001e3b60 + lVar13) = 0;\n      *(undefined8 *)(&DAT_001e3b68 + lVar13) = 0;\n    }\n    bVar14 = DAT_001e3bee & 0xc;\n  }\nLAB_00133089:\n  if (bVar14 == 4) {\n    if ((DAT_001e3c38._1_1_ & 0xfc) == 0) {\n      if ((DAT_001e3bed & 0x60) == 0x20) {\n        DAT_001e3d18 = DAT_001e3c60;\n      }\n      else {\n        DAT_001e3d18 = DAT_001e3c68;\n      }\n    }\n    else {\n      DAT_001e3d18 = 0;\n    }\n    DAT_001e3cf0 = (uint)*(byte *)(DAT_001e3c70 + 0x11);\n    if ((*(byte *)(DAT_001e3c70 + 0x10) & 1) != 0) {\n      DAT_001e3cf8 = DAT_001e3cf8 | 4;\n    }\n    if (DAT_001e3c30 != 0) goto LAB_001330bc;\n    if ((DAT_001e3bed & 0x60) == 0x20) {\n      bVar21 = *(byte *)(DAT_001e3c68 + 0x11);\n    }\n    else {\n      bVar21 = *(byte *)(DAT_001e3c60 + 0x11);\n    }\n    bVar19 = *(byte *)(DAT_001e3c68 + 0x10);\n  }\n  else {\n    bVar21 = DAT_001e3bed & 0x18;\n    if (bVar21 != 0x18) {\n      if (DAT_001e3c28 == 0) goto LAB_001330bc;\n      if ((((DAT_001e3c24 == 0) || (((byte)DAT_001e3c38 & 1) != 0)) ||\n          (((byte)DAT_001e3c38 & 2) != 0)) ||\n         ((((byte)DAT_001e3c38 & 4) != 0 || ((DAT_001e3c38._5_1_ & 2) != 0)))) {\n        uVar20 = 0;\n      }\n      else {\n        uVar20 = 0;\n        if (((byte)DAT_001e3c38 & 8) == 0) {\n          uVar9 = 0;\n          while( true ) {\n            bVar14 = *(byte *)(&DAT_001e3bc8 + (uVar9 + 0xe) * 2);\n            if ((((char)bVar14 < '\0') ||\n                ((*(byte *)((long)&DAT_001e3bc8 + (uVar9 + 0xe) * 8 + 1) & 1) != 0)) ||\n               (((bVar14 & 0x10) != 0 || (((bVar14 & 0x20) != 0 || ((bVar14 & 0x40) != 0))))))\n            goto LAB_00133670;\n            uVar15 = (int)uVar20 + 1;\n            uVar20 = (ulong)uVar15;\n            if (DAT_001e3c24 == uVar15) break;\n            uVar9 = (ulong)uVar15;\n            bVar14 = *(byte *)(&DAT_001e3bc8 + (uVar9 + 0xe) * 2);\n            if (((((bVar14 & 1) != 0) || ((bVar14 & 2) != 0)) || ((bVar14 & 4) != 0)) ||\n               (((*(byte *)((long)&DAT_001e3bcc + (uVar9 + 0xe) * 8 + 1) & 2) != 0 ||\n                ((*(byte *)(&DAT_001e3c38 + uVar9) & 8) != 0)))) goto LAB_00133670;\n          }\n          uVar20 = (ulong)DAT_001e3c24;\n        }\n      }\nLAB_00133670:\n      uVar15 = (uint)uVar20;\n      if (bVar19 == 8) {\n        uVar15 = 0xffffffff;\n        uVar20 = uVar18;\nLAB_00133b96:\n        if (uVar15 != (uint)uVar20) goto LAB_001336a6;\n        if (DAT_001e3c30 != 0) goto LAB_001330bc;\n      }\n      else {\n        uVar18 = uVar20;\n        if (bVar21 == 8) {\n          if (uVar22 == 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1c44,"build_modrm_byte");\n          }\n          uVar17 = uVar15 + 1;\n          uVar18 = (ulong)uVar17;\n          uVar9 = uVar20;\n          if (uVar22 < uVar15) {\n            if (DAT_001e3c24 <= uVar17) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c49,"build_modrm_byte");\n            }\n          }\n          else if ((((&DAT_001e3bf6)[uVar20 * 8] & 0x40) == 0) &&\n                  (((&DAT_001e3bf6)[uVar18 * 8] & 0x40) != 0)) {\n            if ((DAT_001e3c24 <= uVar15 + 2) || (uVar22 != uVar17)) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c55,"build_modrm_byte");\n            }\n            uVar18 = (ulong)(uVar15 + 2);\n          }\n          else {\n            uVar9 = uVar18;\n            uVar18 = uVar20;\n            uVar15 = uVar17;\n            if (DAT_001e3c24 <= uVar17) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c5a,"build_modrm_byte");\n            }\n          }\nLAB_00133e49:\n          lVar13 = uVar9 + 6;\n          bVar21 = *(byte *)((long)&DAT_001e3bc0 + lVar13 * 8 + 4);\n          if ((((bVar21 & 1) == 0) ||\n              ((-1 < *(char *)((long)&DAT_001e3bc0 + lVar13 * 8 + 7) &&\n               ((*(byte *)(&DAT_001e3bc8 + lVar13 * 2) & 2) == 0)))) &&\n             (((bVar21 & 4) == 0 &&\n              ((*(uint *)(&DAT_001e3bf8 + uVar9 * 8) != DAT_00153a54 ||\n               (*(int *)(&DAT_001e3bf4 + uVar9 * 8) != DAT_00153a50)))))) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1c7b,"build_modrm_byte");\n          }\n          DAT_001e3d18 = (&DAT_001e3c60)[uVar9];\n          uVar20 = uVar18;\n          goto LAB_00133b96;\n        }\n        if (bVar21 == 0x10) {\n          if (DAT_001e3c30 == 0) {\n            if (DAT_001e3c24 != uVar15 + 2) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c65,"build_modrm_byte");\n            }\n            uVar9 = (ulong)(uVar15 + 1);\n            uVar15 = uVar15 + 1;\n          }\n          else {\n            if ((DAT_001e3c34 + 2 <= uVar15) || (DAT_001e3c24 != DAT_001e3c34 + 2)) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c6c,"build_modrm_byte");\n            }\n            uVar15 = DAT_001e3c34 + 1;\n            if (uVar15 == 0xffffffff) goto LAB_001336a6;\n            uVar9 = (ulong)uVar15;\n          }\n          goto LAB_00133e49;\n        }\n        if (DAT_001e3c24 <= uVar15) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0011dd00("../../gas/config/tc-i386.c",0x1c71,"build_modrm_byte");\n        }\nLAB_001336a6:\n        if (DAT_001e3bd0 == 0xffff) {\n          DAT_001e3cf0 = (uint)*(byte *)((&DAT_001e3c60)[uVar20] + 0x11);\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar20] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 4;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 4;\n          }\n          if (DAT_001e3c30 == 0) {\n            DAT_001e3cf4 = 3;\n            return puVar10;\n          }\n          return puVar10;\n        }\n        DAT_001e3cec = (uint)*(byte *)((&DAT_001e3c60)[uVar20] + 0x11);\n        bVar21 = *(byte *)((&DAT_001e3c60)[uVar20] + 0x10);\n        if ((bVar21 & 1) != 0) {\n          DAT_001e3cf8 = DAT_001e3cf8 | 1;\n        }\n        if ((bVar21 & 4) != 0) {\n          DAT_001e3cfc = DAT_001e3cfc | 1;\n        }\n        if (DAT_001e3c30 != 0) {\n          DAT_001e3cf0 = DAT_001e3bd0;\n          return puVar10;\n        }\n      }\n      DAT_001e3cf4 = 3;\n      goto LAB_001330bc;\n    }\n    DAT_001e3d18 = DAT_001e3c70;\n    if (DAT_001e3c30 != 0) goto LAB_001330bc;\n    bVar21 = *(byte *)(DAT_001e3c68 + 0x11);\n    bVar19 = *(byte *)(DAT_001e3c68 + 0x10);\n  }\n  DAT_001e3cec = (uint)bVar21;\n  DAT_001e3cf4 = 3;\n  if ((bVar19 & 1) != 0) {\n    DAT_001e3cf4 = 3;\n    DAT_001e3cf8 = DAT_001e3cf8 | 1;\n  }\nLAB_001330bc:\n  if (DAT_001e3bd0 != 0xffff) {\n    DAT_001e3cf0 = DAT_001e3bd0;\n    return puVar10;\n  }\n  return puVar10;\n}" type_identifier (pointer_declarator "* FUN_00132fc0(void)" * (function_declarator "FUN_00132fc0(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) )))) (compound_statement "{\n  uint *puVar1;\n  long lVar2;\n  ulong *puVar3;\n  long lVar4;\n  byte *pbVar5;\n  char cVar6;\n  byte bVar7;\n  int iVar8;\n  ulong uVar9;\n  undefined1 *puVar10;\n  ulong uVar11;\n  byte bVar12;\n  long lVar13;\n  byte bVar14;\n  uint uVar15;\n  int iVar16;\n  uint uVar17;\n  ulong uVar18;\n  byte bVar19;\n  ulong uVar20;\n  byte bVar21;\n  uint uVar22;\n  uint uVar23;\n  bool bVar24;\n  \n  bVar21 = DAT_001e3bee;\n  uVar18 = 0;\n  uVar20 = 0;\n  bVar19 = DAT_001e3bee & 0xc;\n  if (bVar19 == 8) {\n    uVar22 = DAT_001e3c24 - 1;\n    uVar18 = (ulong)uVar22;\n    uVar15 = DAT_001e3c24 - 2;\n    if (((DAT_001e3c28 != 4) && ((DAT_001e3c28 != 3 || (DAT_001e3c30 != 1)))) ||\n       (((DAT_001e3bed & 0x18) != 8 ||\n        (((DAT_001e3bed & 0x60) == 0 || (((&DAT_001e3bf4)[uVar18 * 8] & 4) == 0)))))) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0011dd00("../../gas/config/tc-i386.c",0x1a12,"build_modrm_byte");\n    }\n    uVar9 = (ulong)DAT_001e3c34;\n    uVar20 = (ulong)(DAT_001e3c34 + 1);\n    if ((DAT_001e3bed & 0x60) == 0x40) {\n      uVar20 = (ulong)DAT_001e3c34;\n      uVar9 = (ulong)(DAT_001e3c34 + 1);\n    }\n    if (DAT_001e3c34 == 0) {\n      uVar11 = (ulong)DAT_001e3c24;\n      DAT_001e3c24 = DAT_001e3c24 + 1;\n      DAT_001e3c34 = 1;\n      (&DAT_001e3c60)[uVar11] = (long)&DAT_001e3b20;\n      lVar13 = uVar11 + 0xe;\n      *(undefined8 *)(&DAT_001e3bc8 + lVar13 * 2) = 0;\n      *(undefined1 *)((long)&DAT_001e3bc8 + lVar13 * 8 + 1) = 4;\n      if (((&DAT_001e3bf4)[uVar9 * 8] & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a2a,"build_modrm_byte");\n      }\n      DAT_001e3b38 = 2;\n      bVar14 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10);\n      bVar7 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x11);\n      uVar22 = (uint)bVar7;\n      if ((bVar14 & 1) != 0) {\n        uVar22 = bVar7 + 8;\n      }\n      if ((bVar14 & 4) != 0) {\n        _DAT_001e3b30 = (ulong)((uVar22 + 0x10) * 0x10);\n                    /* WARNING: Subroutine does not return */\n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a2d,"build_modrm_byte");\n      }\n      _DAT_001e3b30 = (ulong)(uVar22 << 4);\n    }\n    else {\n      if ((DAT_001e3c34 != 1) || ((DAT_001e3c38._5_1_ & 1) == 0)) {\n                    /* WARNING: Subroutine does not return */\n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a33,"build_modrm_byte");\n      }\n      if ((DAT_001e3bec & 0x20) == 0) {\n        DAT_001e3c38._1_1_ = DAT_001e3c38._1_1_ | 4;\n        uVar22 = 0;\n      }\n      else {\n        uVar20 = (ulong)((int)uVar20 - 1);\n        uVar9 = (ulong)((int)uVar9 - 1);\n      }\n      if (((&DAT_001e3bf4)[uVar9 * 8] & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a45,"build_modrm_byte");\n      }\n      bVar14 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10);\n      bVar7 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x11);\n      uVar17 = (uint)bVar7;\n      if ((bVar14 & 1) != 0) {\n        uVar17 = bVar7 + 8;\n      }\n      lVar13 = (&DAT_001e3c60)[uVar22];\n      if ((bVar14 & 4) != 0) {\n        *(ulong *)(lVar13 + 0x10) = (ulong)((uVar17 + 0x10) * 0x10) | *(ulong *)(lVar13 + 0x10);\n                    /* WARNING: Subroutine does not return */\n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a48,"build_modrm_byte");\n      }\n      *(ulong *)(lVar13 + 0x10) = (ulong)(uVar17 << 4) | *(ulong *)(lVar13 + 0x10);\n    }\n    if (((&DAT_001e3bf4)[(ulong)uVar15 * 8] & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0011dd00("../../gas/config/tc-i386.c",0x1a4b,"build_modrm_byte");\n    }\n    DAT_001e3d18 = (&DAT_001e3c60)[uVar15];\n  }\n  lVar2 = DAT_001e3cb8;\n  lVar13 = DAT_001e3cb0;\n  uVar9 = (ulong)DAT_001e3c30;\n  bVar14 = bVar19;\n  if (DAT_001e3c30 == 0) {\n    if (DAT_001e3c28 == 2) {\n      if ((DAT_001e3bed >> 3 & 3) < 2) {\nLAB_0013335b:\n        if (DAT_001e3c24 == 3) {\nLAB_00133ea8:\n          if ((DAT_001e3c34 != 1) &&\n             ((DAT_001e3c34 != 0 ||\n              (((DAT_001e3bed & 0x18) != 8 && ((DAT_001e3c38._3_1_ & 1) == 0)))))) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1a6b,"build_modrm_byte");\n          }\n          uVar9 = (ulong)((DAT_001e3c38._1_1_ & 0xfc) != 0 || (DAT_001e3c38._3_1_ & 1) != 0);\n          uVar22 = 3;\n        }\n        else if (DAT_001e3c24 < 4) {\n          uVar22 = DAT_001e3c24;\n          if (DAT_001e3c24 != 2) goto LAB_00133dcf;\n        }\n        else {\n          if (DAT_001e3c24 != 4) goto joined_r0x00133753;\nLAB_00133379:\n          uVar9 = (ulong)DAT_001e3c34;\n          if (DAT_001e3c34 == 2) {\n            if (((DAT_001e3c38._1_1_ & 4) == 0) || ((DAT_001e3c40._1_1_ & 4) == 0))\n            goto LAB_00133d61;\n          }\n          else {\n            if ((((DAT_001e3bed & 0x18) != 8) || (DAT_001e3c34 != 1)) ||\n               ((((DAT_001e3c38._1_1_ & 4) == 0 && ((DAT_001e3c50._1_1_ & 4) == 0)) &&\n                (DAT_001e3d28 == 0)))) {\nLAB_00133d61:\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1a81,"build_modrm_byte");\n            }\n            uVar9 = (ulong)((DAT_001e3c38._1_1_ & 4) != 0);\n          }\n          uVar22 = 4;\n        }\nLAB_001337c1:\n        if (bVar19 != 8) {\n          uVar15 = (int)uVar9 + 1;\n          uVar18 = (ulong)uVar15;\n          if ((DAT_001e3d28 != 0) && (*(uint *)(DAT_001e3d28 + 4) == uVar15)) {\n            uVar18 = (ulong)((int)uVar9 + 2);\n          }\n          if ((DAT_001e3bed & 0x18) == 8) {\n            uVar20 = uVar9;\n            uVar11 = uVar18;\n            if ((((&DAT_001e3bf6)[uVar9 * 8] & 0x40) == 0) &&\n               (((&DAT_001e3bf6)[uVar18 * 8] & 0x40) != 0)) {\n              uVar20 = uVar18;\n              uVar11 = uVar9;\n            }\n            uVar15 = (int)uVar18 + 1;\n            uVar18 = (ulong)uVar15;\n            uVar9 = *(ulong *)((long)&DAT_001e3bc0 + (uVar11 + 6) * 8 + 4);\n            if ((uVar22 <= uVar15) ||\n               ((((uVar9 & 1) == 0 ||\n                 ((-1 < (char)((uVar9 & 0xfffffffff7ffffff) >> 0x18) &&\n                  (((&DAT_001e3bc8)[(uVar11 + 6) * 2] & 2) == 0)))) &&\n                (((uVar9 & 4) == 0 &&\n                 ((DAT_00153a50 != (int)(uVar9 & 0xfffffffff7ffffff) ||\n                  (DAT_00153a54 != (&DAT_001e3bc8)[(uVar11 + 6) * 2])))))))) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1ac9,"build_modrm_byte");\n            }\n            DAT_001e3d18 = (&DAT_001e3c60)[uVar11];\n            uVar9 = uVar20;\n          }\n        }\nLAB_001337ff:\n        DAT_001e3cf4 = 3;\n        if (((*(byte *)((long)&DAT_001e3bc0 + (uVar18 + 6) * 8 + 7) & 8) == 0) &&\n           ((*(ulong *)((long)&DAT_001e3bc0 + (uVar18 + 6) * 8 + 4) & 0x5f0000) == 0)) {\n          DAT_001e3cf0 = (uint)*(byte *)((&DAT_001e3c60)[uVar18] + 0x11);\n          DAT_001e3cec = (uint)*(byte *)((&DAT_001e3c60)[uVar9] + 0x11);\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar18] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 4;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 4;\n          }\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 1;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 1;\n          }\n        }\n        else {\n          DAT_001e3cf0 = (uint)*(byte *)((&DAT_001e3c60)[uVar9] + 0x11);\n          DAT_001e3cec = (uint)*(byte *)((&DAT_001e3c60)[uVar18] + 0x11);\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar18] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 1;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 1;\n          }\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 4;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 4;\n          }\n        }\n        if ((DAT_001e3b14 != 2) && ((DAT_001e3cf8 & 4) != 0)) {\n          if ((*(byte *)(&DAT_001e3bc8 + ((ulong)(DAT_001e3bf7 >> 3 & 1) + 0xe) * 2) & 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1af4,"build_modrm_byte");\n          }\n          DAT_001e3cf8 = DAT_001e3cf8 & 0xfffffffb;\n          FUN_00131f90(0xf0);\n          return (undefined1 *)0x0;\n        }\n        DAT_001e3cf4 = 3;\n        return (undefined1 *)0x0;\n      }\n    }\n    else if (DAT_001e3c28 == 3) {\n      if ((DAT_001e3bed & 0x18) == 8) goto LAB_0013335b;\n    }\n    else if ((DAT_001e3c28 == 4) && (bVar19 == 8)) {\n      if (DAT_001e3c24 == 3) goto LAB_00133ea8;\n      if (DAT_001e3c24 < 4) {\n        if (DAT_001e3c24 != 2) goto LAB_00133dcf;\n        goto LAB_001337ff;\n      }\n      if (DAT_001e3c24 == 4) goto LAB_00133379;\njoined_r0x00133753:\n      if (DAT_001e3c24 != 5) {\nLAB_00133dcf:\n                    /* WARNING: Subroutine does not return */\n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1aa0,"build_modrm_byte");\n      }\n      if (DAT_001e3bef == '\0') {\n        uVar9 = uVar20;\n        uVar22 = 5;\n      }\n      else {\n        if (((DAT_001e3c34 != 2) || (-1 < DAT_001e3bef)) || ((DAT_001e3c38._1_1_ & 0xfc) == 0)) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0011dd00("../../gas/config/tc-i386.c",0x1a96,"build_modrm_byte");\n        }\n        if ((DAT_001e3c40._1_1_ & 0xfc) == 0) {\n          if ((DAT_001e3c58._1_1_ & 0xfc) == 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1a9c,"build_modrm_byte");\n          }\n          uVar9 = 1;\n          uVar22 = 5;\n        }\n        else {\n          uVar9 = (ulong)DAT_001e3c34;\n          uVar22 = 5;\n        }\n      }\n      goto LAB_001337c1;\n    }\n    uVar22 = 0xffffffff;\n    puVar10 = (undefined1 *)0x0;\n  }\n  else {\n    if (DAT_001e3c24 == 0) {\nLAB_0013303b:\n                    /* WARNING: Subroutine does not return */\n      FUN_0011dd00("../../gas/config/tc-i386.c",0x1b05,"build_modrm_byte");\n    }\n    if ((DAT_001e3c38._2_1_ & 0x5f) == 0) {\n      uVar9 = 1;\n      do {\n        uVar20 = uVar9 & 0xffffffff;\n        if (DAT_001e3c24 <= (uint)uVar9) goto LAB_0013303b;\n        puVar3 = &DAT_001e3c38 + uVar9;\n        uVar9 = uVar9 + 1;\n      } while ((*puVar3 & 0x5f0000) == 0);\n    }\n    else {\n      uVar20 = 0;\n    }\n    bVar21 = bVar21 & 0x30;\n    uVar22 = (uint)uVar20;\n    if (bVar21 == 0) {\nLAB_0013313d:\n      if (lVar13 != 0) goto LAB_00133146;\nLAB_00133448:\n      lVar13 = DAT_001e3cb8;\n      DAT_001e3cf4 = 0;\n      if (DAT_001e3c2c == 0) {\n        if (DAT_001e3cb8 == 0) {\n          iVar16 = 1;\n          goto LAB_00133cae;\n        }\n        if (bVar21 == 0) {\n          iVar16 = 1;\n          goto LAB_00133af0;\n        }\n        goto LAB_00133a60;\n      }\n      if (DAT_001e3cb8 != 0) {\n        if (bVar21 == 0) {\n          iVar16 = 0;\nLAB_00133af0:\n          uVar15 = (uint)*(byte *)(DAT_001e3cb8 + 0x11);\n          DAT_001e3cec = 4;\n          if ((byte)(*(byte *)(DAT_001e3cb8 + 0x11) + 4) < 2) {\n            uVar15 = 4;\n          }\n          _DAT_001e3d00 = CONCAT44(uVar15,5);\n          DAT_001e3d08 = DAT_001e3cc0;\n          lVar2 = uVar20 * 8;\n          bVar21 = *(byte *)((long)&DAT_001e3c38 + lVar2 + 2);\n          bVar24 = DAT_001e3b14 == 2;\n          *(byte *)((long)&DAT_001e3c38 + lVar2 + 2) = bVar21 & 0xec;\n          if ((bVar24) && (DAT_001e3ce6 == '\0')) {\n            *(byte *)((long)&DAT_001e3c38 + lVar2 + 2) = bVar21 & 0xe0 | 8;\n          }\n          else {\n            *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) =\n                 *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xf3 | 4;\n          }\n          puVar10 = ds;\n          if ((*(byte *)(lVar13 + 0x10) & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 2;\n          }\n          goto LAB_00133b80;\n        }\n        goto LAB_00133424;\n      }\n      iVar16 = 0;\nLAB_00133cae:\n      if (bVar21 != 0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1b33,"build_modrm_byte");\n      }\n      if (DAT_001e3b14 == 2) {\n        DAT_001e3cec = 4;\n        uVar17 = (uint)(DAT_001e3ce6 == '\0');\n        uVar15 = (uint)(DAT_001e3ce6 != '\0');\n        _DAT_001e3d00 = 0x400000005;\n        iVar8 = 0;\n      }\n      else if ((DAT_001e3b14 == 1) == (DAT_001e3ce6 != '\0')) {\n        DAT_001e3cec = 5;\n        uVar17 = 0;\n        uVar15 = 1;\n        iVar8 = 0;\n      }\n      else {\n        DAT_001e3cec = 6;\n        uVar17 = 0;\n        uVar15 = 0;\n        iVar8 = 1;\n      }\n      uVar23 = ~DAT_00153a64;\n      *(uint *)(&DAT_001e3c38 + uVar20) =\n           iVar8 << 0x11 | uVar15 << 0x12 | uVar17 << 0x13 |\n           ~DAT_00153a60 & *(uint *)(&DAT_001e3c38 + uVar20);\n      puVar10 = ds;\n      puVar1 = (uint *)((long)&DAT_001e3c38 + uVar20 * 8 + 4);\n      *puVar1 = *puVar1 & uVar23;\nLAB_00133b80:\n      if (iVar16 != 0) goto LAB_00133a67;\n    }\n    else {\n      cVar6 = *(char *)(DAT_001e3cb8 + 0x11);\n      if ((byte)(cVar6 + 4U) < 2) {\n                    /* WARNING: Subroutine does not return */\n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1b0b,"build_modrm_byte");\n      }\n      DAT_001e3cec = 4;\n      if (DAT_001e3cb0 == 0) {\n        _DAT_001e3d00 = 5;\n        DAT_001e3d08 = DAT_001e3cc0;\n        lVar4 = uVar20 * 8;\n        bVar7 = *(byte *)((long)&DAT_001e3c38 + lVar4 + 2);\n        bVar24 = DAT_001e3b14 == 2;\n        *(byte *)((long)&DAT_001e3c38 + lVar4 + 2) = bVar7 & 0xec;\n        if ((bVar24) && (DAT_001e3ce6 == '\0')) {\n          *(byte *)((long)&DAT_001e3c38 + lVar4 + 2) = bVar7 & 0xe0 | 8;\n        }\n        else {\n          *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) =\n               *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xf3 | 4;\n        }\n      }\n      _DAT_001e3d00 = (ulong)CONCAT14(cVar6,_DAT_001e3d00);\n      if ((*(byte *)(lVar2 + 0x10) & 1) != 0) {\n        DAT_001e3cf8 = DAT_001e3cf8 | 2;\n      }\n      if ((*(byte *)(lVar2 + 0x10) & 4) == 0) goto LAB_0013313d;\n      DAT_001e3cfc = DAT_001e3cfc | 2;\n      if (lVar13 == 0) goto LAB_00133448;\nLAB_00133146:\n      bVar7 = *(byte *)(lVar13 + 0x11);\n      if (bVar7 < 0xfe) {\n        if ((*(byte *)(lVar13 + 0xb) & 0x40) == 0) {\n          if ((DAT_001e3b14 == 2) &&\n             ((*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f) != 0)) {\n            lVar2 = (uVar20 + 0xe) * 8;\n            bVar14 = *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2);\n            bVar12 = bVar14 & 0xe1;\n            *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar14 & 0xed;\n            if (DAT_001e3ce6 == '\0') {\n              *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar12 | 8;\n            }\n            else {\n              *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar12 | 4;\n            }\n          }\n          if (bVar21 == 0) {\n            DAT_001e3cec = (uint)bVar7;\n          }\n          if ((*(byte *)(lVar13 + 0x10) & 1) == 0) {\n            puVar10 = ss;\n            if (1 < (byte)(bVar7 - 4)) {\n              puVar10 = ds;\n            }\n          }\n          else {\n            DAT_001e3cf8 = DAT_001e3cf8 | 1;\n            puVar10 = ds;\n          }\n          _DAT_001e3d00 = CONCAT44(DAT_001e3d04,(uint)bVar7);\n          iVar16 = 0;\n          if ((bVar7 == 5) && (iVar16 = 0, DAT_001e3c2c == 0)) {\n            iVar16 = 1;\n            pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n            *pbVar5 = *pbVar5 | 1;\n          }\n          iVar8 = DAT_001e3d40;\n          DAT_001e3d08 = DAT_001e3cc0;\n          if (DAT_001e3cb8 == 0) {\n            if (bVar21 != 0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1bbf,"build_modrm_byte");\n            }\n            _DAT_001e3d00 = CONCAT44(4,_DAT_001e3d00);\n          }\n          else if (bVar21 == 0) {\n            DAT_001e3cec = 4;\n            uVar15 = (uint)*(byte *)(DAT_001e3cb8 + 0x11);\n            if ((byte)(*(byte *)(DAT_001e3cb8 + 0x11) + 4) < 2) {\n              uVar15 = 4;\n            }\n            _DAT_001e3d00 = CONCAT44(uVar15,_DAT_001e3d00);\n            if ((*(byte *)(DAT_001e3cb8 + 0x10) & 1) != 0) {\n              DAT_001e3cf8 = DAT_001e3cf8 | 2;\n            }\n          }\n          if (DAT_001e3c2c == 0) {\n            if ((iVar16 == 0) && (iVar16 = iVar8, DAT_001e3d40 != 0)) {\n              if (DAT_001e3d40 == 1) {\n                pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n                *pbVar5 = *pbVar5 | 1;\n              }\n              else {\n                pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n                *pbVar5 = *pbVar5 | 4;\n                iVar16 = 1;\n              }\n            }\n          }\n          else if (((&DAT_001e3c9c)[uVar20] == 0x179) || ((&DAT_001e3c9c)[uVar20] == 0x195)) {\n            DAT_001e3cf4 = 0;\n            goto LAB_00133b80;\n          }\n        }\n        else {\n          if (bVar21 != 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1b7c,"build_modrm_byte");\n          }\n          if (bVar7 == 3) {\n            if (DAT_001e3cb8 != 0) {\n              DAT_001e3cec = *(byte *)(DAT_001e3cb8 + 0x11) - 6;\n              goto LAB_0013317e;\n            }\n            DAT_001e3cec = 7;\n            puVar10 = ds;\n            iVar16 = 0;\n          }\n          else if (bVar7 == 5) {\n            if (DAT_001e3cb8 == 0) {\n              puVar10 = ss;\n              DAT_001e3cec = 6;\n              iVar16 = 0;\n              if ((*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f) == 0) {\n                pbVar5 = (byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2);\n                *pbVar5 = *pbVar5 | 1;\n                iVar16 = 1;\n              }\n            }\n            else {\n              DAT_001e3cec = *(byte *)(DAT_001e3cb8 + 0x11) - 4;\n              puVar10 = ss;\n              iVar16 = 0;\n            }\n          }\n          else {\n            DAT_001e3cec = bVar7 - 2;\nLAB_0013317e:\n            iVar16 = 0;\n            puVar10 = ds;\n          }\n        }\n        DAT_001e3cf4 = 1;\n        if (((ulong)(&DAT_001e3c38)[uVar20] >> 0x10 & 1) == 0) {\n          DAT_001e3cf4 = (uint)(((&DAT_001e3c38)[uVar20] & 0xe0000) != 0) * 2;\n        }\n        goto LAB_00133b80;\n      }\n      if (bVar21 != 0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1b6f,"build_modrm_byte");\n      }\n      DAT_001e3cec = 5;\n      *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) =\n           *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xe0 | 8;\n      uVar15 = DAT_001e3c2c;\n      (&DAT_001e3c88)[uVar20] = (&DAT_001e3c88)[uVar20] | 1;\n      if (uVar15 != 0) {\nLAB_00133424:\n        puVar10 = ds;\n        goto LAB_00133089;\n      }\nLAB_00133a60:\n      puVar10 = ds;\nLAB_00133a67:\n      if ((&DAT_001e3bc0)[uVar20 + 0x14] != 0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1bed,"build_modrm_byte");\n      }\n      uVar9 = (ulong)DAT_001e3c2c;\n      DAT_001e3c2c = DAT_001e3c2c + 1;\n      lVar13 = uVar9 * 0x20;\n      (&DAT_001e3bc0)[uVar20 + 0x14] = &DAT_001e3b60 + lVar13;\n      (&DAT_001e3b78)[lVar13] = 2;\n      *(undefined8 *)(&DAT_001e3b70 + lVar13) = 0;\n      *(undefined8 *)(&DAT_001e3b60 + lVar13) = 0;\n      *(undefined8 *)(&DAT_001e3b68 + lVar13) = 0;\n    }\n    bVar14 = DAT_001e3bee & 0xc;\n  }\nLAB_00133089:\n  if (bVar14 == 4) {\n    if ((DAT_001e3c38._1_1_ & 0xfc) == 0) {\n      if ((DAT_001e3bed & 0x60) == 0x20) {\n        DAT_001e3d18 = DAT_001e3c60;\n      }\n      else {\n        DAT_001e3d18 = DAT_001e3c68;\n      }\n    }\n    else {\n      DAT_001e3d18 = 0;\n    }\n    DAT_001e3cf0 = (uint)*(byte *)(DAT_001e3c70 + 0x11);\n    if ((*(byte *)(DAT_001e3c70 + 0x10) & 1) != 0) {\n      DAT_001e3cf8 = DAT_001e3cf8 | 4;\n    }\n    if (DAT_001e3c30 != 0) goto LAB_001330bc;\n    if ((DAT_001e3bed & 0x60) == 0x20) {\n      bVar21 = *(byte *)(DAT_001e3c68 + 0x11);\n    }\n    else {\n      bVar21 = *(byte *)(DAT_001e3c60 + 0x11);\n    }\n    bVar19 = *(byte *)(DAT_001e3c68 + 0x10);\n  }\n  else {\n    bVar21 = DAT_001e3bed & 0x18;\n    if (bVar21 != 0x18) {\n      if (DAT_001e3c28 == 0) goto LAB_001330bc;\n      if ((((DAT_001e3c24 == 0) || (((byte)DAT_001e3c38 & 1) != 0)) ||\n          (((byte)DAT_001e3c38 & 2) != 0)) ||\n         ((((byte)DAT_001e3c38 & 4) != 0 || ((DAT_001e3c38._5_1_ & 2) != 0)))) {\n        uVar20 = 0;\n      }\n      else {\n        uVar20 = 0;\n        if (((byte)DAT_001e3c38 & 8) == 0) {\n          uVar9 = 0;\n          while( true ) {\n            bVar14 = *(byte *)(&DAT_001e3bc8 + (uVar9 + 0xe) * 2);\n            if ((((char)bVar14 < '\0') ||\n                ((*(byte *)((long)&DAT_001e3bc8 + (uVar9 + 0xe) * 8 + 1) & 1) != 0)) ||\n               (((bVar14 & 0x10) != 0 || (((bVar14 & 0x20) != 0 || ((bVar14 & 0x40) != 0))))))\n            goto LAB_00133670;\n            uVar15 = (int)uVar20 + 1;\n            uVar20 = (ulong)uVar15;\n            if (DAT_001e3c24 == uVar15) break;\n            uVar9 = (ulong)uVar15;\n            bVar14 = *(byte *)(&DAT_001e3bc8 + (uVar9 + 0xe) * 2);\n            if (((((bVar14 & 1) != 0) || ((bVar14 & 2) != 0)) || ((bVar14 & 4) != 0)) ||\n               (((*(byte *)((long)&DAT_001e3bcc + (uVar9 + 0xe) * 8 + 1) & 2) != 0 ||\n                ((*(byte *)(&DAT_001e3c38 + uVar9) & 8) != 0)))) goto LAB_00133670;\n          }\n          uVar20 = (ulong)DAT_001e3c24;\n        }\n      }\nLAB_00133670:\n      uVar15 = (uint)uVar20;\n      if (bVar19 == 8) {\n        uVar15 = 0xffffffff;\n        uVar20 = uVar18;\nLAB_00133b96:\n        if (uVar15 != (uint)uVar20) goto LAB_001336a6;\n        if (DAT_001e3c30 != 0) goto LAB_001330bc;\n      }\n      else {\n        uVar18 = uVar20;\n        if (bVar21 == 8) {\n          if (uVar22 == 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1c44,"build_modrm_byte");\n          }\n          uVar17 = uVar15 + 1;\n          uVar18 = (ulong)uVar17;\n          uVar9 = uVar20;\n          if (uVar22 < uVar15) {\n            if (DAT_001e3c24 <= uVar17) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c49,"build_modrm_byte");\n            }\n          }\n          else if ((((&DAT_001e3bf6)[uVar20 * 8] & 0x40) == 0) &&\n                  (((&DAT_001e3bf6)[uVar18 * 8] & 0x40) != 0)) {\n            if ((DAT_001e3c24 <= uVar15 + 2) || (uVar22 != uVar17)) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c55,"build_modrm_byte");\n            }\n            uVar18 = (ulong)(uVar15 + 2);\n          }\n          else {\n            uVar9 = uVar18;\n            uVar18 = uVar20;\n            uVar15 = uVar17;\n            if (DAT_001e3c24 <= uVar17) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c5a,"build_modrm_byte");\n            }\n          }\nLAB_00133e49:\n          lVar13 = uVar9 + 6;\n          bVar21 = *(byte *)((long)&DAT_001e3bc0 + lVar13 * 8 + 4);\n          if ((((bVar21 & 1) == 0) ||\n              ((-1 < *(char *)((long)&DAT_001e3bc0 + lVar13 * 8 + 7) &&\n               ((*(byte *)(&DAT_001e3bc8 + lVar13 * 2) & 2) == 0)))) &&\n             (((bVar21 & 4) == 0 &&\n              ((*(uint *)(&DAT_001e3bf8 + uVar9 * 8) != DAT_00153a54 ||\n               (*(int *)(&DAT_001e3bf4 + uVar9 * 8) != DAT_00153a50)))))) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1c7b,"build_modrm_byte");\n          }\n          DAT_001e3d18 = (&DAT_001e3c60)[uVar9];\n          uVar20 = uVar18;\n          goto LAB_00133b96;\n        }\n        if (bVar21 == 0x10) {\n          if (DAT_001e3c30 == 0) {\n            if (DAT_001e3c24 != uVar15 + 2) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c65,"build_modrm_byte");\n            }\n            uVar9 = (ulong)(uVar15 + 1);\n            uVar15 = uVar15 + 1;\n          }\n          else {\n            if ((DAT_001e3c34 + 2 <= uVar15) || (DAT_001e3c24 != DAT_001e3c34 + 2)) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c6c,"build_modrm_byte");\n            }\n            uVar15 = DAT_001e3c34 + 1;\n            if (uVar15 == 0xffffffff) goto LAB_001336a6;\n            uVar9 = (ulong)uVar15;\n          }\n          goto LAB_00133e49;\n        }\n        if (DAT_001e3c24 <= uVar15) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0011dd00("../../gas/config/tc-i386.c",0x1c71,"build_modrm_byte");\n        }\nLAB_001336a6:\n        if (DAT_001e3bd0 == 0xffff) {\n          DAT_001e3cf0 = (uint)*(byte *)((&DAT_001e3c60)[uVar20] + 0x11);\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar20] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 4;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 4;\n          }\n          if (DAT_001e3c30 == 0) {\n            DAT_001e3cf4 = 3;\n            return puVar10;\n          }\n          return puVar10;\n        }\n        DAT_001e3cec = (uint)*(byte *)((&DAT_001e3c60)[uVar20] + 0x11);\n        bVar21 = *(byte *)((&DAT_001e3c60)[uVar20] + 0x10);\n        if ((bVar21 & 1) != 0) {\n          DAT_001e3cf8 = DAT_001e3cf8 | 1;\n        }\n        if ((bVar21 & 4) != 0) {\n          DAT_001e3cfc = DAT_001e3cfc | 1;\n        }\n        if (DAT_001e3c30 != 0) {\n          DAT_001e3cf0 = DAT_001e3bd0;\n          return puVar10;\n        }\n      }\n      DAT_001e3cf4 = 3;\n      goto LAB_001330bc;\n    }\n    DAT_001e3d18 = DAT_001e3c70;\n    if (DAT_001e3c30 != 0) goto LAB_001330bc;\n    bVar21 = *(byte *)(DAT_001e3c68 + 0x11);\n    bVar19 = *(byte *)(DAT_001e3c68 + 0x10);\n  }\n  DAT_001e3cec = (uint)bVar21;\n  DAT_001e3cf4 = 3;\n  if ((bVar19 & 1) != 0) {\n    DAT_001e3cf4 = 3;\n    DAT_001e3cf8 = DAT_001e3cf8 | 1;\n  }\nLAB_001330bc:\n  if (DAT_001e3bd0 != 0xffff) {\n    DAT_001e3cf0 = DAT_001e3bd0;\n    return puVar10;\n  }\n  return puVar10;\n}" { (declaration "uint *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "long lVar2;" (sized_type_specifier "long" long) identifier ;) (declaration "ulong *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "long lVar4;" (sized_type_specifier "long" long) identifier ;) (declaration "byte *pbVar5;" type_identifier (pointer_declarator "*pbVar5" * identifier) ;) (declaration "char cVar6;" primitive_type identifier ;) (declaration "byte bVar7;" type_identifier identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "ulong uVar9;" type_identifier identifier ;) (declaration "undefined1 *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "ulong uVar11;" type_identifier identifier ;) (declaration "byte bVar12;" type_identifier identifier ;) (declaration "long lVar13;" (sized_type_specifier "long" long) identifier ;) (declaration "byte bVar14;" type_identifier identifier ;) (declaration "uint uVar15;" type_identifier identifier ;) (declaration "int iVar16;" primitive_type identifier ;) (declaration "uint uVar17;" type_identifier identifier ;) (declaration "ulong uVar18;" type_identifier identifier ;) (declaration "byte bVar19;" type_identifier identifier ;) (declaration "ulong uVar20;" type_identifier identifier ;) (declaration "byte bVar21;" type_identifier identifier ;) (declaration "uint uVar22;" type_identifier identifier ;) (declaration "uint uVar23;" type_identifier identifier ;) (declaration "bool bVar24;" primitive_type identifier ;) (expression_statement "bVar21 = DAT_001e3bee;" (assignment_expression "bVar21 = DAT_001e3bee" identifier = identifier) ;) (expression_statement "uVar18 = 0;" (assignment_expression "uVar18 = 0" identifier = number_literal) ;) (expression_statement "uVar20 = 0;" (assignment_expression "uVar20 = 0" identifier = number_literal) ;) (expression_statement "bVar19 = DAT_001e3bee & 0xc;" (assignment_expression "bVar19 = DAT_001e3bee & 0xc" identifier = (binary_expression "DAT_001e3bee & 0xc" identifier & number_literal)) ;) (if_statement "if (bVar19 == 8) {\n    uVar22 = DAT_001e3c24 - 1;\n    uVar18 = (ulong)uVar22;\n    uVar15 = DAT_001e3c24 - 2;\n    if (((DAT_001e3c28 != 4) && ((DAT_001e3c28 != 3 || (DAT_001e3c30 != 1)))) ||\n       (((DAT_001e3bed & 0x18) != 8 ||\n        (((DAT_001e3bed & 0x60) == 0 || (((&DAT_001e3bf4)[uVar18 * 8] & 4) == 0)))))) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0011dd00("../../gas/config/tc-i386.c",0x1a12,"build_modrm_byte");\n    }\n    uVar9 = (ulong)DAT_001e3c34;\n    uVar20 = (ulong)(DAT_001e3c34 + 1);\n    if ((DAT_001e3bed & 0x60) == 0x40) {\n      uVar20 = (ulong)DAT_001e3c34;\n      uVar9 = (ulong)(DAT_001e3c34 + 1);\n    }\n    if (DAT_001e3c34 == 0) {\n      uVar11 = (ulong)DAT_001e3c24;\n      DAT_001e3c24 = DAT_001e3c24 + 1;\n      DAT_001e3c34 = 1;\n      (&DAT_001e3c60)[uVar11] = (long)&DAT_001e3b20;\n      lVar13 = uVar11 + 0xe;\n      *(undefined8 *)(&DAT_001e3bc8 + lVar13 * 2) = 0;\n      *(undefined1 *)((long)&DAT_001e3bc8 + lVar13 * 8 + 1) = 4;\n      if (((&DAT_001e3bf4)[uVar9 * 8] & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a2a,"build_modrm_byte");\n      }\n      DAT_001e3b38 = 2;\n      bVar14 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10);\n      bVar7 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x11);\n      uVar22 = (uint)bVar7;\n      if ((bVar14 & 1) != 0) {\n        uVar22 = bVar7 + 8;\n      }\n      if ((bVar14 & 4) != 0) {\n        _DAT_001e3b30 = (ulong)((uVar22 + 0x10) * 0x10);\n                    /* WARNING: Subroutine does not return */\n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a2d,"build_modrm_byte");\n      }\n      _DAT_001e3b30 = (ulong)(uVar22 << 4);\n    }\n    else {\n      if ((DAT_001e3c34 != 1) || ((DAT_001e3c38._5_1_ & 1) == 0)) {\n                    /* WARNING: Subroutine does not return */\n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a33,"build_modrm_byte");\n      }\n      if ((DAT_001e3bec & 0x20) == 0) {\n        DAT_001e3c38._1_1_ = DAT_001e3c38._1_1_ | 4;\n        uVar22 = 0;\n      }\n      else {\n        uVar20 = (ulong)((int)uVar20 - 1);\n        uVar9 = (ulong)((int)uVar9 - 1);\n      }\n      if (((&DAT_001e3bf4)[uVar9 * 8] & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a45,"build_modrm_byte");\n      }\n      bVar14 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10);\n      bVar7 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x11);\n      uVar17 = (uint)bVar7;\n      if ((bVar14 & 1) != 0) {\n        uVar17 = bVar7 + 8;\n      }\n      lVar13 = (&DAT_001e3c60)[uVar22];\n      if ((bVar14 & 4) != 0) {\n        *(ulong *)(lVar13 + 0x10) = (ulong)((uVar17 + 0x10) * 0x10) | *(ulong *)(lVar13 + 0x10);\n                    /* WARNING: Subroutine does not return */\n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a48,"build_modrm_byte");\n      }\n      *(ulong *)(lVar13 + 0x10) = (ulong)(uVar17 << 4) | *(ulong *)(lVar13 + 0x10);\n    }\n    if (((&DAT_001e3bf4)[(ulong)uVar15 * 8] & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0011dd00("../../gas/config/tc-i386.c",0x1a4b,"build_modrm_byte");\n    }\n    DAT_001e3d18 = (&DAT_001e3c60)[uVar15];\n  }" if (parenthesized_expression "(bVar19 == 8)" ( (binary_expression "bVar19 == 8" identifier == number_literal) )) (compound_statement "{\n    uVar22 = DAT_001e3c24 - 1;\n    uVar18 = (ulong)uVar22;\n    uVar15 = DAT_001e3c24 - 2;\n    if (((DAT_001e3c28 != 4) && ((DAT_001e3c28 != 3 || (DAT_001e3c30 != 1)))) ||\n       (((DAT_001e3bed & 0x18) != 8 ||\n        (((DAT_001e3bed & 0x60) == 0 || (((&DAT_001e3bf4)[uVar18 * 8] & 4) == 0)))))) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0011dd00("../../gas/config/tc-i386.c",0x1a12,"build_modrm_byte");\n    }\n    uVar9 = (ulong)DAT_001e3c34;\n    uVar20 = (ulong)(DAT_001e3c34 + 1);\n    if ((DAT_001e3bed & 0x60) == 0x40) {\n      uVar20 = (ulong)DAT_001e3c34;\n      uVar9 = (ulong)(DAT_001e3c34 + 1);\n    }\n    if (DAT_001e3c34 == 0) {\n      uVar11 = (ulong)DAT_001e3c24;\n      DAT_001e3c24 = DAT_001e3c24 + 1;\n      DAT_001e3c34 = 1;\n      (&DAT_001e3c60)[uVar11] = (long)&DAT_001e3b20;\n      lVar13 = uVar11 + 0xe;\n      *(undefined8 *)(&DAT_001e3bc8 + lVar13 * 2) = 0;\n      *(undefined1 *)((long)&DAT_001e3bc8 + lVar13 * 8 + 1) = 4;\n      if (((&DAT_001e3bf4)[uVar9 * 8] & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a2a,"build_modrm_byte");\n      }\n      DAT_001e3b38 = 2;\n      bVar14 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10);\n      bVar7 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x11);\n      uVar22 = (uint)bVar7;\n      if ((bVar14 & 1) != 0) {\n        uVar22 = bVar7 + 8;\n      }\n      if ((bVar14 & 4) != 0) {\n        _DAT_001e3b30 = (ulong)((uVar22 + 0x10) * 0x10);\n                    /* WARNING: Subroutine does not return */\n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a2d,"build_modrm_byte");\n      }\n      _DAT_001e3b30 = (ulong)(uVar22 << 4);\n    }\n    else {\n      if ((DAT_001e3c34 != 1) || ((DAT_001e3c38._5_1_ & 1) == 0)) {\n                    /* WARNING: Subroutine does not return */\n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a33,"build_modrm_byte");\n      }\n      if ((DAT_001e3bec & 0x20) == 0) {\n        DAT_001e3c38._1_1_ = DAT_001e3c38._1_1_ | 4;\n        uVar22 = 0;\n      }\n      else {\n        uVar20 = (ulong)((int)uVar20 - 1);\n        uVar9 = (ulong)((int)uVar9 - 1);\n      }\n      if (((&DAT_001e3bf4)[uVar9 * 8] & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a45,"build_modrm_byte");\n      }\n      bVar14 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10);\n      bVar7 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x11);\n      uVar17 = (uint)bVar7;\n      if ((bVar14 & 1) != 0) {\n        uVar17 = bVar7 + 8;\n      }\n      lVar13 = (&DAT_001e3c60)[uVar22];\n      if ((bVar14 & 4) != 0) {\n        *(ulong *)(lVar13 + 0x10) = (ulong)((uVar17 + 0x10) * 0x10) | *(ulong *)(lVar13 + 0x10);\n                    /* WARNING: Subroutine does not return */\n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a48,"build_modrm_byte");\n      }\n      *(ulong *)(lVar13 + 0x10) = (ulong)(uVar17 << 4) | *(ulong *)(lVar13 + 0x10);\n    }\n    if (((&DAT_001e3bf4)[(ulong)uVar15 * 8] & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0011dd00("../../gas/config/tc-i386.c",0x1a4b,"build_modrm_byte");\n    }\n    DAT_001e3d18 = (&DAT_001e3c60)[uVar15];\n  }" { (expression_statement "uVar22 = DAT_001e3c24 - 1;" (assignment_expression "uVar22 = DAT_001e3c24 - 1" identifier = (binary_expression "DAT_001e3c24 - 1" identifier - number_literal)) ;) (expression_statement "uVar18 = (ulong)uVar22;" (assignment_expression "uVar18 = (ulong)uVar22" identifier = (cast_expression "(ulong)uVar22" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "uVar15 = DAT_001e3c24 - 2;" (assignment_expression "uVar15 = DAT_001e3c24 - 2" identifier = (binary_expression "DAT_001e3c24 - 2" identifier - number_literal)) ;) (if_statement "if (((DAT_001e3c28 != 4) && ((DAT_001e3c28 != 3 || (DAT_001e3c30 != 1)))) ||\n       (((DAT_001e3bed & 0x18) != 8 ||\n        (((DAT_001e3bed & 0x60) == 0 || (((&DAT_001e3bf4)[uVar18 * 8] & 4) == 0)))))) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0011dd00("../../gas/config/tc-i386.c",0x1a12,"build_modrm_byte");\n    }" if (parenthesized_expression "(((DAT_001e3c28 != 4) && ((DAT_001e3c28 != 3 || (DAT_001e3c30 != 1)))) ||\n       (((DAT_001e3bed & 0x18) != 8 ||\n        (((DAT_001e3bed & 0x60) == 0 || (((&DAT_001e3bf4)[uVar18 * 8] & 4) == 0))))))" ( (binary_expression "((DAT_001e3c28 != 4) && ((DAT_001e3c28 != 3 || (DAT_001e3c30 != 1)))) ||\n       (((DAT_001e3bed & 0x18) != 8 ||\n        (((DAT_001e3bed & 0x60) == 0 || (((&DAT_001e3bf4)[uVar18 * 8] & 4) == 0)))))" (parenthesized_expression "((DAT_001e3c28 != 4) && ((DAT_001e3c28 != 3 || (DAT_001e3c30 != 1))))" ( (binary_expression "(DAT_001e3c28 != 4) && ((DAT_001e3c28 != 3 || (DAT_001e3c30 != 1)))" (parenthesized_expression "(DAT_001e3c28 != 4)" ( (binary_expression "DAT_001e3c28 != 4" identifier != number_literal) )) && (parenthesized_expression "((DAT_001e3c28 != 3 || (DAT_001e3c30 != 1)))" ( (parenthesized_expression "(DAT_001e3c28 != 3 || (DAT_001e3c30 != 1))" ( (binary_expression "DAT_001e3c28 != 3 || (DAT_001e3c30 != 1)" (binary_expression "DAT_001e3c28 != 3" identifier != number_literal) || (parenthesized_expression "(DAT_001e3c30 != 1)" ( (binary_expression "DAT_001e3c30 != 1" identifier != number_literal) ))) )) ))) )) || (parenthesized_expression "(((DAT_001e3bed & 0x18) != 8 ||\n        (((DAT_001e3bed & 0x60) == 0 || (((&DAT_001e3bf4)[uVar18 * 8] & 4) == 0)))))" ( (parenthesized_expression "((DAT_001e3bed & 0x18) != 8 ||\n        (((DAT_001e3bed & 0x60) == 0 || (((&DAT_001e3bf4)[uVar18 * 8] & 4) == 0))))" ( (binary_expression "(DAT_001e3bed & 0x18) != 8 ||\n        (((DAT_001e3bed & 0x60) == 0 || (((&DAT_001e3bf4)[uVar18 * 8] & 4) == 0)))" (binary_expression "(DAT_001e3bed & 0x18) != 8" (parenthesized_expression "(DAT_001e3bed & 0x18)" ( (binary_expression "DAT_001e3bed & 0x18" identifier & number_literal) )) != number_literal) || (parenthesized_expression "(((DAT_001e3bed & 0x60) == 0 || (((&DAT_001e3bf4)[uVar18 * 8] & 4) == 0)))" ( (parenthesized_expression "((DAT_001e3bed & 0x60) == 0 || (((&DAT_001e3bf4)[uVar18 * 8] & 4) == 0))" ( (binary_expression "(DAT_001e3bed & 0x60) == 0 || (((&DAT_001e3bf4)[uVar18 * 8] & 4) == 0)" (binary_expression "(DAT_001e3bed & 0x60) == 0" (parenthesized_expression "(DAT_001e3bed & 0x60)" ( (binary_expression "DAT_001e3bed & 0x60" identifier & number_literal) )) == number_literal) || (parenthesized_expression "(((&DAT_001e3bf4)[uVar18 * 8] & 4) == 0)" ( (binary_expression "((&DAT_001e3bf4)[uVar18 * 8] & 4) == 0" (parenthesized_expression "((&DAT_001e3bf4)[uVar18 * 8] & 4)" ( (binary_expression "(&DAT_001e3bf4)[uVar18 * 8] & 4" (subscript_expression "(&DAT_001e3bf4)[uVar18 * 8]" (parenthesized_expression "(&DAT_001e3bf4)" ( (pointer_expression "&DAT_001e3bf4" & identifier) )) [ (binary_expression "uVar18 * 8" identifier * number_literal) ]) & number_literal) )) == number_literal) ))) )) ))) )) ))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      FUN_0011dd00("../../gas/config/tc-i386.c",0x1a12,"build_modrm_byte");\n    }" { comment (expression_statement "FUN_0011dd00("../../gas/config/tc-i386.c",0x1a12,"build_modrm_byte");" (call_expression "FUN_0011dd00("../../gas/config/tc-i386.c",0x1a12,"build_modrm_byte")" identifier (argument_list "("../../gas/config/tc-i386.c",0x1a12,"build_modrm_byte")" ( (string_literal ""../../gas/config/tc-i386.c"" " string_content ") , number_literal , (string_literal ""build_modrm_byte"" " string_content ") ))) ;) })) (expression_statement "uVar9 = (ulong)DAT_001e3c34;" (assignment_expression "uVar9 = (ulong)DAT_001e3c34" identifier = (cast_expression "(ulong)DAT_001e3c34" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "uVar20 = (ulong)(DAT_001e3c34 + 1);" (assignment_expression "uVar20 = (ulong)(DAT_001e3c34 + 1)" identifier = (call_expression "(ulong)(DAT_001e3c34 + 1)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(DAT_001e3c34 + 1)" ( (binary_expression "DAT_001e3c34 + 1" identifier + number_literal) )))) ;) (if_statement "if ((DAT_001e3bed & 0x60) == 0x40) {\n      uVar20 = (ulong)DAT_001e3c34;\n      uVar9 = (ulong)(DAT_001e3c34 + 1);\n    }" if (parenthesized_expression "((DAT_001e3bed & 0x60) == 0x40)" ( (binary_expression "(DAT_001e3bed & 0x60) == 0x40" (parenthesized_expression "(DAT_001e3bed & 0x60)" ( (binary_expression "DAT_001e3bed & 0x60" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n      uVar20 = (ulong)DAT_001e3c34;\n      uVar9 = (ulong)(DAT_001e3c34 + 1);\n    }" { (expression_statement "uVar20 = (ulong)DAT_001e3c34;" (assignment_expression "uVar20 = (ulong)DAT_001e3c34" identifier = (cast_expression "(ulong)DAT_001e3c34" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "uVar9 = (ulong)(DAT_001e3c34 + 1);" (assignment_expression "uVar9 = (ulong)(DAT_001e3c34 + 1)" identifier = (call_expression "(ulong)(DAT_001e3c34 + 1)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(DAT_001e3c34 + 1)" ( (binary_expression "DAT_001e3c34 + 1" identifier + number_literal) )))) ;) })) (if_statement "if (DAT_001e3c34 == 0) {\n      uVar11 = (ulong)DAT_001e3c24;\n      DAT_001e3c24 = DAT_001e3c24 + 1;\n      DAT_001e3c34 = 1;\n      (&DAT_001e3c60)[uVar11] = (long)&DAT_001e3b20;\n      lVar13 = uVar11 + 0xe;\n      *(undefined8 *)(&DAT_001e3bc8 + lVar13 * 2) = 0;\n      *(undefined1 *)((long)&DAT_001e3bc8 + lVar13 * 8 + 1) = 4;\n      if (((&DAT_001e3bf4)[uVar9 * 8] & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a2a,"build_modrm_byte");\n      }\n      DAT_001e3b38 = 2;\n      bVar14 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10);\n      bVar7 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x11);\n      uVar22 = (uint)bVar7;\n      if ((bVar14 & 1) != 0) {\n        uVar22 = bVar7 + 8;\n      }\n      if ((bVar14 & 4) != 0) {\n        _DAT_001e3b30 = (ulong)((uVar22 + 0x10) * 0x10);\n                    /* WARNING: Subroutine does not return */\n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a2d,"build_modrm_byte");\n      }\n      _DAT_001e3b30 = (ulong)(uVar22 << 4);\n    }\n    else {\n      if ((DAT_001e3c34 != 1) || ((DAT_001e3c38._5_1_ & 1) == 0)) {\n                    /* WARNING: Subroutine does not return */\n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a33,"build_modrm_byte");\n      }\n      if ((DAT_001e3bec & 0x20) == 0) {\n        DAT_001e3c38._1_1_ = DAT_001e3c38._1_1_ | 4;\n        uVar22 = 0;\n      }\n      else {\n        uVar20 = (ulong)((int)uVar20 - 1);\n        uVar9 = (ulong)((int)uVar9 - 1);\n      }\n      if (((&DAT_001e3bf4)[uVar9 * 8] & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a45,"build_modrm_byte");\n      }\n      bVar14 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10);\n      bVar7 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x11);\n      uVar17 = (uint)bVar7;\n      if ((bVar14 & 1) != 0) {\n        uVar17 = bVar7 + 8;\n      }\n      lVar13 = (&DAT_001e3c60)[uVar22];\n      if ((bVar14 & 4) != 0) {\n        *(ulong *)(lVar13 + 0x10) = (ulong)((uVar17 + 0x10) * 0x10) | *(ulong *)(lVar13 + 0x10);\n                    /* WARNING: Subroutine does not return */\n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a48,"build_modrm_byte");\n      }\n      *(ulong *)(lVar13 + 0x10) = (ulong)(uVar17 << 4) | *(ulong *)(lVar13 + 0x10);\n    }" if (parenthesized_expression "(DAT_001e3c34 == 0)" ( (binary_expression "DAT_001e3c34 == 0" identifier == number_literal) )) (compound_statement "{\n      uVar11 = (ulong)DAT_001e3c24;\n      DAT_001e3c24 = DAT_001e3c24 + 1;\n      DAT_001e3c34 = 1;\n      (&DAT_001e3c60)[uVar11] = (long)&DAT_001e3b20;\n      lVar13 = uVar11 + 0xe;\n      *(undefined8 *)(&DAT_001e3bc8 + lVar13 * 2) = 0;\n      *(undefined1 *)((long)&DAT_001e3bc8 + lVar13 * 8 + 1) = 4;\n      if (((&DAT_001e3bf4)[uVar9 * 8] & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a2a,"build_modrm_byte");\n      }\n      DAT_001e3b38 = 2;\n      bVar14 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10);\n      bVar7 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x11);\n      uVar22 = (uint)bVar7;\n      if ((bVar14 & 1) != 0) {\n        uVar22 = bVar7 + 8;\n      }\n      if ((bVar14 & 4) != 0) {\n        _DAT_001e3b30 = (ulong)((uVar22 + 0x10) * 0x10);\n                    /* WARNING: Subroutine does not return */\n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a2d,"build_modrm_byte");\n      }\n      _DAT_001e3b30 = (ulong)(uVar22 << 4);\n    }" { (expression_statement "uVar11 = (ulong)DAT_001e3c24;" (assignment_expression "uVar11 = (ulong)DAT_001e3c24" identifier = (cast_expression "(ulong)DAT_001e3c24" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "DAT_001e3c24 = DAT_001e3c24 + 1;" (assignment_expression "DAT_001e3c24 = DAT_001e3c24 + 1" identifier = (binary_expression "DAT_001e3c24 + 1" identifier + number_literal)) ;) (expression_statement "DAT_001e3c34 = 1;" (assignment_expression "DAT_001e3c34 = 1" identifier = number_literal) ;) (expression_statement "(&DAT_001e3c60)[uVar11] = (long)&DAT_001e3b20;" (assignment_expression "(&DAT_001e3c60)[uVar11] = (long)&DAT_001e3b20" (subscript_expression "(&DAT_001e3c60)[uVar11]" (parenthesized_expression "(&DAT_001e3c60)" ( (pointer_expression "&DAT_001e3c60" & identifier) )) [ identifier ]) = (cast_expression "(long)&DAT_001e3b20" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&DAT_001e3b20" & identifier))) ;) (expression_statement "lVar13 = uVar11 + 0xe;" (assignment_expression "lVar13 = uVar11 + 0xe" identifier = (binary_expression "uVar11 + 0xe" identifier + number_literal)) ;) (expression_statement "*(undefined8 *)(&DAT_001e3bc8 + lVar13 * 2) = 0;" (assignment_expression "*(undefined8 *)(&DAT_001e3bc8 + lVar13 * 2) = 0" (pointer_expression "*(undefined8 *)(&DAT_001e3bc8 + lVar13 * 2)" * (cast_expression "(undefined8 *)(&DAT_001e3bc8 + lVar13 * 2)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001e3bc8 + lVar13 * 2)" ( (binary_expression "&DAT_001e3bc8 + lVar13 * 2" (pointer_expression "&DAT_001e3bc8" & identifier) + (binary_expression "lVar13 * 2" identifier * number_literal)) )))) = number_literal) ;) (expression_statement "*(undefined1 *)((long)&DAT_001e3bc8 + lVar13 * 8 + 1) = 4;" (assignment_expression "*(undefined1 *)((long)&DAT_001e3bc8 + lVar13 * 8 + 1) = 4" (pointer_expression "*(undefined1 *)((long)&DAT_001e3bc8 + lVar13 * 8 + 1)" * (cast_expression "(undefined1 *)((long)&DAT_001e3bc8 + lVar13 * 8 + 1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&DAT_001e3bc8 + lVar13 * 8 + 1)" ( (binary_expression "(long)&DAT_001e3bc8 + lVar13 * 8 + 1" (binary_expression "(long)&DAT_001e3bc8 + lVar13 * 8" (cast_expression "(long)&DAT_001e3bc8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&DAT_001e3bc8" & identifier)) + (binary_expression "lVar13 * 8" identifier * number_literal)) + number_literal) )))) = number_literal) ;) (if_statement "if (((&DAT_001e3bf4)[uVar9 * 8] & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a2a,"build_modrm_byte");\n      }" if (parenthesized_expression "(((&DAT_001e3bf4)[uVar9 * 8] & 4) == 0)" ( (binary_expression "((&DAT_001e3bf4)[uVar9 * 8] & 4) == 0" (parenthesized_expression "((&DAT_001e3bf4)[uVar9 * 8] & 4)" ( (binary_expression "(&DAT_001e3bf4)[uVar9 * 8] & 4" (subscript_expression "(&DAT_001e3bf4)[uVar9 * 8]" (parenthesized_expression "(&DAT_001e3bf4)" ( (pointer_expression "&DAT_001e3bf4" & identifier) )) [ (binary_expression "uVar9 * 8" identifier * number_literal) ]) & number_literal) )) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a2a,"build_modrm_byte");\n      }" { comment (expression_statement "FUN_0011dd00("../../gas/config/tc-i386.c",0x1a2a,"build_modrm_byte");" (call_expression "FUN_0011dd00("../../gas/config/tc-i386.c",0x1a2a,"build_modrm_byte")" identifier (argument_list "("../../gas/config/tc-i386.c",0x1a2a,"build_modrm_byte")" ( (string_literal ""../../gas/config/tc-i386.c"" " string_content ") , number_literal , (string_literal ""build_modrm_byte"" " string_content ") ))) ;) })) (expression_statement "DAT_001e3b38 = 2;" (assignment_expression "DAT_001e3b38 = 2" identifier = number_literal) ;) (expression_statement "bVar14 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10);" (assignment_expression "bVar14 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10)" identifier = (pointer_expression "*(byte *)((&DAT_001e3c60)[uVar9] + 0x10)" * (cast_expression "(byte *)((&DAT_001e3c60)[uVar9] + 0x10)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((&DAT_001e3c60)[uVar9] + 0x10)" ( (binary_expression "(&DAT_001e3c60)[uVar9] + 0x10" (subscript_expression "(&DAT_001e3c60)[uVar9]" (parenthesized_expression "(&DAT_001e3c60)" ( (pointer_expression "&DAT_001e3c60" & identifier) )) [ identifier ]) + number_literal) ))))) ;) (expression_statement "bVar7 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x11);" (assignment_expression "bVar7 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x11)" identifier = (pointer_expression "*(byte *)((&DAT_001e3c60)[uVar9] + 0x11)" * (cast_expression "(byte *)((&DAT_001e3c60)[uVar9] + 0x11)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((&DAT_001e3c60)[uVar9] + 0x11)" ( (binary_expression "(&DAT_001e3c60)[uVar9] + 0x11" (subscript_expression "(&DAT_001e3c60)[uVar9]" (parenthesized_expression "(&DAT_001e3c60)" ( (pointer_expression "&DAT_001e3c60" & identifier) )) [ identifier ]) + number_literal) ))))) ;) (expression_statement "uVar22 = (uint)bVar7;" (assignment_expression "uVar22 = (uint)bVar7" identifier = (cast_expression "(uint)bVar7" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if ((bVar14 & 1) != 0) {\n        uVar22 = bVar7 + 8;\n      }" if (parenthesized_expression "((bVar14 & 1) != 0)" ( (binary_expression "(bVar14 & 1) != 0" (parenthesized_expression "(bVar14 & 1)" ( (binary_expression "bVar14 & 1" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n        uVar22 = bVar7 + 8;\n      }" { (expression_statement "uVar22 = bVar7 + 8;" (assignment_expression "uVar22 = bVar7 + 8" identifier = (binary_expression "bVar7 + 8" identifier + number_literal)) ;) })) (if_statement "if ((bVar14 & 4) != 0) {\n        _DAT_001e3b30 = (ulong)((uVar22 + 0x10) * 0x10);\n                    /* WARNING: Subroutine does not return */\n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a2d,"build_modrm_byte");\n      }" if (parenthesized_expression "((bVar14 & 4) != 0)" ( (binary_expression "(bVar14 & 4) != 0" (parenthesized_expression "(bVar14 & 4)" ( (binary_expression "bVar14 & 4" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n        _DAT_001e3b30 = (ulong)((uVar22 + 0x10) * 0x10);\n                    /* WARNING: Subroutine does not return */\n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a2d,"build_modrm_byte");\n      }" { (expression_statement "_DAT_001e3b30 = (ulong)((uVar22 + 0x10) * 0x10);" (assignment_expression "_DAT_001e3b30 = (ulong)((uVar22 + 0x10) * 0x10)" identifier = (call_expression "(ulong)((uVar22 + 0x10) * 0x10)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((uVar22 + 0x10) * 0x10)" ( (binary_expression "(uVar22 + 0x10) * 0x10" (parenthesized_expression "(uVar22 + 0x10)" ( (binary_expression "uVar22 + 0x10" identifier + number_literal) )) * number_literal) )))) ;) comment (expression_statement "FUN_0011dd00("../../gas/config/tc-i386.c",0x1a2d,"build_modrm_byte");" (call_expression "FUN_0011dd00("../../gas/config/tc-i386.c",0x1a2d,"build_modrm_byte")" identifier (argument_list "("../../gas/config/tc-i386.c",0x1a2d,"build_modrm_byte")" ( (string_literal ""../../gas/config/tc-i386.c"" " string_content ") , number_literal , (string_literal ""build_modrm_byte"" " string_content ") ))) ;) })) (expression_statement "_DAT_001e3b30 = (ulong)(uVar22 << 4);" (assignment_expression "_DAT_001e3b30 = (ulong)(uVar22 << 4)" identifier = (call_expression "(ulong)(uVar22 << 4)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar22 << 4)" ( (binary_expression "uVar22 << 4" identifier << number_literal) )))) ;) }) (else_clause "else {\n      if ((DAT_001e3c34 != 1) || ((DAT_001e3c38._5_1_ & 1) == 0)) {\n                    /* WARNING: Subroutine does not return */\n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a33,"build_modrm_byte");\n      }\n      if ((DAT_001e3bec & 0x20) == 0) {\n        DAT_001e3c38._1_1_ = DAT_001e3c38._1_1_ | 4;\n        uVar22 = 0;\n      }\n      else {\n        uVar20 = (ulong)((int)uVar20 - 1);\n        uVar9 = (ulong)((int)uVar9 - 1);\n      }\n      if (((&DAT_001e3bf4)[uVar9 * 8] & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a45,"build_modrm_byte");\n      }\n      bVar14 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10);\n      bVar7 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x11);\n      uVar17 = (uint)bVar7;\n      if ((bVar14 & 1) != 0) {\n        uVar17 = bVar7 + 8;\n      }\n      lVar13 = (&DAT_001e3c60)[uVar22];\n      if ((bVar14 & 4) != 0) {\n        *(ulong *)(lVar13 + 0x10) = (ulong)((uVar17 + 0x10) * 0x10) | *(ulong *)(lVar13 + 0x10);\n                    /* WARNING: Subroutine does not return */\n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a48,"build_modrm_byte");\n      }\n      *(ulong *)(lVar13 + 0x10) = (ulong)(uVar17 << 4) | *(ulong *)(lVar13 + 0x10);\n    }" else (compound_statement "{\n      if ((DAT_001e3c34 != 1) || ((DAT_001e3c38._5_1_ & 1) == 0)) {\n                    /* WARNING: Subroutine does not return */\n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a33,"build_modrm_byte");\n      }\n      if ((DAT_001e3bec & 0x20) == 0) {\n        DAT_001e3c38._1_1_ = DAT_001e3c38._1_1_ | 4;\n        uVar22 = 0;\n      }\n      else {\n        uVar20 = (ulong)((int)uVar20 - 1);\n        uVar9 = (ulong)((int)uVar9 - 1);\n      }\n      if (((&DAT_001e3bf4)[uVar9 * 8] & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a45,"build_modrm_byte");\n      }\n      bVar14 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10);\n      bVar7 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x11);\n      uVar17 = (uint)bVar7;\n      if ((bVar14 & 1) != 0) {\n        uVar17 = bVar7 + 8;\n      }\n      lVar13 = (&DAT_001e3c60)[uVar22];\n      if ((bVar14 & 4) != 0) {\n        *(ulong *)(lVar13 + 0x10) = (ulong)((uVar17 + 0x10) * 0x10) | *(ulong *)(lVar13 + 0x10);\n                    /* WARNING: Subroutine does not return */\n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a48,"build_modrm_byte");\n      }\n      *(ulong *)(lVar13 + 0x10) = (ulong)(uVar17 << 4) | *(ulong *)(lVar13 + 0x10);\n    }" { (if_statement "if ((DAT_001e3c34 != 1) || ((DAT_001e3c38._5_1_ & 1) == 0)) {\n                    /* WARNING: Subroutine does not return */\n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a33,"build_modrm_byte");\n      }" if (parenthesized_expression "((DAT_001e3c34 != 1) || ((DAT_001e3c38._5_1_ & 1) == 0))" ( (binary_expression "(DAT_001e3c34 != 1) || ((DAT_001e3c38._5_1_ & 1) == 0)" (parenthesized_expression "(DAT_001e3c34 != 1)" ( (binary_expression "DAT_001e3c34 != 1" identifier != number_literal) )) || (parenthesized_expression "((DAT_001e3c38._5_1_ & 1) == 0)" ( (binary_expression "(DAT_001e3c38._5_1_ & 1) == 0" (parenthesized_expression "(DAT_001e3c38._5_1_ & 1)" ( (binary_expression "DAT_001e3c38._5_1_ & 1" (field_expression "DAT_001e3c38._5_1_" identifier . field_identifier) & number_literal) )) == number_literal) ))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a33,"build_modrm_byte");\n      }" { comment (expression_statement "FUN_0011dd00("../../gas/config/tc-i386.c",0x1a33,"build_modrm_byte");" (call_expression "FUN_0011dd00("../../gas/config/tc-i386.c",0x1a33,"build_modrm_byte")" identifier (argument_list "("../../gas/config/tc-i386.c",0x1a33,"build_modrm_byte")" ( (string_literal ""../../gas/config/tc-i386.c"" " string_content ") , number_literal , (string_literal ""build_modrm_byte"" " string_content ") ))) ;) })) (if_statement "if ((DAT_001e3bec & 0x20) == 0) {\n        DAT_001e3c38._1_1_ = DAT_001e3c38._1_1_ | 4;\n        uVar22 = 0;\n      }\n      else {\n        uVar20 = (ulong)((int)uVar20 - 1);\n        uVar9 = (ulong)((int)uVar9 - 1);\n      }" if (parenthesized_expression "((DAT_001e3bec & 0x20) == 0)" ( (binary_expression "(DAT_001e3bec & 0x20) == 0" (parenthesized_expression "(DAT_001e3bec & 0x20)" ( (binary_expression "DAT_001e3bec & 0x20" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        DAT_001e3c38._1_1_ = DAT_001e3c38._1_1_ | 4;\n        uVar22 = 0;\n      }" { (expression_statement "DAT_001e3c38._1_1_ = DAT_001e3c38._1_1_ | 4;" (assignment_expression "DAT_001e3c38._1_1_ = DAT_001e3c38._1_1_ | 4" (field_expression "DAT_001e3c38._1_1_" identifier . field_identifier) = (binary_expression "DAT_001e3c38._1_1_ | 4" (field_expression "DAT_001e3c38._1_1_" identifier . field_identifier) | number_literal)) ;) (expression_statement "uVar22 = 0;" (assignment_expression "uVar22 = 0" identifier = number_literal) ;) }) (else_clause "else {\n        uVar20 = (ulong)((int)uVar20 - 1);\n        uVar9 = (ulong)((int)uVar9 - 1);\n      }" else (compound_statement "{\n        uVar20 = (ulong)((int)uVar20 - 1);\n        uVar9 = (ulong)((int)uVar9 - 1);\n      }" { (expression_statement "uVar20 = (ulong)((int)uVar20 - 1);" (assignment_expression "uVar20 = (ulong)((int)uVar20 - 1)" identifier = (call_expression "(ulong)((int)uVar20 - 1)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((int)uVar20 - 1)" ( (binary_expression "(int)uVar20 - 1" (cast_expression "(int)uVar20" ( (type_descriptor "int" primitive_type) ) identifier) - number_literal) )))) ;) (expression_statement "uVar9 = (ulong)((int)uVar9 - 1);" (assignment_expression "uVar9 = (ulong)((int)uVar9 - 1)" identifier = (call_expression "(ulong)((int)uVar9 - 1)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((int)uVar9 - 1)" ( (binary_expression "(int)uVar9 - 1" (cast_expression "(int)uVar9" ( (type_descriptor "int" primitive_type) ) identifier) - number_literal) )))) ;) }))) (if_statement "if (((&DAT_001e3bf4)[uVar9 * 8] & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a45,"build_modrm_byte");\n      }" if (parenthesized_expression "(((&DAT_001e3bf4)[uVar9 * 8] & 4) == 0)" ( (binary_expression "((&DAT_001e3bf4)[uVar9 * 8] & 4) == 0" (parenthesized_expression "((&DAT_001e3bf4)[uVar9 * 8] & 4)" ( (binary_expression "(&DAT_001e3bf4)[uVar9 * 8] & 4" (subscript_expression "(&DAT_001e3bf4)[uVar9 * 8]" (parenthesized_expression "(&DAT_001e3bf4)" ( (pointer_expression "&DAT_001e3bf4" & identifier) )) [ (binary_expression "uVar9 * 8" identifier * number_literal) ]) & number_literal) )) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a45,"build_modrm_byte");\n      }" { comment (expression_statement "FUN_0011dd00("../../gas/config/tc-i386.c",0x1a45,"build_modrm_byte");" (call_expression "FUN_0011dd00("../../gas/config/tc-i386.c",0x1a45,"build_modrm_byte")" identifier (argument_list "("../../gas/config/tc-i386.c",0x1a45,"build_modrm_byte")" ( (string_literal ""../../gas/config/tc-i386.c"" " string_content ") , number_literal , (string_literal ""build_modrm_byte"" " string_content ") ))) ;) })) (expression_statement "bVar14 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10);" (assignment_expression "bVar14 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10)" identifier = (pointer_expression "*(byte *)((&DAT_001e3c60)[uVar9] + 0x10)" * (cast_expression "(byte *)((&DAT_001e3c60)[uVar9] + 0x10)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((&DAT_001e3c60)[uVar9] + 0x10)" ( (binary_expression "(&DAT_001e3c60)[uVar9] + 0x10" (subscript_expression "(&DAT_001e3c60)[uVar9]" (parenthesized_expression "(&DAT_001e3c60)" ( (pointer_expression "&DAT_001e3c60" & identifier) )) [ identifier ]) + number_literal) ))))) ;) (expression_statement "bVar7 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x11);" (assignment_expression "bVar7 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x11)" identifier = (pointer_expression "*(byte *)((&DAT_001e3c60)[uVar9] + 0x11)" * (cast_expression "(byte *)((&DAT_001e3c60)[uVar9] + 0x11)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((&DAT_001e3c60)[uVar9] + 0x11)" ( (binary_expression "(&DAT_001e3c60)[uVar9] + 0x11" (subscript_expression "(&DAT_001e3c60)[uVar9]" (parenthesized_expression "(&DAT_001e3c60)" ( (pointer_expression "&DAT_001e3c60" & identifier) )) [ identifier ]) + number_literal) ))))) ;) (expression_statement "uVar17 = (uint)bVar7;" (assignment_expression "uVar17 = (uint)bVar7" identifier = (cast_expression "(uint)bVar7" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if ((bVar14 & 1) != 0) {\n        uVar17 = bVar7 + 8;\n      }" if (parenthesized_expression "((bVar14 & 1) != 0)" ( (binary_expression "(bVar14 & 1) != 0" (parenthesized_expression "(bVar14 & 1)" ( (binary_expression "bVar14 & 1" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n        uVar17 = bVar7 + 8;\n      }" { (expression_statement "uVar17 = bVar7 + 8;" (assignment_expression "uVar17 = bVar7 + 8" identifier = (binary_expression "bVar7 + 8" identifier + number_literal)) ;) })) (expression_statement "lVar13 = (&DAT_001e3c60)[uVar22];" (assignment_expression "lVar13 = (&DAT_001e3c60)[uVar22]" identifier = (subscript_expression "(&DAT_001e3c60)[uVar22]" (parenthesized_expression "(&DAT_001e3c60)" ( (pointer_expression "&DAT_001e3c60" & identifier) )) [ identifier ])) ;) (if_statement "if ((bVar14 & 4) != 0) {\n        *(ulong *)(lVar13 + 0x10) = (ulong)((uVar17 + 0x10) * 0x10) | *(ulong *)(lVar13 + 0x10);\n                    /* WARNING: Subroutine does not return */\n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a48,"build_modrm_byte");\n      }" if (parenthesized_expression "((bVar14 & 4) != 0)" ( (binary_expression "(bVar14 & 4) != 0" (parenthesized_expression "(bVar14 & 4)" ( (binary_expression "bVar14 & 4" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n        *(ulong *)(lVar13 + 0x10) = (ulong)((uVar17 + 0x10) * 0x10) | *(ulong *)(lVar13 + 0x10);\n                    /* WARNING: Subroutine does not return */\n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a48,"build_modrm_byte");\n      }" { (expression_statement "*(ulong *)(lVar13 + 0x10) = (ulong)((uVar17 + 0x10) * 0x10) | *(ulong *)(lVar13 + 0x10);" (assignment_expression "*(ulong *)(lVar13 + 0x10) = (ulong)((uVar17 + 0x10) * 0x10) | *(ulong *)(lVar13 + 0x10)" (pointer_expression "*(ulong *)(lVar13 + 0x10)" * (cast_expression "(ulong *)(lVar13 + 0x10)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar13 + 0x10)" ( (binary_expression "lVar13 + 0x10" identifier + number_literal) )))) = (binary_expression "(ulong)((uVar17 + 0x10) * 0x10) | *(ulong *)(lVar13 + 0x10)" (call_expression "(ulong)((uVar17 + 0x10) * 0x10)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((uVar17 + 0x10) * 0x10)" ( (binary_expression "(uVar17 + 0x10) * 0x10" (parenthesized_expression "(uVar17 + 0x10)" ( (binary_expression "uVar17 + 0x10" identifier + number_literal) )) * number_literal) ))) | (pointer_expression "*(ulong *)(lVar13 + 0x10)" * (cast_expression "(ulong *)(lVar13 + 0x10)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar13 + 0x10)" ( (binary_expression "lVar13 + 0x10" identifier + number_literal) )))))) ;) comment (expression_statement "FUN_0011dd00("../../gas/config/tc-i386.c",0x1a48,"build_modrm_byte");" (call_expression "FUN_0011dd00("../../gas/config/tc-i386.c",0x1a48,"build_modrm_byte")" identifier (argument_list "("../../gas/config/tc-i386.c",0x1a48,"build_modrm_byte")" ( (string_literal ""../../gas/config/tc-i386.c"" " string_content ") , number_literal , (string_literal ""build_modrm_byte"" " string_content ") ))) ;) })) (expression_statement "*(ulong *)(lVar13 + 0x10) = (ulong)(uVar17 << 4) | *(ulong *)(lVar13 + 0x10);" (assignment_expression "*(ulong *)(lVar13 + 0x10) = (ulong)(uVar17 << 4) | *(ulong *)(lVar13 + 0x10)" (pointer_expression "*(ulong *)(lVar13 + 0x10)" * (cast_expression "(ulong *)(lVar13 + 0x10)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar13 + 0x10)" ( (binary_expression "lVar13 + 0x10" identifier + number_literal) )))) = (binary_expression "(ulong)(uVar17 << 4) | *(ulong *)(lVar13 + 0x10)" (call_expression "(ulong)(uVar17 << 4)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar17 << 4)" ( (binary_expression "uVar17 << 4" identifier << number_literal) ))) | (pointer_expression "*(ulong *)(lVar13 + 0x10)" * (cast_expression "(ulong *)(lVar13 + 0x10)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar13 + 0x10)" ( (binary_expression "lVar13 + 0x10" identifier + number_literal) )))))) ;) }))) (if_statement "if (((&DAT_001e3bf4)[(ulong)uVar15 * 8] & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0011dd00("../../gas/config/tc-i386.c",0x1a4b,"build_modrm_byte");\n    }" if (parenthesized_expression "(((&DAT_001e3bf4)[(ulong)uVar15 * 8] & 4) == 0)" ( (binary_expression "((&DAT_001e3bf4)[(ulong)uVar15 * 8] & 4) == 0" (parenthesized_expression "((&DAT_001e3bf4)[(ulong)uVar15 * 8] & 4)" ( (binary_expression "(&DAT_001e3bf4)[(ulong)uVar15 * 8] & 4" (subscript_expression "(&DAT_001e3bf4)[(ulong)uVar15 * 8]" (parenthesized_expression "(&DAT_001e3bf4)" ( (pointer_expression "&DAT_001e3bf4" & identifier) )) [ (binary_expression "(ulong)uVar15 * 8" (cast_expression "(ulong)uVar15" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal) ]) & number_literal) )) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      FUN_0011dd00("../../gas/config/tc-i386.c",0x1a4b,"build_modrm_byte");\n    }" { comment (expression_statement "FUN_0011dd00("../../gas/config/tc-i386.c",0x1a4b,"build_modrm_byte");" (call_expression "FUN_0011dd00("../../gas/config/tc-i386.c",0x1a4b,"build_modrm_byte")" identifier (argument_list "("../../gas/config/tc-i386.c",0x1a4b,"build_modrm_byte")" ( (string_literal ""../../gas/config/tc-i386.c"" " string_content ") , number_literal , (string_literal ""build_modrm_byte"" " string_content ") ))) ;) })) (expression_statement "DAT_001e3d18 = (&DAT_001e3c60)[uVar15];" (assignment_expression "DAT_001e3d18 = (&DAT_001e3c60)[uVar15]" identifier = (subscript_expression "(&DAT_001e3c60)[uVar15]" (parenthesized_expression "(&DAT_001e3c60)" ( (pointer_expression "&DAT_001e3c60" & identifier) )) [ identifier ])) ;) })) (expression_statement "lVar2 = DAT_001e3cb8;" (assignment_expression "lVar2 = DAT_001e3cb8" identifier = identifier) ;) (expression_statement "lVar13 = DAT_001e3cb0;" (assignment_expression "lVar13 = DAT_001e3cb0" identifier = identifier) ;) (expression_statement "uVar9 = (ulong)DAT_001e3c30;" (assignment_expression "uVar9 = (ulong)DAT_001e3c30" identifier = (cast_expression "(ulong)DAT_001e3c30" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "bVar14 = bVar19;" (assignment_expression "bVar14 = bVar19" identifier = identifier) ;) (if_statement "if (DAT_001e3c30 == 0) {\n    if (DAT_001e3c28 == 2) {\n      if ((DAT_001e3bed >> 3 & 3) < 2) {\nLAB_0013335b:\n        if (DAT_001e3c24 == 3) {\nLAB_00133ea8:\n          if ((DAT_001e3c34 != 1) &&\n             ((DAT_001e3c34 != 0 ||\n              (((DAT_001e3bed & 0x18) != 8 && ((DAT_001e3c38._3_1_ & 1) == 0)))))) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1a6b,"build_modrm_byte");\n          }\n          uVar9 = (ulong)((DAT_001e3c38._1_1_ & 0xfc) != 0 || (DAT_001e3c38._3_1_ & 1) != 0);\n          uVar22 = 3;\n        }\n        else if (DAT_001e3c24 < 4) {\n          uVar22 = DAT_001e3c24;\n          if (DAT_001e3c24 != 2) goto LAB_00133dcf;\n        }\n        else {\n          if (DAT_001e3c24 != 4) goto joined_r0x00133753;\nLAB_00133379:\n          uVar9 = (ulong)DAT_001e3c34;\n          if (DAT_001e3c34 == 2) {\n            if (((DAT_001e3c38._1_1_ & 4) == 0) || ((DAT_001e3c40._1_1_ & 4) == 0))\n            goto LAB_00133d61;\n          }\n          else {\n            if ((((DAT_001e3bed & 0x18) != 8) || (DAT_001e3c34 != 1)) ||\n               ((((DAT_001e3c38._1_1_ & 4) == 0 && ((DAT_001e3c50._1_1_ & 4) == 0)) &&\n                (DAT_001e3d28 == 0)))) {\nLAB_00133d61:\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1a81,"build_modrm_byte");\n            }\n            uVar9 = (ulong)((DAT_001e3c38._1_1_ & 4) != 0);\n          }\n          uVar22 = 4;\n        }\nLAB_001337c1:\n        if (bVar19 != 8) {\n          uVar15 = (int)uVar9 + 1;\n          uVar18 = (ulong)uVar15;\n          if ((DAT_001e3d28 != 0) && (*(uint *)(DAT_001e3d28 + 4) == uVar15)) {\n            uVar18 = (ulong)((int)uVar9 + 2);\n          }\n          if ((DAT_001e3bed & 0x18) == 8) {\n            uVar20 = uVar9;\n            uVar11 = uVar18;\n            if ((((&DAT_001e3bf6)[uVar9 * 8] & 0x40) == 0) &&\n               (((&DAT_001e3bf6)[uVar18 * 8] & 0x40) != 0)) {\n              uVar20 = uVar18;\n              uVar11 = uVar9;\n            }\n            uVar15 = (int)uVar18 + 1;\n            uVar18 = (ulong)uVar15;\n            uVar9 = *(ulong *)((long)&DAT_001e3bc0 + (uVar11 + 6) * 8 + 4);\n            if ((uVar22 <= uVar15) ||\n               ((((uVar9 & 1) == 0 ||\n                 ((-1 < (char)((uVar9 & 0xfffffffff7ffffff) >> 0x18) &&\n                  (((&DAT_001e3bc8)[(uVar11 + 6) * 2] & 2) == 0)))) &&\n                (((uVar9 & 4) == 0 &&\n                 ((DAT_00153a50 != (int)(uVar9 & 0xfffffffff7ffffff) ||\n                  (DAT_00153a54 != (&DAT_001e3bc8)[(uVar11 + 6) * 2])))))))) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1ac9,"build_modrm_byte");\n            }\n            DAT_001e3d18 = (&DAT_001e3c60)[uVar11];\n            uVar9 = uVar20;\n          }\n        }\nLAB_001337ff:\n        DAT_001e3cf4 = 3;\n        if (((*(byte *)((long)&DAT_001e3bc0 + (uVar18 + 6) * 8 + 7) & 8) == 0) &&\n           ((*(ulong *)((long)&DAT_001e3bc0 + (uVar18 + 6) * 8 + 4) & 0x5f0000) == 0)) {\n          DAT_001e3cf0 = (uint)*(byte *)((&DAT_001e3c60)[uVar18] + 0x11);\n          DAT_001e3cec = (uint)*(byte *)((&DAT_001e3c60)[uVar9] + 0x11);\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar18] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 4;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 4;\n          }\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 1;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 1;\n          }\n        }\n        else {\n          DAT_001e3cf0 = (uint)*(byte *)((&DAT_001e3c60)[uVar9] + 0x11);\n          DAT_001e3cec = (uint)*(byte *)((&DAT_001e3c60)[uVar18] + 0x11);\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar18] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 1;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 1;\n          }\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 4;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 4;\n          }\n        }\n        if ((DAT_001e3b14 != 2) && ((DAT_001e3cf8 & 4) != 0)) {\n          if ((*(byte *)(&DAT_001e3bc8 + ((ulong)(DAT_001e3bf7 >> 3 & 1) + 0xe) * 2) & 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1af4,"build_modrm_byte");\n          }\n          DAT_001e3cf8 = DAT_001e3cf8 & 0xfffffffb;\n          FUN_00131f90(0xf0);\n          return (undefined1 *)0x0;\n        }\n        DAT_001e3cf4 = 3;\n        return (undefined1 *)0x0;\n      }\n    }\n    else if (DAT_001e3c28 == 3) {\n      if ((DAT_001e3bed & 0x18) == 8) goto LAB_0013335b;\n    }\n    else if ((DAT_001e3c28 == 4) && (bVar19 == 8)) {\n      if (DAT_001e3c24 == 3) goto LAB_00133ea8;\n      if (DAT_001e3c24 < 4) {\n        if (DAT_001e3c24 != 2) goto LAB_00133dcf;\n        goto LAB_001337ff;\n      }\n      if (DAT_001e3c24 == 4) goto LAB_00133379;\njoined_r0x00133753:\n      if (DAT_001e3c24 != 5) {\nLAB_00133dcf:\n                    /* WARNING: Subroutine does not return */\n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1aa0,"build_modrm_byte");\n      }\n      if (DAT_001e3bef == '\0') {\n        uVar9 = uVar20;\n        uVar22 = 5;\n      }\n      else {\n        if (((DAT_001e3c34 != 2) || (-1 < DAT_001e3bef)) || ((DAT_001e3c38._1_1_ & 0xfc) == 0)) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0011dd00("../../gas/config/tc-i386.c",0x1a96,"build_modrm_byte");\n        }\n        if ((DAT_001e3c40._1_1_ & 0xfc) == 0) {\n          if ((DAT_001e3c58._1_1_ & 0xfc) == 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1a9c,"build_modrm_byte");\n          }\n          uVar9 = 1;\n          uVar22 = 5;\n        }\n        else {\n          uVar9 = (ulong)DAT_001e3c34;\n          uVar22 = 5;\n        }\n      }\n      goto LAB_001337c1;\n    }\n    uVar22 = 0xffffffff;\n    puVar10 = (undefined1 *)0x0;\n  }\n  else {\n    if (DAT_001e3c24 == 0) {\nLAB_0013303b:\n                    /* WARNING: Subroutine does not return */\n      FUN_0011dd00("../../gas/config/tc-i386.c",0x1b05,"build_modrm_byte");\n    }\n    if ((DAT_001e3c38._2_1_ & 0x5f) == 0) {\n      uVar9 = 1;\n      do {\n        uVar20 = uVar9 & 0xffffffff;\n        if (DAT_001e3c24 <= (uint)uVar9) goto LAB_0013303b;\n        puVar3 = &DAT_001e3c38 + uVar9;\n        uVar9 = uVar9 + 1;\n      } while ((*puVar3 & 0x5f0000) == 0);\n    }\n    else {\n      uVar20 = 0;\n    }\n    bVar21 = bVar21 & 0x30;\n    uVar22 = (uint)uVar20;\n    if (bVar21 == 0) {\nLAB_0013313d:\n      if (lVar13 != 0) goto LAB_00133146;\nLAB_00133448:\n      lVar13 = DAT_001e3cb8;\n      DAT_001e3cf4 = 0;\n      if (DAT_001e3c2c == 0) {\n        if (DAT_001e3cb8 == 0) {\n          iVar16 = 1;\n          goto LAB_00133cae;\n        }\n        if (bVar21 == 0) {\n          iVar16 = 1;\n          goto LAB_00133af0;\n        }\n        goto LAB_00133a60;\n      }\n      if (DAT_001e3cb8 != 0) {\n        if (bVar21 == 0) {\n          iVar16 = 0;\nLAB_00133af0:\n          uVar15 = (uint)*(byte *)(DAT_001e3cb8 + 0x11);\n          DAT_001e3cec = 4;\n          if ((byte)(*(byte *)(DAT_001e3cb8 + 0x11) + 4) < 2) {\n            uVar15 = 4;\n          }\n          _DAT_001e3d00 = CONCAT44(uVar15,5);\n          DAT_001e3d08 = DAT_001e3cc0;\n          lVar2 = uVar20 * 8;\n          bVar21 = *(byte *)((long)&DAT_001e3c38 + lVar2 + 2);\n          bVar24 = DAT_001e3b14 == 2;\n          *(byte *)((long)&DAT_001e3c38 + lVar2 + 2) = bVar21 & 0xec;\n          if ((bVar24) && (DAT_001e3ce6 == '\0')) {\n            *(byte *)((long)&DAT_001e3c38 + lVar2 + 2) = bVar21 & 0xe0 | 8;\n          }\n          else {\n            *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) =\n                 *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xf3 | 4;\n          }\n          puVar10 = ds;\n          if ((*(byte *)(lVar13 + 0x10) & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 2;\n          }\n          goto LAB_00133b80;\n        }\n        goto LAB_00133424;\n      }\n      iVar16 = 0;\nLAB_00133cae:\n      if (bVar21 != 0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1b33,"build_modrm_byte");\n      }\n      if (DAT_001e3b14 == 2) {\n        DAT_001e3cec = 4;\n        uVar17 = (uint)(DAT_001e3ce6 == '\0');\n        uVar15 = (uint)(DAT_001e3ce6 != '\0');\n        _DAT_001e3d00 = 0x400000005;\n        iVar8 = 0;\n      }\n      else if ((DAT_001e3b14 == 1) == (DAT_001e3ce6 != '\0')) {\n        DAT_001e3cec = 5;\n        uVar17 = 0;\n        uVar15 = 1;\n        iVar8 = 0;\n      }\n      else {\n        DAT_001e3cec = 6;\n        uVar17 = 0;\n        uVar15 = 0;\n        iVar8 = 1;\n      }\n      uVar23 = ~DAT_00153a64;\n      *(uint *)(&DAT_001e3c38 + uVar20) =\n           iVar8 << 0x11 | uVar15 << 0x12 | uVar17 << 0x13 |\n           ~DAT_00153a60 & *(uint *)(&DAT_001e3c38 + uVar20);\n      puVar10 = ds;\n      puVar1 = (uint *)((long)&DAT_001e3c38 + uVar20 * 8 + 4);\n      *puVar1 = *puVar1 & uVar23;\nLAB_00133b80:\n      if (iVar16 != 0) goto LAB_00133a67;\n    }\n    else {\n      cVar6 = *(char *)(DAT_001e3cb8 + 0x11);\n      if ((byte)(cVar6 + 4U) < 2) {\n                    /* WARNING: Subroutine does not return */\n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1b0b,"build_modrm_byte");\n      }\n      DAT_001e3cec = 4;\n      if (DAT_001e3cb0 == 0) {\n        _DAT_001e3d00 = 5;\n        DAT_001e3d08 = DAT_001e3cc0;\n        lVar4 = uVar20 * 8;\n        bVar7 = *(byte *)((long)&DAT_001e3c38 + lVar4 + 2);\n        bVar24 = DAT_001e3b14 == 2;\n        *(byte *)((long)&DAT_001e3c38 + lVar4 + 2) = bVar7 & 0xec;\n        if ((bVar24) && (DAT_001e3ce6 == '\0')) {\n          *(byte *)((long)&DAT_001e3c38 + lVar4 + 2) = bVar7 & 0xe0 | 8;\n        }\n        else {\n          *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) =\n               *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xf3 | 4;\n        }\n      }\n      _DAT_001e3d00 = (ulong)CONCAT14(cVar6,_DAT_001e3d00);\n      if ((*(byte *)(lVar2 + 0x10) & 1) != 0) {\n        DAT_001e3cf8 = DAT_001e3cf8 | 2;\n      }\n      if ((*(byte *)(lVar2 + 0x10) & 4) == 0) goto LAB_0013313d;\n      DAT_001e3cfc = DAT_001e3cfc | 2;\n      if (lVar13 == 0) goto LAB_00133448;\nLAB_00133146:\n      bVar7 = *(byte *)(lVar13 + 0x11);\n      if (bVar7 < 0xfe) {\n        if ((*(byte *)(lVar13 + 0xb) & 0x40) == 0) {\n          if ((DAT_001e3b14 == 2) &&\n             ((*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f) != 0)) {\n            lVar2 = (uVar20 + 0xe) * 8;\n            bVar14 = *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2);\n            bVar12 = bVar14 & 0xe1;\n            *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar14 & 0xed;\n            if (DAT_001e3ce6 == '\0') {\n              *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar12 | 8;\n            }\n            else {\n              *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar12 | 4;\n            }\n          }\n          if (bVar21 == 0) {\n            DAT_001e3cec = (uint)bVar7;\n          }\n          if ((*(byte *)(lVar13 + 0x10) & 1) == 0) {\n            puVar10 = ss;\n            if (1 < (byte)(bVar7 - 4)) {\n              puVar10 = ds;\n            }\n          }\n          else {\n            DAT_001e3cf8 = DAT_001e3cf8 | 1;\n            puVar10 = ds;\n          }\n          _DAT_001e3d00 = CONCAT44(DAT_001e3d04,(uint)bVar7);\n          iVar16 = 0;\n          if ((bVar7 == 5) && (iVar16 = 0, DAT_001e3c2c == 0)) {\n            iVar16 = 1;\n            pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n            *pbVar5 = *pbVar5 | 1;\n          }\n          iVar8 = DAT_001e3d40;\n          DAT_001e3d08 = DAT_001e3cc0;\n          if (DAT_001e3cb8 == 0) {\n            if (bVar21 != 0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1bbf,"build_modrm_byte");\n            }\n            _DAT_001e3d00 = CONCAT44(4,_DAT_001e3d00);\n          }\n          else if (bVar21 == 0) {\n            DAT_001e3cec = 4;\n            uVar15 = (uint)*(byte *)(DAT_001e3cb8 + 0x11);\n            if ((byte)(*(byte *)(DAT_001e3cb8 + 0x11) + 4) < 2) {\n              uVar15 = 4;\n            }\n            _DAT_001e3d00 = CONCAT44(uVar15,_DAT_001e3d00);\n            if ((*(byte *)(DAT_001e3cb8 + 0x10) & 1) != 0) {\n              DAT_001e3cf8 = DAT_001e3cf8 | 2;\n            }\n          }\n          if (DAT_001e3c2c == 0) {\n            if ((iVar16 == 0) && (iVar16 = iVar8, DAT_001e3d40 != 0)) {\n              if (DAT_001e3d40 == 1) {\n                pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n                *pbVar5 = *pbVar5 | 1;\n              }\n              else {\n                pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n                *pbVar5 = *pbVar5 | 4;\n                iVar16 = 1;\n              }\n            }\n          }\n          else if (((&DAT_001e3c9c)[uVar20] == 0x179) || ((&DAT_001e3c9c)[uVar20] == 0x195)) {\n            DAT_001e3cf4 = 0;\n            goto LAB_00133b80;\n          }\n        }\n        else {\n          if (bVar21 != 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1b7c,"build_modrm_byte");\n          }\n          if (bVar7 == 3) {\n            if (DAT_001e3cb8 != 0) {\n              DAT_001e3cec = *(byte *)(DAT_001e3cb8 + 0x11) - 6;\n              goto LAB_0013317e;\n            }\n            DAT_001e3cec = 7;\n            puVar10 = ds;\n            iVar16 = 0;\n          }\n          else if (bVar7 == 5) {\n            if (DAT_001e3cb8 == 0) {\n              puVar10 = ss;\n              DAT_001e3cec = 6;\n              iVar16 = 0;\n              if ((*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f) == 0) {\n                pbVar5 = (byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2);\n                *pbVar5 = *pbVar5 | 1;\n                iVar16 = 1;\n              }\n            }\n            else {\n              DAT_001e3cec = *(byte *)(DAT_001e3cb8 + 0x11) - 4;\n              puVar10 = ss;\n              iVar16 = 0;\n            }\n          }\n          else {\n            DAT_001e3cec = bVar7 - 2;\nLAB_0013317e:\n            iVar16 = 0;\n            puVar10 = ds;\n          }\n        }\n        DAT_001e3cf4 = 1;\n        if (((ulong)(&DAT_001e3c38)[uVar20] >> 0x10 & 1) == 0) {\n          DAT_001e3cf4 = (uint)(((&DAT_001e3c38)[uVar20] & 0xe0000) != 0) * 2;\n        }\n        goto LAB_00133b80;\n      }\n      if (bVar21 != 0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1b6f,"build_modrm_byte");\n      }\n      DAT_001e3cec = 5;\n      *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) =\n           *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xe0 | 8;\n      uVar15 = DAT_001e3c2c;\n      (&DAT_001e3c88)[uVar20] = (&DAT_001e3c88)[uVar20] | 1;\n      if (uVar15 != 0) {\nLAB_00133424:\n        puVar10 = ds;\n        goto LAB_00133089;\n      }\nLAB_00133a60:\n      puVar10 = ds;\nLAB_00133a67:\n      if ((&DAT_001e3bc0)[uVar20 + 0x14] != 0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1bed,"build_modrm_byte");\n      }\n      uVar9 = (ulong)DAT_001e3c2c;\n      DAT_001e3c2c = DAT_001e3c2c + 1;\n      lVar13 = uVar9 * 0x20;\n      (&DAT_001e3bc0)[uVar20 + 0x14] = &DAT_001e3b60 + lVar13;\n      (&DAT_001e3b78)[lVar13] = 2;\n      *(undefined8 *)(&DAT_001e3b70 + lVar13) = 0;\n      *(undefined8 *)(&DAT_001e3b60 + lVar13) = 0;\n      *(undefined8 *)(&DAT_001e3b68 + lVar13) = 0;\n    }\n    bVar14 = DAT_001e3bee & 0xc;\n  }" if (parenthesized_expression "(DAT_001e3c30 == 0)" ( (binary_expression "DAT_001e3c30 == 0" identifier == number_literal) )) (compound_statement "{\n    if (DAT_001e3c28 == 2) {\n      if ((DAT_001e3bed >> 3 & 3) < 2) {\nLAB_0013335b:\n        if (DAT_001e3c24 == 3) {\nLAB_00133ea8:\n          if ((DAT_001e3c34 != 1) &&\n             ((DAT_001e3c34 != 0 ||\n              (((DAT_001e3bed & 0x18) != 8 && ((DAT_001e3c38._3_1_ & 1) == 0)))))) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1a6b,"build_modrm_byte");\n          }\n          uVar9 = (ulong)((DAT_001e3c38._1_1_ & 0xfc) != 0 || (DAT_001e3c38._3_1_ & 1) != 0);\n          uVar22 = 3;\n        }\n        else if (DAT_001e3c24 < 4) {\n          uVar22 = DAT_001e3c24;\n          if (DAT_001e3c24 != 2) goto LAB_00133dcf;\n        }\n        else {\n          if (DAT_001e3c24 != 4) goto joined_r0x00133753;\nLAB_00133379:\n          uVar9 = (ulong)DAT_001e3c34;\n          if (DAT_001e3c34 == 2) {\n            if (((DAT_001e3c38._1_1_ & 4) == 0) || ((DAT_001e3c40._1_1_ & 4) == 0))\n            goto LAB_00133d61;\n          }\n          else {\n            if ((((DAT_001e3bed & 0x18) != 8) || (DAT_001e3c34 != 1)) ||\n               ((((DAT_001e3c38._1_1_ & 4) == 0 && ((DAT_001e3c50._1_1_ & 4) == 0)) &&\n                (DAT_001e3d28 == 0)))) {\nLAB_00133d61:\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1a81,"build_modrm_byte");\n            }\n            uVar9 = (ulong)((DAT_001e3c38._1_1_ & 4) != 0);\n          }\n          uVar22 = 4;\n        }\nLAB_001337c1:\n        if (bVar19 != 8) {\n          uVar15 = (int)uVar9 + 1;\n          uVar18 = (ulong)uVar15;\n          if ((DAT_001e3d28 != 0) && (*(uint *)(DAT_001e3d28 + 4) == uVar15)) {\n            uVar18 = (ulong)((int)uVar9 + 2);\n          }\n          if ((DAT_001e3bed & 0x18) == 8) {\n            uVar20 = uVar9;\n            uVar11 = uVar18;\n            if ((((&DAT_001e3bf6)[uVar9 * 8] & 0x40) == 0) &&\n               (((&DAT_001e3bf6)[uVar18 * 8] & 0x40) != 0)) {\n              uVar20 = uVar18;\n              uVar11 = uVar9;\n            }\n            uVar15 = (int)uVar18 + 1;\n            uVar18 = (ulong)uVar15;\n            uVar9 = *(ulong *)((long)&DAT_001e3bc0 + (uVar11 + 6) * 8 + 4);\n            if ((uVar22 <= uVar15) ||\n               ((((uVar9 & 1) == 0 ||\n                 ((-1 < (char)((uVar9 & 0xfffffffff7ffffff) >> 0x18) &&\n                  (((&DAT_001e3bc8)[(uVar11 + 6) * 2] & 2) == 0)))) &&\n                (((uVar9 & 4) == 0 &&\n                 ((DAT_00153a50 != (int)(uVar9 & 0xfffffffff7ffffff) ||\n                  (DAT_00153a54 != (&DAT_001e3bc8)[(uVar11 + 6) * 2])))))))) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1ac9,"build_modrm_byte");\n            }\n            DAT_001e3d18 = (&DAT_001e3c60)[uVar11];\n            uVar9 = uVar20;\n          }\n        }\nLAB_001337ff:\n        DAT_001e3cf4 = 3;\n        if (((*(byte *)((long)&DAT_001e3bc0 + (uVar18 + 6) * 8 + 7) & 8) == 0) &&\n           ((*(ulong *)((long)&DAT_001e3bc0 + (uVar18 + 6) * 8 + 4) & 0x5f0000) == 0)) {\n          DAT_001e3cf0 = (uint)*(byte *)((&DAT_001e3c60)[uVar18] + 0x11);\n          DAT_001e3cec = (uint)*(byte *)((&DAT_001e3c60)[uVar9] + 0x11);\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar18] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 4;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 4;\n          }\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 1;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 1;\n          }\n        }\n        else {\n          DAT_001e3cf0 = (uint)*(byte *)((&DAT_001e3c60)[uVar9] + 0x11);\n          DAT_001e3cec = (uint)*(byte *)((&DAT_001e3c60)[uVar18] + 0x11);\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar18] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 1;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 1;\n          }\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 4;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 4;\n          }\n        }\n        if ((DAT_001e3b14 != 2) && ((DAT_001e3cf8 & 4) != 0)) {\n          if ((*(byte *)(&DAT_001e3bc8 + ((ulong)(DAT_001e3bf7 >> 3 & 1) + 0xe) * 2) & 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1af4,"build_modrm_byte");\n          }\n          DAT_001e3cf8 = DAT_001e3cf8 & 0xfffffffb;\n          FUN_00131f90(0xf0);\n          return (undefined1 *)0x0;\n        }\n        DAT_001e3cf4 = 3;\n        return (undefined1 *)0x0;\n      }\n    }\n    else if (DAT_001e3c28 == 3) {\n      if ((DAT_001e3bed & 0x18) == 8) goto LAB_0013335b;\n    }\n    else if ((DAT_001e3c28 == 4) && (bVar19 == 8)) {\n      if (DAT_001e3c24 == 3) goto LAB_00133ea8;\n      if (DAT_001e3c24 < 4) {\n        if (DAT_001e3c24 != 2) goto LAB_00133dcf;\n        goto LAB_001337ff;\n      }\n      if (DAT_001e3c24 == 4) goto LAB_00133379;\njoined_r0x00133753:\n      if (DAT_001e3c24 != 5) {\nLAB_00133dcf:\n                    /* WARNING: Subroutine does not return */\n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1aa0,"build_modrm_byte");\n      }\n      if (DAT_001e3bef == '\0') {\n        uVar9 = uVar20;\n        uVar22 = 5;\n      }\n      else {\n        if (((DAT_001e3c34 != 2) || (-1 < DAT_001e3bef)) || ((DAT_001e3c38._1_1_ & 0xfc) == 0)) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0011dd00("../../gas/config/tc-i386.c",0x1a96,"build_modrm_byte");\n        }\n        if ((DAT_001e3c40._1_1_ & 0xfc) == 0) {\n          if ((DAT_001e3c58._1_1_ & 0xfc) == 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1a9c,"build_modrm_byte");\n          }\n          uVar9 = 1;\n          uVar22 = 5;\n        }\n        else {\n          uVar9 = (ulong)DAT_001e3c34;\n          uVar22 = 5;\n        }\n      }\n      goto LAB_001337c1;\n    }\n    uVar22 = 0xffffffff;\n    puVar10 = (undefined1 *)0x0;\n  }" { (if_statement "if (DAT_001e3c28 == 2) {\n      if ((DAT_001e3bed >> 3 & 3) < 2) {\nLAB_0013335b:\n        if (DAT_001e3c24 == 3) {\nLAB_00133ea8:\n          if ((DAT_001e3c34 != 1) &&\n             ((DAT_001e3c34 != 0 ||\n              (((DAT_001e3bed & 0x18) != 8 && ((DAT_001e3c38._3_1_ & 1) == 0)))))) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1a6b,"build_modrm_byte");\n          }\n          uVar9 = (ulong)((DAT_001e3c38._1_1_ & 0xfc) != 0 || (DAT_001e3c38._3_1_ & 1) != 0);\n          uVar22 = 3;\n        }\n        else if (DAT_001e3c24 < 4) {\n          uVar22 = DAT_001e3c24;\n          if (DAT_001e3c24 != 2) goto LAB_00133dcf;\n        }\n        else {\n          if (DAT_001e3c24 != 4) goto joined_r0x00133753;\nLAB_00133379:\n          uVar9 = (ulong)DAT_001e3c34;\n          if (DAT_001e3c34 == 2) {\n            if (((DAT_001e3c38._1_1_ & 4) == 0) || ((DAT_001e3c40._1_1_ & 4) == 0))\n            goto LAB_00133d61;\n          }\n          else {\n            if ((((DAT_001e3bed & 0x18) != 8) || (DAT_001e3c34 != 1)) ||\n               ((((DAT_001e3c38._1_1_ & 4) == 0 && ((DAT_001e3c50._1_1_ & 4) == 0)) &&\n                (DAT_001e3d28 == 0)))) {\nLAB_00133d61:\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1a81,"build_modrm_byte");\n            }\n            uVar9 = (ulong)((DAT_001e3c38._1_1_ & 4) != 0);\n          }\n          uVar22 = 4;\n        }\nLAB_001337c1:\n        if (bVar19 != 8) {\n          uVar15 = (int)uVar9 + 1;\n          uVar18 = (ulong)uVar15;\n          if ((DAT_001e3d28 != 0) && (*(uint *)(DAT_001e3d28 + 4) == uVar15)) {\n            uVar18 = (ulong)((int)uVar9 + 2);\n          }\n          if ((DAT_001e3bed & 0x18) == 8) {\n            uVar20 = uVar9;\n            uVar11 = uVar18;\n            if ((((&DAT_001e3bf6)[uVar9 * 8] & 0x40) == 0) &&\n               (((&DAT_001e3bf6)[uVar18 * 8] & 0x40) != 0)) {\n              uVar20 = uVar18;\n              uVar11 = uVar9;\n            }\n            uVar15 = (int)uVar18 + 1;\n            uVar18 = (ulong)uVar15;\n            uVar9 = *(ulong *)((long)&DAT_001e3bc0 + (uVar11 + 6) * 8 + 4);\n            if ((uVar22 <= uVar15) ||\n               ((((uVar9 & 1) == 0 ||\n                 ((-1 < (char)((uVar9 & 0xfffffffff7ffffff) >> 0x18) &&\n                  (((&DAT_001e3bc8)[(uVar11 + 6) * 2] & 2) == 0)))) &&\n                (((uVar9 & 4) == 0 &&\n                 ((DAT_00153a50 != (int)(uVar9 & 0xfffffffff7ffffff) ||\n                  (DAT_00153a54 != (&DAT_001e3bc8)[(uVar11 + 6) * 2])))))))) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1ac9,"build_modrm_byte");\n            }\n            DAT_001e3d18 = (&DAT_001e3c60)[uVar11];\n            uVar9 = uVar20;\n          }\n        }\nLAB_001337ff:\n        DAT_001e3cf4 = 3;\n        if (((*(byte *)((long)&DAT_001e3bc0 + (uVar18 + 6) * 8 + 7) & 8) == 0) &&\n           ((*(ulong *)((long)&DAT_001e3bc0 + (uVar18 + 6) * 8 + 4) & 0x5f0000) == 0)) {\n          DAT_001e3cf0 = (uint)*(byte *)((&DAT_001e3c60)[uVar18] + 0x11);\n          DAT_001e3cec = (uint)*(byte *)((&DAT_001e3c60)[uVar9] + 0x11);\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar18] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 4;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 4;\n          }\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 1;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 1;\n          }\n        }\n        else {\n          DAT_001e3cf0 = (uint)*(byte *)((&DAT_001e3c60)[uVar9] + 0x11);\n          DAT_001e3cec = (uint)*(byte *)((&DAT_001e3c60)[uVar18] + 0x11);\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar18] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 1;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 1;\n          }\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 4;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 4;\n          }\n        }\n        if ((DAT_001e3b14 != 2) && ((DAT_001e3cf8 & 4) != 0)) {\n          if ((*(byte *)(&DAT_001e3bc8 + ((ulong)(DAT_001e3bf7 >> 3 & 1) + 0xe) * 2) & 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1af4,"build_modrm_byte");\n          }\n          DAT_001e3cf8 = DAT_001e3cf8 & 0xfffffffb;\n          FUN_00131f90(0xf0);\n          return (undefined1 *)0x0;\n        }\n        DAT_001e3cf4 = 3;\n        return (undefined1 *)0x0;\n      }\n    }\n    else if (DAT_001e3c28 == 3) {\n      if ((DAT_001e3bed & 0x18) == 8) goto LAB_0013335b;\n    }\n    else if ((DAT_001e3c28 == 4) && (bVar19 == 8)) {\n      if (DAT_001e3c24 == 3) goto LAB_00133ea8;\n      if (DAT_001e3c24 < 4) {\n        if (DAT_001e3c24 != 2) goto LAB_00133dcf;\n        goto LAB_001337ff;\n      }\n      if (DAT_001e3c24 == 4) goto LAB_00133379;\njoined_r0x00133753:\n      if (DAT_001e3c24 != 5) {\nLAB_00133dcf:\n                    /* WARNING: Subroutine does not return */\n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1aa0,"build_modrm_byte");\n      }\n      if (DAT_001e3bef == '\0') {\n        uVar9 = uVar20;\n        uVar22 = 5;\n      }\n      else {\n        if (((DAT_001e3c34 != 2) || (-1 < DAT_001e3bef)) || ((DAT_001e3c38._1_1_ & 0xfc) == 0)) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0011dd00("../../gas/config/tc-i386.c",0x1a96,"build_modrm_byte");\n        }\n        if ((DAT_001e3c40._1_1_ & 0xfc) == 0) {\n          if ((DAT_001e3c58._1_1_ & 0xfc) == 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1a9c,"build_modrm_byte");\n          }\n          uVar9 = 1;\n          uVar22 = 5;\n        }\n        else {\n          uVar9 = (ulong)DAT_001e3c34;\n          uVar22 = 5;\n        }\n      }\n      goto LAB_001337c1;\n    }" if (parenthesized_expression "(DAT_001e3c28 == 2)" ( (binary_expression "DAT_001e3c28 == 2" identifier == number_literal) )) (compound_statement "{\n      if ((DAT_001e3bed >> 3 & 3) < 2) {\nLAB_0013335b:\n        if (DAT_001e3c24 == 3) {\nLAB_00133ea8:\n          if ((DAT_001e3c34 != 1) &&\n             ((DAT_001e3c34 != 0 ||\n              (((DAT_001e3bed & 0x18) != 8 && ((DAT_001e3c38._3_1_ & 1) == 0)))))) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1a6b,"build_modrm_byte");\n          }\n          uVar9 = (ulong)((DAT_001e3c38._1_1_ & 0xfc) != 0 || (DAT_001e3c38._3_1_ & 1) != 0);\n          uVar22 = 3;\n        }\n        else if (DAT_001e3c24 < 4) {\n          uVar22 = DAT_001e3c24;\n          if (DAT_001e3c24 != 2) goto LAB_00133dcf;\n        }\n        else {\n          if (DAT_001e3c24 != 4) goto joined_r0x00133753;\nLAB_00133379:\n          uVar9 = (ulong)DAT_001e3c34;\n          if (DAT_001e3c34 == 2) {\n            if (((DAT_001e3c38._1_1_ & 4) == 0) || ((DAT_001e3c40._1_1_ & 4) == 0))\n            goto LAB_00133d61;\n          }\n          else {\n            if ((((DAT_001e3bed & 0x18) != 8) || (DAT_001e3c34 != 1)) ||\n               ((((DAT_001e3c38._1_1_ & 4) == 0 && ((DAT_001e3c50._1_1_ & 4) == 0)) &&\n                (DAT_001e3d28 == 0)))) {\nLAB_00133d61:\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1a81,"build_modrm_byte");\n            }\n            uVar9 = (ulong)((DAT_001e3c38._1_1_ & 4) != 0);\n          }\n          uVar22 = 4;\n        }\nLAB_001337c1:\n        if (bVar19 != 8) {\n          uVar15 = (int)uVar9 + 1;\n          uVar18 = (ulong)uVar15;\n          if ((DAT_001e3d28 != 0) && (*(uint *)(DAT_001e3d28 + 4) == uVar15)) {\n            uVar18 = (ulong)((int)uVar9 + 2);\n          }\n          if ((DAT_001e3bed & 0x18) == 8) {\n            uVar20 = uVar9;\n            uVar11 = uVar18;\n            if ((((&DAT_001e3bf6)[uVar9 * 8] & 0x40) == 0) &&\n               (((&DAT_001e3bf6)[uVar18 * 8] & 0x40) != 0)) {\n              uVar20 = uVar18;\n              uVar11 = uVar9;\n            }\n            uVar15 = (int)uVar18 + 1;\n            uVar18 = (ulong)uVar15;\n            uVar9 = *(ulong *)((long)&DAT_001e3bc0 + (uVar11 + 6) * 8 + 4);\n            if ((uVar22 <= uVar15) ||\n               ((((uVar9 & 1) == 0 ||\n                 ((-1 < (char)((uVar9 & 0xfffffffff7ffffff) >> 0x18) &&\n                  (((&DAT_001e3bc8)[(uVar11 + 6) * 2] & 2) == 0)))) &&\n                (((uVar9 & 4) == 0 &&\n                 ((DAT_00153a50 != (int)(uVar9 & 0xfffffffff7ffffff) ||\n                  (DAT_00153a54 != (&DAT_001e3bc8)[(uVar11 + 6) * 2])))))))) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1ac9,"build_modrm_byte");\n            }\n            DAT_001e3d18 = (&DAT_001e3c60)[uVar11];\n            uVar9 = uVar20;\n          }\n        }\nLAB_001337ff:\n        DAT_001e3cf4 = 3;\n        if (((*(byte *)((long)&DAT_001e3bc0 + (uVar18 + 6) * 8 + 7) & 8) == 0) &&\n           ((*(ulong *)((long)&DAT_001e3bc0 + (uVar18 + 6) * 8 + 4) & 0x5f0000) == 0)) {\n          DAT_001e3cf0 = (uint)*(byte *)((&DAT_001e3c60)[uVar18] + 0x11);\n          DAT_001e3cec = (uint)*(byte *)((&DAT_001e3c60)[uVar9] + 0x11);\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar18] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 4;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 4;\n          }\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 1;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 1;\n          }\n        }\n        else {\n          DAT_001e3cf0 = (uint)*(byte *)((&DAT_001e3c60)[uVar9] + 0x11);\n          DAT_001e3cec = (uint)*(byte *)((&DAT_001e3c60)[uVar18] + 0x11);\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar18] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 1;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 1;\n          }\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 4;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 4;\n          }\n        }\n        if ((DAT_001e3b14 != 2) && ((DAT_001e3cf8 & 4) != 0)) {\n          if ((*(byte *)(&DAT_001e3bc8 + ((ulong)(DAT_001e3bf7 >> 3 & 1) + 0xe) * 2) & 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1af4,"build_modrm_byte");\n          }\n          DAT_001e3cf8 = DAT_001e3cf8 & 0xfffffffb;\n          FUN_00131f90(0xf0);\n          return (undefined1 *)0x0;\n        }\n        DAT_001e3cf4 = 3;\n        return (undefined1 *)0x0;\n      }\n    }" { (if_statement "if ((DAT_001e3bed >> 3 & 3) < 2) {\nLAB_0013335b:\n        if (DAT_001e3c24 == 3) {\nLAB_00133ea8:\n          if ((DAT_001e3c34 != 1) &&\n             ((DAT_001e3c34 != 0 ||\n              (((DAT_001e3bed & 0x18) != 8 && ((DAT_001e3c38._3_1_ & 1) == 0)))))) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1a6b,"build_modrm_byte");\n          }\n          uVar9 = (ulong)((DAT_001e3c38._1_1_ & 0xfc) != 0 || (DAT_001e3c38._3_1_ & 1) != 0);\n          uVar22 = 3;\n        }\n        else if (DAT_001e3c24 < 4) {\n          uVar22 = DAT_001e3c24;\n          if (DAT_001e3c24 != 2) goto LAB_00133dcf;\n        }\n        else {\n          if (DAT_001e3c24 != 4) goto joined_r0x00133753;\nLAB_00133379:\n          uVar9 = (ulong)DAT_001e3c34;\n          if (DAT_001e3c34 == 2) {\n            if (((DAT_001e3c38._1_1_ & 4) == 0) || ((DAT_001e3c40._1_1_ & 4) == 0))\n            goto LAB_00133d61;\n          }\n          else {\n            if ((((DAT_001e3bed & 0x18) != 8) || (DAT_001e3c34 != 1)) ||\n               ((((DAT_001e3c38._1_1_ & 4) == 0 && ((DAT_001e3c50._1_1_ & 4) == 0)) &&\n                (DAT_001e3d28 == 0)))) {\nLAB_00133d61:\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1a81,"build_modrm_byte");\n            }\n            uVar9 = (ulong)((DAT_001e3c38._1_1_ & 4) != 0);\n          }\n          uVar22 = 4;\n        }\nLAB_001337c1:\n        if (bVar19 != 8) {\n          uVar15 = (int)uVar9 + 1;\n          uVar18 = (ulong)uVar15;\n          if ((DAT_001e3d28 != 0) && (*(uint *)(DAT_001e3d28 + 4) == uVar15)) {\n            uVar18 = (ulong)((int)uVar9 + 2);\n          }\n          if ((DAT_001e3bed & 0x18) == 8) {\n            uVar20 = uVar9;\n            uVar11 = uVar18;\n            if ((((&DAT_001e3bf6)[uVar9 * 8] & 0x40) == 0) &&\n               (((&DAT_001e3bf6)[uVar18 * 8] & 0x40) != 0)) {\n              uVar20 = uVar18;\n              uVar11 = uVar9;\n            }\n            uVar15 = (int)uVar18 + 1;\n            uVar18 = (ulong)uVar15;\n            uVar9 = *(ulong *)((long)&DAT_001e3bc0 + (uVar11 + 6) * 8 + 4);\n            if ((uVar22 <= uVar15) ||\n               ((((uVar9 & 1) == 0 ||\n                 ((-1 < (char)((uVar9 & 0xfffffffff7ffffff) >> 0x18) &&\n                  (((&DAT_001e3bc8)[(uVar11 + 6) * 2] & 2) == 0)))) &&\n                (((uVar9 & 4) == 0 &&\n                 ((DAT_00153a50 != (int)(uVar9 & 0xfffffffff7ffffff) ||\n                  (DAT_00153a54 != (&DAT_001e3bc8)[(uVar11 + 6) * 2])))))))) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1ac9,"build_modrm_byte");\n            }\n            DAT_001e3d18 = (&DAT_001e3c60)[uVar11];\n            uVar9 = uVar20;\n          }\n        }\nLAB_001337ff:\n        DAT_001e3cf4 = 3;\n        if (((*(byte *)((long)&DAT_001e3bc0 + (uVar18 + 6) * 8 + 7) & 8) == 0) &&\n           ((*(ulong *)((long)&DAT_001e3bc0 + (uVar18 + 6) * 8 + 4) & 0x5f0000) == 0)) {\n          DAT_001e3cf0 = (uint)*(byte *)((&DAT_001e3c60)[uVar18] + 0x11);\n          DAT_001e3cec = (uint)*(byte *)((&DAT_001e3c60)[uVar9] + 0x11);\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar18] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 4;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 4;\n          }\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 1;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 1;\n          }\n        }\n        else {\n          DAT_001e3cf0 = (uint)*(byte *)((&DAT_001e3c60)[uVar9] + 0x11);\n          DAT_001e3cec = (uint)*(byte *)((&DAT_001e3c60)[uVar18] + 0x11);\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar18] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 1;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 1;\n          }\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 4;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 4;\n          }\n        }\n        if ((DAT_001e3b14 != 2) && ((DAT_001e3cf8 & 4) != 0)) {\n          if ((*(byte *)(&DAT_001e3bc8 + ((ulong)(DAT_001e3bf7 >> 3 & 1) + 0xe) * 2) & 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1af4,"build_modrm_byte");\n          }\n          DAT_001e3cf8 = DAT_001e3cf8 & 0xfffffffb;\n          FUN_00131f90(0xf0);\n          return (undefined1 *)0x0;\n        }\n        DAT_001e3cf4 = 3;\n        return (undefined1 *)0x0;\n      }" if (parenthesized_expression "((DAT_001e3bed >> 3 & 3) < 2)" ( (binary_expression "(DAT_001e3bed >> 3 & 3) < 2" (parenthesized_expression "(DAT_001e3bed >> 3 & 3)" ( (binary_expression "DAT_001e3bed >> 3 & 3" (binary_expression "DAT_001e3bed >> 3" identifier >> number_literal) & number_literal) )) < number_literal) )) (compound_statement "{\nLAB_0013335b:\n        if (DAT_001e3c24 == 3) {\nLAB_00133ea8:\n          if ((DAT_001e3c34 != 1) &&\n             ((DAT_001e3c34 != 0 ||\n              (((DAT_001e3bed & 0x18) != 8 && ((DAT_001e3c38._3_1_ & 1) == 0)))))) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1a6b,"build_modrm_byte");\n          }\n          uVar9 = (ulong)((DAT_001e3c38._1_1_ & 0xfc) != 0 || (DAT_001e3c38._3_1_ & 1) != 0);\n          uVar22 = 3;\n        }\n        else if (DAT_001e3c24 < 4) {\n          uVar22 = DAT_001e3c24;\n          if (DAT_001e3c24 != 2) goto LAB_00133dcf;\n        }\n        else {\n          if (DAT_001e3c24 != 4) goto joined_r0x00133753;\nLAB_00133379:\n          uVar9 = (ulong)DAT_001e3c34;\n          if (DAT_001e3c34 == 2) {\n            if (((DAT_001e3c38._1_1_ & 4) == 0) || ((DAT_001e3c40._1_1_ & 4) == 0))\n            goto LAB_00133d61;\n          }\n          else {\n            if ((((DAT_001e3bed & 0x18) != 8) || (DAT_001e3c34 != 1)) ||\n               ((((DAT_001e3c38._1_1_ & 4) == 0 && ((DAT_001e3c50._1_1_ & 4) == 0)) &&\n                (DAT_001e3d28 == 0)))) {\nLAB_00133d61:\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1a81,"build_modrm_byte");\n            }\n            uVar9 = (ulong)((DAT_001e3c38._1_1_ & 4) != 0);\n          }\n          uVar22 = 4;\n        }\nLAB_001337c1:\n        if (bVar19 != 8) {\n          uVar15 = (int)uVar9 + 1;\n          uVar18 = (ulong)uVar15;\n          if ((DAT_001e3d28 != 0) && (*(uint *)(DAT_001e3d28 + 4) == uVar15)) {\n            uVar18 = (ulong)((int)uVar9 + 2);\n          }\n          if ((DAT_001e3bed & 0x18) == 8) {\n            uVar20 = uVar9;\n            uVar11 = uVar18;\n            if ((((&DAT_001e3bf6)[uVar9 * 8] & 0x40) == 0) &&\n               (((&DAT_001e3bf6)[uVar18 * 8] & 0x40) != 0)) {\n              uVar20 = uVar18;\n              uVar11 = uVar9;\n            }\n            uVar15 = (int)uVar18 + 1;\n            uVar18 = (ulong)uVar15;\n            uVar9 = *(ulong *)((long)&DAT_001e3bc0 + (uVar11 + 6) * 8 + 4);\n            if ((uVar22 <= uVar15) ||\n               ((((uVar9 & 1) == 0 ||\n                 ((-1 < (char)((uVar9 & 0xfffffffff7ffffff) >> 0x18) &&\n                  (((&DAT_001e3bc8)[(uVar11 + 6) * 2] & 2) == 0)))) &&\n                (((uVar9 & 4) == 0 &&\n                 ((DAT_00153a50 != (int)(uVar9 & 0xfffffffff7ffffff) ||\n                  (DAT_00153a54 != (&DAT_001e3bc8)[(uVar11 + 6) * 2])))))))) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1ac9,"build_modrm_byte");\n            }\n            DAT_001e3d18 = (&DAT_001e3c60)[uVar11];\n            uVar9 = uVar20;\n          }\n        }\nLAB_001337ff:\n        DAT_001e3cf4 = 3;\n        if (((*(byte *)((long)&DAT_001e3bc0 + (uVar18 + 6) * 8 + 7) & 8) == 0) &&\n           ((*(ulong *)((long)&DAT_001e3bc0 + (uVar18 + 6) * 8 + 4) & 0x5f0000) == 0)) {\n          DAT_001e3cf0 = (uint)*(byte *)((&DAT_001e3c60)[uVar18] + 0x11);\n          DAT_001e3cec = (uint)*(byte *)((&DAT_001e3c60)[uVar9] + 0x11);\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar18] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 4;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 4;\n          }\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 1;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 1;\n          }\n        }\n        else {\n          DAT_001e3cf0 = (uint)*(byte *)((&DAT_001e3c60)[uVar9] + 0x11);\n          DAT_001e3cec = (uint)*(byte *)((&DAT_001e3c60)[uVar18] + 0x11);\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar18] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 1;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 1;\n          }\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 4;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 4;\n          }\n        }\n        if ((DAT_001e3b14 != 2) && ((DAT_001e3cf8 & 4) != 0)) {\n          if ((*(byte *)(&DAT_001e3bc8 + ((ulong)(DAT_001e3bf7 >> 3 & 1) + 0xe) * 2) & 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1af4,"build_modrm_byte");\n          }\n          DAT_001e3cf8 = DAT_001e3cf8 & 0xfffffffb;\n          FUN_00131f90(0xf0);\n          return (undefined1 *)0x0;\n        }\n        DAT_001e3cf4 = 3;\n        return (undefined1 *)0x0;\n      }" { (labeled_statement "LAB_0013335b:\n        if (DAT_001e3c24 == 3) {\nLAB_00133ea8:\n          if ((DAT_001e3c34 != 1) &&\n             ((DAT_001e3c34 != 0 ||\n              (((DAT_001e3bed & 0x18) != 8 && ((DAT_001e3c38._3_1_ & 1) == 0)))))) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1a6b,"build_modrm_byte");\n          }\n          uVar9 = (ulong)((DAT_001e3c38._1_1_ & 0xfc) != 0 || (DAT_001e3c38._3_1_ & 1) != 0);\n          uVar22 = 3;\n        }\n        else if (DAT_001e3c24 < 4) {\n          uVar22 = DAT_001e3c24;\n          if (DAT_001e3c24 != 2) goto LAB_00133dcf;\n        }\n        else {\n          if (DAT_001e3c24 != 4) goto joined_r0x00133753;\nLAB_00133379:\n          uVar9 = (ulong)DAT_001e3c34;\n          if (DAT_001e3c34 == 2) {\n            if (((DAT_001e3c38._1_1_ & 4) == 0) || ((DAT_001e3c40._1_1_ & 4) == 0))\n            goto LAB_00133d61;\n          }\n          else {\n            if ((((DAT_001e3bed & 0x18) != 8) || (DAT_001e3c34 != 1)) ||\n               ((((DAT_001e3c38._1_1_ & 4) == 0 && ((DAT_001e3c50._1_1_ & 4) == 0)) &&\n                (DAT_001e3d28 == 0)))) {\nLAB_00133d61:\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1a81,"build_modrm_byte");\n            }\n            uVar9 = (ulong)((DAT_001e3c38._1_1_ & 4) != 0);\n          }\n          uVar22 = 4;\n        }" statement_identifier : (if_statement "if (DAT_001e3c24 == 3) {\nLAB_00133ea8:\n          if ((DAT_001e3c34 != 1) &&\n             ((DAT_001e3c34 != 0 ||\n              (((DAT_001e3bed & 0x18) != 8 && ((DAT_001e3c38._3_1_ & 1) == 0)))))) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1a6b,"build_modrm_byte");\n          }\n          uVar9 = (ulong)((DAT_001e3c38._1_1_ & 0xfc) != 0 || (DAT_001e3c38._3_1_ & 1) != 0);\n          uVar22 = 3;\n        }\n        else if (DAT_001e3c24 < 4) {\n          uVar22 = DAT_001e3c24;\n          if (DAT_001e3c24 != 2) goto LAB_00133dcf;\n        }\n        else {\n          if (DAT_001e3c24 != 4) goto joined_r0x00133753;\nLAB_00133379:\n          uVar9 = (ulong)DAT_001e3c34;\n          if (DAT_001e3c34 == 2) {\n            if (((DAT_001e3c38._1_1_ & 4) == 0) || ((DAT_001e3c40._1_1_ & 4) == 0))\n            goto LAB_00133d61;\n          }\n          else {\n            if ((((DAT_001e3bed & 0x18) != 8) || (DAT_001e3c34 != 1)) ||\n               ((((DAT_001e3c38._1_1_ & 4) == 0 && ((DAT_001e3c50._1_1_ & 4) == 0)) &&\n                (DAT_001e3d28 == 0)))) {\nLAB_00133d61:\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1a81,"build_modrm_byte");\n            }\n            uVar9 = (ulong)((DAT_001e3c38._1_1_ & 4) != 0);\n          }\n          uVar22 = 4;\n        }" if (parenthesized_expression "(DAT_001e3c24 == 3)" ( (binary_expression "DAT_001e3c24 == 3" identifier == number_literal) )) (compound_statement "{\nLAB_00133ea8:\n          if ((DAT_001e3c34 != 1) &&\n             ((DAT_001e3c34 != 0 ||\n              (((DAT_001e3bed & 0x18) != 8 && ((DAT_001e3c38._3_1_ & 1) == 0)))))) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1a6b,"build_modrm_byte");\n          }\n          uVar9 = (ulong)((DAT_001e3c38._1_1_ & 0xfc) != 0 || (DAT_001e3c38._3_1_ & 1) != 0);\n          uVar22 = 3;\n        }" { (labeled_statement "LAB_00133ea8:\n          if ((DAT_001e3c34 != 1) &&\n             ((DAT_001e3c34 != 0 ||\n              (((DAT_001e3bed & 0x18) != 8 && ((DAT_001e3c38._3_1_ & 1) == 0)))))) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1a6b,"build_modrm_byte");\n          }" statement_identifier : (if_statement "if ((DAT_001e3c34 != 1) &&\n             ((DAT_001e3c34 != 0 ||\n              (((DAT_001e3bed & 0x18) != 8 && ((DAT_001e3c38._3_1_ & 1) == 0)))))) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1a6b,"build_modrm_byte");\n          }" if (parenthesized_expression "((DAT_001e3c34 != 1) &&\n             ((DAT_001e3c34 != 0 ||\n              (((DAT_001e3bed & 0x18) != 8 && ((DAT_001e3c38._3_1_ & 1) == 0))))))" ( (binary_expression "(DAT_001e3c34 != 1) &&\n             ((DAT_001e3c34 != 0 ||\n              (((DAT_001e3bed & 0x18) != 8 && ((DAT_001e3c38._3_1_ & 1) == 0)))))" (parenthesized_expression "(DAT_001e3c34 != 1)" ( (binary_expression "DAT_001e3c34 != 1" identifier != number_literal) )) && (parenthesized_expression "((DAT_001e3c34 != 0 ||\n              (((DAT_001e3bed & 0x18) != 8 && ((DAT_001e3c38._3_1_ & 1) == 0)))))" ( (parenthesized_expression "(DAT_001e3c34 != 0 ||\n              (((DAT_001e3bed & 0x18) != 8 && ((DAT_001e3c38._3_1_ & 1) == 0))))" ( (binary_expression "DAT_001e3c34 != 0 ||\n              (((DAT_001e3bed & 0x18) != 8 && ((DAT_001e3c38._3_1_ & 1) == 0)))" (binary_expression "DAT_001e3c34 != 0" identifier != number_literal) || (parenthesized_expression "(((DAT_001e3bed & 0x18) != 8 && ((DAT_001e3c38._3_1_ & 1) == 0)))" ( (parenthesized_expression "((DAT_001e3bed & 0x18) != 8 && ((DAT_001e3c38._3_1_ & 1) == 0))" ( (binary_expression "(DAT_001e3bed & 0x18) != 8 && ((DAT_001e3c38._3_1_ & 1) == 0)" (binary_expression "(DAT_001e3bed & 0x18) != 8" (parenthesized_expression "(DAT_001e3bed & 0x18)" ( (binary_expression "DAT_001e3bed & 0x18" identifier & number_literal) )) != number_literal) && (parenthesized_expression "((DAT_001e3c38._3_1_ & 1) == 0)" ( (binary_expression "(DAT_001e3c38._3_1_ & 1) == 0" (parenthesized_expression "(DAT_001e3c38._3_1_ & 1)" ( (binary_expression "DAT_001e3c38._3_1_ & 1" (field_expression "DAT_001e3c38._3_1_" identifier . field_identifier) & number_literal) )) == number_literal) ))) )) ))) )) ))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1a6b,"build_modrm_byte");\n          }" { comment (expression_statement "FUN_0011dd00("../../gas/config/tc-i386.c",0x1a6b,"build_modrm_byte");" (call_expression "FUN_0011dd00("../../gas/config/tc-i386.c",0x1a6b,"build_modrm_byte")" identifier (argument_list "("../../gas/config/tc-i386.c",0x1a6b,"build_modrm_byte")" ( (string_literal ""../../gas/config/tc-i386.c"" " string_content ") , number_literal , (string_literal ""build_modrm_byte"" " string_content ") ))) ;) }))) (expression_statement "uVar9 = (ulong)((DAT_001e3c38._1_1_ & 0xfc) != 0 || (DAT_001e3c38._3_1_ & 1) != 0);" (assignment_expression "uVar9 = (ulong)((DAT_001e3c38._1_1_ & 0xfc) != 0 || (DAT_001e3c38._3_1_ & 1) != 0)" identifier = (call_expression "(ulong)((DAT_001e3c38._1_1_ & 0xfc) != 0 || (DAT_001e3c38._3_1_ & 1) != 0)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((DAT_001e3c38._1_1_ & 0xfc) != 0 || (DAT_001e3c38._3_1_ & 1) != 0)" ( (binary_expression "(DAT_001e3c38._1_1_ & 0xfc) != 0 || (DAT_001e3c38._3_1_ & 1) != 0" (binary_expression "(DAT_001e3c38._1_1_ & 0xfc) != 0" (parenthesized_expression "(DAT_001e3c38._1_1_ & 0xfc)" ( (binary_expression "DAT_001e3c38._1_1_ & 0xfc" (field_expression "DAT_001e3c38._1_1_" identifier . field_identifier) & number_literal) )) != number_literal) || (binary_expression "(DAT_001e3c38._3_1_ & 1) != 0" (parenthesized_expression "(DAT_001e3c38._3_1_ & 1)" ( (binary_expression "DAT_001e3c38._3_1_ & 1" (field_expression "DAT_001e3c38._3_1_" identifier . field_identifier) & number_literal) )) != number_literal)) )))) ;) (expression_statement "uVar22 = 3;" (assignment_expression "uVar22 = 3" identifier = number_literal) ;) }) (else_clause "else if (DAT_001e3c24 < 4) {\n          uVar22 = DAT_001e3c24;\n          if (DAT_001e3c24 != 2) goto LAB_00133dcf;\n        }\n        else {\n          if (DAT_001e3c24 != 4) goto joined_r0x00133753;\nLAB_00133379:\n          uVar9 = (ulong)DAT_001e3c34;\n          if (DAT_001e3c34 == 2) {\n            if (((DAT_001e3c38._1_1_ & 4) == 0) || ((DAT_001e3c40._1_1_ & 4) == 0))\n            goto LAB_00133d61;\n          }\n          else {\n            if ((((DAT_001e3bed & 0x18) != 8) || (DAT_001e3c34 != 1)) ||\n               ((((DAT_001e3c38._1_1_ & 4) == 0 && ((DAT_001e3c50._1_1_ & 4) == 0)) &&\n                (DAT_001e3d28 == 0)))) {\nLAB_00133d61:\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1a81,"build_modrm_byte");\n            }\n            uVar9 = (ulong)((DAT_001e3c38._1_1_ & 4) != 0);\n          }\n          uVar22 = 4;\n        }" else (if_statement "if (DAT_001e3c24 < 4) {\n          uVar22 = DAT_001e3c24;\n          if (DAT_001e3c24 != 2) goto LAB_00133dcf;\n        }\n        else {\n          if (DAT_001e3c24 != 4) goto joined_r0x00133753;\nLAB_00133379:\n          uVar9 = (ulong)DAT_001e3c34;\n          if (DAT_001e3c34 == 2) {\n            if (((DAT_001e3c38._1_1_ & 4) == 0) || ((DAT_001e3c40._1_1_ & 4) == 0))\n            goto LAB_00133d61;\n          }\n          else {\n            if ((((DAT_001e3bed & 0x18) != 8) || (DAT_001e3c34 != 1)) ||\n               ((((DAT_001e3c38._1_1_ & 4) == 0 && ((DAT_001e3c50._1_1_ & 4) == 0)) &&\n                (DAT_001e3d28 == 0)))) {\nLAB_00133d61:\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1a81,"build_modrm_byte");\n            }\n            uVar9 = (ulong)((DAT_001e3c38._1_1_ & 4) != 0);\n          }\n          uVar22 = 4;\n        }" if (parenthesized_expression "(DAT_001e3c24 < 4)" ( (binary_expression "DAT_001e3c24 < 4" identifier < number_literal) )) (compound_statement "{\n          uVar22 = DAT_001e3c24;\n          if (DAT_001e3c24 != 2) goto LAB_00133dcf;\n        }" { (expression_statement "uVar22 = DAT_001e3c24;" (assignment_expression "uVar22 = DAT_001e3c24" identifier = identifier) ;) (if_statement "if (DAT_001e3c24 != 2) goto LAB_00133dcf;" if (parenthesized_expression "(DAT_001e3c24 != 2)" ( (binary_expression "DAT_001e3c24 != 2" identifier != number_literal) )) (goto_statement "goto LAB_00133dcf;" goto statement_identifier ;)) }) (else_clause "else {\n          if (DAT_001e3c24 != 4) goto joined_r0x00133753;\nLAB_00133379:\n          uVar9 = (ulong)DAT_001e3c34;\n          if (DAT_001e3c34 == 2) {\n            if (((DAT_001e3c38._1_1_ & 4) == 0) || ((DAT_001e3c40._1_1_ & 4) == 0))\n            goto LAB_00133d61;\n          }\n          else {\n            if ((((DAT_001e3bed & 0x18) != 8) || (DAT_001e3c34 != 1)) ||\n               ((((DAT_001e3c38._1_1_ & 4) == 0 && ((DAT_001e3c50._1_1_ & 4) == 0)) &&\n                (DAT_001e3d28 == 0)))) {\nLAB_00133d61:\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1a81,"build_modrm_byte");\n            }\n            uVar9 = (ulong)((DAT_001e3c38._1_1_ & 4) != 0);\n          }\n          uVar22 = 4;\n        }" else (compound_statement "{\n          if (DAT_001e3c24 != 4) goto joined_r0x00133753;\nLAB_00133379:\n          uVar9 = (ulong)DAT_001e3c34;\n          if (DAT_001e3c34 == 2) {\n            if (((DAT_001e3c38._1_1_ & 4) == 0) || ((DAT_001e3c40._1_1_ & 4) == 0))\n            goto LAB_00133d61;\n          }\n          else {\n            if ((((DAT_001e3bed & 0x18) != 8) || (DAT_001e3c34 != 1)) ||\n               ((((DAT_001e3c38._1_1_ & 4) == 0 && ((DAT_001e3c50._1_1_ & 4) == 0)) &&\n                (DAT_001e3d28 == 0)))) {\nLAB_00133d61:\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1a81,"build_modrm_byte");\n            }\n            uVar9 = (ulong)((DAT_001e3c38._1_1_ & 4) != 0);\n          }\n          uVar22 = 4;\n        }" { (if_statement "if (DAT_001e3c24 != 4) goto joined_r0x00133753;" if (parenthesized_expression "(DAT_001e3c24 != 4)" ( (binary_expression "DAT_001e3c24 != 4" identifier != number_literal) )) (goto_statement "goto joined_r0x00133753;" goto statement_identifier ;)) (labeled_statement "LAB_00133379:\n          uVar9 = (ulong)DAT_001e3c34;" statement_identifier : (expression_statement "uVar9 = (ulong)DAT_001e3c34;" (assignment_expression "uVar9 = (ulong)DAT_001e3c34" identifier = (cast_expression "(ulong)DAT_001e3c34" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;)) (if_statement "if (DAT_001e3c34 == 2) {\n            if (((DAT_001e3c38._1_1_ & 4) == 0) || ((DAT_001e3c40._1_1_ & 4) == 0))\n            goto LAB_00133d61;\n          }\n          else {\n            if ((((DAT_001e3bed & 0x18) != 8) || (DAT_001e3c34 != 1)) ||\n               ((((DAT_001e3c38._1_1_ & 4) == 0 && ((DAT_001e3c50._1_1_ & 4) == 0)) &&\n                (DAT_001e3d28 == 0)))) {\nLAB_00133d61:\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1a81,"build_modrm_byte");\n            }\n            uVar9 = (ulong)((DAT_001e3c38._1_1_ & 4) != 0);\n          }" if (parenthesized_expression "(DAT_001e3c34 == 2)" ( (binary_expression "DAT_001e3c34 == 2" identifier == number_literal) )) (compound_statement "{\n            if (((DAT_001e3c38._1_1_ & 4) == 0) || ((DAT_001e3c40._1_1_ & 4) == 0))\n            goto LAB_00133d61;\n          }" { (if_statement "if (((DAT_001e3c38._1_1_ & 4) == 0) || ((DAT_001e3c40._1_1_ & 4) == 0))\n            goto LAB_00133d61;" if (parenthesized_expression "(((DAT_001e3c38._1_1_ & 4) == 0) || ((DAT_001e3c40._1_1_ & 4) == 0))" ( (binary_expression "((DAT_001e3c38._1_1_ & 4) == 0) || ((DAT_001e3c40._1_1_ & 4) == 0)" (parenthesized_expression "((DAT_001e3c38._1_1_ & 4) == 0)" ( (binary_expression "(DAT_001e3c38._1_1_ & 4) == 0" (parenthesized_expression "(DAT_001e3c38._1_1_ & 4)" ( (binary_expression "DAT_001e3c38._1_1_ & 4" (field_expression "DAT_001e3c38._1_1_" identifier . field_identifier) & number_literal) )) == number_literal) )) || (parenthesized_expression "((DAT_001e3c40._1_1_ & 4) == 0)" ( (binary_expression "(DAT_001e3c40._1_1_ & 4) == 0" (parenthesized_expression "(DAT_001e3c40._1_1_ & 4)" ( (binary_expression "DAT_001e3c40._1_1_ & 4" (field_expression "DAT_001e3c40._1_1_" identifier . field_identifier) & number_literal) )) == number_literal) ))) )) (goto_statement "goto LAB_00133d61;" goto statement_identifier ;)) }) (else_clause "else {\n            if ((((DAT_001e3bed & 0x18) != 8) || (DAT_001e3c34 != 1)) ||\n               ((((DAT_001e3c38._1_1_ & 4) == 0 && ((DAT_001e3c50._1_1_ & 4) == 0)) &&\n                (DAT_001e3d28 == 0)))) {\nLAB_00133d61:\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1a81,"build_modrm_byte");\n            }\n            uVar9 = (ulong)((DAT_001e3c38._1_1_ & 4) != 0);\n          }" else (compound_statement "{\n            if ((((DAT_001e3bed & 0x18) != 8) || (DAT_001e3c34 != 1)) ||\n               ((((DAT_001e3c38._1_1_ & 4) == 0 && ((DAT_001e3c50._1_1_ & 4) == 0)) &&\n                (DAT_001e3d28 == 0)))) {\nLAB_00133d61:\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1a81,"build_modrm_byte");\n            }\n            uVar9 = (ulong)((DAT_001e3c38._1_1_ & 4) != 0);\n          }" { (if_statement "if ((((DAT_001e3bed & 0x18) != 8) || (DAT_001e3c34 != 1)) ||\n               ((((DAT_001e3c38._1_1_ & 4) == 0 && ((DAT_001e3c50._1_1_ & 4) == 0)) &&\n                (DAT_001e3d28 == 0)))) {\nLAB_00133d61:\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1a81,"build_modrm_byte");\n            }" if (parenthesized_expression "((((DAT_001e3bed & 0x18) != 8) || (DAT_001e3c34 != 1)) ||\n               ((((DAT_001e3c38._1_1_ & 4) == 0 && ((DAT_001e3c50._1_1_ & 4) == 0)) &&\n                (DAT_001e3d28 == 0))))" ( (binary_expression "(((DAT_001e3bed & 0x18) != 8) || (DAT_001e3c34 != 1)) ||\n               ((((DAT_001e3c38._1_1_ & 4) == 0 && ((DAT_001e3c50._1_1_ & 4) == 0)) &&\n                (DAT_001e3d28 == 0)))" (parenthesized_expression "(((DAT_001e3bed & 0x18) != 8) || (DAT_001e3c34 != 1))" ( (binary_expression "((DAT_001e3bed & 0x18) != 8) || (DAT_001e3c34 != 1)" (parenthesized_expression "((DAT_001e3bed & 0x18) != 8)" ( (binary_expression "(DAT_001e3bed & 0x18) != 8" (parenthesized_expression "(DAT_001e3bed & 0x18)" ( (binary_expression "DAT_001e3bed & 0x18" identifier & number_literal) )) != number_literal) )) || (parenthesized_expression "(DAT_001e3c34 != 1)" ( (binary_expression "DAT_001e3c34 != 1" identifier != number_literal) ))) )) || (parenthesized_expression "((((DAT_001e3c38._1_1_ & 4) == 0 && ((DAT_001e3c50._1_1_ & 4) == 0)) &&\n                (DAT_001e3d28 == 0)))" ( (parenthesized_expression "(((DAT_001e3c38._1_1_ & 4) == 0 && ((DAT_001e3c50._1_1_ & 4) == 0)) &&\n                (DAT_001e3d28 == 0))" ( (binary_expression "((DAT_001e3c38._1_1_ & 4) == 0 && ((DAT_001e3c50._1_1_ & 4) == 0)) &&\n                (DAT_001e3d28 == 0)" (parenthesized_expression "((DAT_001e3c38._1_1_ & 4) == 0 && ((DAT_001e3c50._1_1_ & 4) == 0))" ( (binary_expression "(DAT_001e3c38._1_1_ & 4) == 0 && ((DAT_001e3c50._1_1_ & 4) == 0)" (binary_expression "(DAT_001e3c38._1_1_ & 4) == 0" (parenthesized_expression "(DAT_001e3c38._1_1_ & 4)" ( (binary_expression "DAT_001e3c38._1_1_ & 4" (field_expression "DAT_001e3c38._1_1_" identifier . field_identifier) & number_literal) )) == number_literal) && (parenthesized_expression "((DAT_001e3c50._1_1_ & 4) == 0)" ( (binary_expression "(DAT_001e3c50._1_1_ & 4) == 0" (parenthesized_expression "(DAT_001e3c50._1_1_ & 4)" ( (binary_expression "DAT_001e3c50._1_1_ & 4" (field_expression "DAT_001e3c50._1_1_" identifier . field_identifier) & number_literal) )) == number_literal) ))) )) && (parenthesized_expression "(DAT_001e3d28 == 0)" ( (binary_expression "DAT_001e3d28 == 0" identifier == number_literal) ))) )) ))) )) (compound_statement "{\nLAB_00133d61:\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1a81,"build_modrm_byte");\n            }" { (labeled_statement "LAB_00133d61:\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1a81,"build_modrm_byte");" statement_identifier : comment (expression_statement "FUN_0011dd00("../../gas/config/tc-i386.c",0x1a81,"build_modrm_byte");" (call_expression "FUN_0011dd00("../../gas/config/tc-i386.c",0x1a81,"build_modrm_byte")" identifier (argument_list "("../../gas/config/tc-i386.c",0x1a81,"build_modrm_byte")" ( (string_literal ""../../gas/config/tc-i386.c"" " string_content ") , number_literal , (string_literal ""build_modrm_byte"" " string_content ") ))) ;)) })) (expression_statement "uVar9 = (ulong)((DAT_001e3c38._1_1_ & 4) != 0);" (assignment_expression "uVar9 = (ulong)((DAT_001e3c38._1_1_ & 4) != 0)" identifier = (call_expression "(ulong)((DAT_001e3c38._1_1_ & 4) != 0)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((DAT_001e3c38._1_1_ & 4) != 0)" ( (binary_expression "(DAT_001e3c38._1_1_ & 4) != 0" (parenthesized_expression "(DAT_001e3c38._1_1_ & 4)" ( (binary_expression "DAT_001e3c38._1_1_ & 4" (field_expression "DAT_001e3c38._1_1_" identifier . field_identifier) & number_literal) )) != number_literal) )))) ;) }))) (expression_statement "uVar22 = 4;" (assignment_expression "uVar22 = 4" identifier = number_literal) ;) })))))) (labeled_statement "LAB_001337c1:\n        if (bVar19 != 8) {\n          uVar15 = (int)uVar9 + 1;\n          uVar18 = (ulong)uVar15;\n          if ((DAT_001e3d28 != 0) && (*(uint *)(DAT_001e3d28 + 4) == uVar15)) {\n            uVar18 = (ulong)((int)uVar9 + 2);\n          }\n          if ((DAT_001e3bed & 0x18) == 8) {\n            uVar20 = uVar9;\n            uVar11 = uVar18;\n            if ((((&DAT_001e3bf6)[uVar9 * 8] & 0x40) == 0) &&\n               (((&DAT_001e3bf6)[uVar18 * 8] & 0x40) != 0)) {\n              uVar20 = uVar18;\n              uVar11 = uVar9;\n            }\n            uVar15 = (int)uVar18 + 1;\n            uVar18 = (ulong)uVar15;\n            uVar9 = *(ulong *)((long)&DAT_001e3bc0 + (uVar11 + 6) * 8 + 4);\n            if ((uVar22 <= uVar15) ||\n               ((((uVar9 & 1) == 0 ||\n                 ((-1 < (char)((uVar9 & 0xfffffffff7ffffff) >> 0x18) &&\n                  (((&DAT_001e3bc8)[(uVar11 + 6) * 2] & 2) == 0)))) &&\n                (((uVar9 & 4) == 0 &&\n                 ((DAT_00153a50 != (int)(uVar9 & 0xfffffffff7ffffff) ||\n                  (DAT_00153a54 != (&DAT_001e3bc8)[(uVar11 + 6) * 2])))))))) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1ac9,"build_modrm_byte");\n            }\n            DAT_001e3d18 = (&DAT_001e3c60)[uVar11];\n            uVar9 = uVar20;\n          }\n        }" statement_identifier : (if_statement "if (bVar19 != 8) {\n          uVar15 = (int)uVar9 + 1;\n          uVar18 = (ulong)uVar15;\n          if ((DAT_001e3d28 != 0) && (*(uint *)(DAT_001e3d28 + 4) == uVar15)) {\n            uVar18 = (ulong)((int)uVar9 + 2);\n          }\n          if ((DAT_001e3bed & 0x18) == 8) {\n            uVar20 = uVar9;\n            uVar11 = uVar18;\n            if ((((&DAT_001e3bf6)[uVar9 * 8] & 0x40) == 0) &&\n               (((&DAT_001e3bf6)[uVar18 * 8] & 0x40) != 0)) {\n              uVar20 = uVar18;\n              uVar11 = uVar9;\n            }\n            uVar15 = (int)uVar18 + 1;\n            uVar18 = (ulong)uVar15;\n            uVar9 = *(ulong *)((long)&DAT_001e3bc0 + (uVar11 + 6) * 8 + 4);\n            if ((uVar22 <= uVar15) ||\n               ((((uVar9 & 1) == 0 ||\n                 ((-1 < (char)((uVar9 & 0xfffffffff7ffffff) >> 0x18) &&\n                  (((&DAT_001e3bc8)[(uVar11 + 6) * 2] & 2) == 0)))) &&\n                (((uVar9 & 4) == 0 &&\n                 ((DAT_00153a50 != (int)(uVar9 & 0xfffffffff7ffffff) ||\n                  (DAT_00153a54 != (&DAT_001e3bc8)[(uVar11 + 6) * 2])))))))) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1ac9,"build_modrm_byte");\n            }\n            DAT_001e3d18 = (&DAT_001e3c60)[uVar11];\n            uVar9 = uVar20;\n          }\n        }" if (parenthesized_expression "(bVar19 != 8)" ( (binary_expression "bVar19 != 8" identifier != number_literal) )) (compound_statement "{\n          uVar15 = (int)uVar9 + 1;\n          uVar18 = (ulong)uVar15;\n          if ((DAT_001e3d28 != 0) && (*(uint *)(DAT_001e3d28 + 4) == uVar15)) {\n            uVar18 = (ulong)((int)uVar9 + 2);\n          }\n          if ((DAT_001e3bed & 0x18) == 8) {\n            uVar20 = uVar9;\n            uVar11 = uVar18;\n            if ((((&DAT_001e3bf6)[uVar9 * 8] & 0x40) == 0) &&\n               (((&DAT_001e3bf6)[uVar18 * 8] & 0x40) != 0)) {\n              uVar20 = uVar18;\n              uVar11 = uVar9;\n            }\n            uVar15 = (int)uVar18 + 1;\n            uVar18 = (ulong)uVar15;\n            uVar9 = *(ulong *)((long)&DAT_001e3bc0 + (uVar11 + 6) * 8 + 4);\n            if ((uVar22 <= uVar15) ||\n               ((((uVar9 & 1) == 0 ||\n                 ((-1 < (char)((uVar9 & 0xfffffffff7ffffff) >> 0x18) &&\n                  (((&DAT_001e3bc8)[(uVar11 + 6) * 2] & 2) == 0)))) &&\n                (((uVar9 & 4) == 0 &&\n                 ((DAT_00153a50 != (int)(uVar9 & 0xfffffffff7ffffff) ||\n                  (DAT_00153a54 != (&DAT_001e3bc8)[(uVar11 + 6) * 2])))))))) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1ac9,"build_modrm_byte");\n            }\n            DAT_001e3d18 = (&DAT_001e3c60)[uVar11];\n            uVar9 = uVar20;\n          }\n        }" { (expression_statement "uVar15 = (int)uVar9 + 1;" (assignment_expression "uVar15 = (int)uVar9 + 1" identifier = (binary_expression "(int)uVar9 + 1" (cast_expression "(int)uVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "uVar18 = (ulong)uVar15;" (assignment_expression "uVar18 = (ulong)uVar15" identifier = (cast_expression "(ulong)uVar15" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (if_statement "if ((DAT_001e3d28 != 0) && (*(uint *)(DAT_001e3d28 + 4) == uVar15)) {\n            uVar18 = (ulong)((int)uVar9 + 2);\n          }" if (parenthesized_expression "((DAT_001e3d28 != 0) && (*(uint *)(DAT_001e3d28 + 4) == uVar15))" ( (binary_expression "(DAT_001e3d28 != 0) && (*(uint *)(DAT_001e3d28 + 4) == uVar15)" (parenthesized_expression "(DAT_001e3d28 != 0)" ( (binary_expression "DAT_001e3d28 != 0" identifier != number_literal) )) && (parenthesized_expression "(*(uint *)(DAT_001e3d28 + 4) == uVar15)" ( (binary_expression "*(uint *)(DAT_001e3d28 + 4) == uVar15" (pointer_expression "*(uint *)(DAT_001e3d28 + 4)" * (cast_expression "(uint *)(DAT_001e3d28 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_001e3d28 + 4)" ( (binary_expression "DAT_001e3d28 + 4" identifier + number_literal) )))) == identifier) ))) )) (compound_statement "{\n            uVar18 = (ulong)((int)uVar9 + 2);\n          }" { (expression_statement "uVar18 = (ulong)((int)uVar9 + 2);" (assignment_expression "uVar18 = (ulong)((int)uVar9 + 2)" identifier = (call_expression "(ulong)((int)uVar9 + 2)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((int)uVar9 + 2)" ( (binary_expression "(int)uVar9 + 2" (cast_expression "(int)uVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) })) (if_statement "if ((DAT_001e3bed & 0x18) == 8) {\n            uVar20 = uVar9;\n            uVar11 = uVar18;\n            if ((((&DAT_001e3bf6)[uVar9 * 8] & 0x40) == 0) &&\n               (((&DAT_001e3bf6)[uVar18 * 8] & 0x40) != 0)) {\n              uVar20 = uVar18;\n              uVar11 = uVar9;\n            }\n            uVar15 = (int)uVar18 + 1;\n            uVar18 = (ulong)uVar15;\n            uVar9 = *(ulong *)((long)&DAT_001e3bc0 + (uVar11 + 6) * 8 + 4);\n            if ((uVar22 <= uVar15) ||\n               ((((uVar9 & 1) == 0 ||\n                 ((-1 < (char)((uVar9 & 0xfffffffff7ffffff) >> 0x18) &&\n                  (((&DAT_001e3bc8)[(uVar11 + 6) * 2] & 2) == 0)))) &&\n                (((uVar9 & 4) == 0 &&\n                 ((DAT_00153a50 != (int)(uVar9 & 0xfffffffff7ffffff) ||\n                  (DAT_00153a54 != (&DAT_001e3bc8)[(uVar11 + 6) * 2])))))))) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1ac9,"build_modrm_byte");\n            }\n            DAT_001e3d18 = (&DAT_001e3c60)[uVar11];\n            uVar9 = uVar20;\n          }" if (parenthesized_expression "((DAT_001e3bed & 0x18) == 8)" ( (binary_expression "(DAT_001e3bed & 0x18) == 8" (parenthesized_expression "(DAT_001e3bed & 0x18)" ( (binary_expression "DAT_001e3bed & 0x18" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n            uVar20 = uVar9;\n            uVar11 = uVar18;\n            if ((((&DAT_001e3bf6)[uVar9 * 8] & 0x40) == 0) &&\n               (((&DAT_001e3bf6)[uVar18 * 8] & 0x40) != 0)) {\n              uVar20 = uVar18;\n              uVar11 = uVar9;\n            }\n            uVar15 = (int)uVar18 + 1;\n            uVar18 = (ulong)uVar15;\n            uVar9 = *(ulong *)((long)&DAT_001e3bc0 + (uVar11 + 6) * 8 + 4);\n            if ((uVar22 <= uVar15) ||\n               ((((uVar9 & 1) == 0 ||\n                 ((-1 < (char)((uVar9 & 0xfffffffff7ffffff) >> 0x18) &&\n                  (((&DAT_001e3bc8)[(uVar11 + 6) * 2] & 2) == 0)))) &&\n                (((uVar9 & 4) == 0 &&\n                 ((DAT_00153a50 != (int)(uVar9 & 0xfffffffff7ffffff) ||\n                  (DAT_00153a54 != (&DAT_001e3bc8)[(uVar11 + 6) * 2])))))))) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1ac9,"build_modrm_byte");\n            }\n            DAT_001e3d18 = (&DAT_001e3c60)[uVar11];\n            uVar9 = uVar20;\n          }" { (expression_statement "uVar20 = uVar9;" (assignment_expression "uVar20 = uVar9" identifier = identifier) ;) (expression_statement "uVar11 = uVar18;" (assignment_expression "uVar11 = uVar18" identifier = identifier) ;) (if_statement "if ((((&DAT_001e3bf6)[uVar9 * 8] & 0x40) == 0) &&\n               (((&DAT_001e3bf6)[uVar18 * 8] & 0x40) != 0)) {\n              uVar20 = uVar18;\n              uVar11 = uVar9;\n            }" if (parenthesized_expression "((((&DAT_001e3bf6)[uVar9 * 8] & 0x40) == 0) &&\n               (((&DAT_001e3bf6)[uVar18 * 8] & 0x40) != 0))" ( (binary_expression "(((&DAT_001e3bf6)[uVar9 * 8] & 0x40) == 0) &&\n               (((&DAT_001e3bf6)[uVar18 * 8] & 0x40) != 0)" (parenthesized_expression "(((&DAT_001e3bf6)[uVar9 * 8] & 0x40) == 0)" ( (binary_expression "((&DAT_001e3bf6)[uVar9 * 8] & 0x40) == 0" (parenthesized_expression "((&DAT_001e3bf6)[uVar9 * 8] & 0x40)" ( (binary_expression "(&DAT_001e3bf6)[uVar9 * 8] & 0x40" (subscript_expression "(&DAT_001e3bf6)[uVar9 * 8]" (parenthesized_expression "(&DAT_001e3bf6)" ( (pointer_expression "&DAT_001e3bf6" & identifier) )) [ (binary_expression "uVar9 * 8" identifier * number_literal) ]) & number_literal) )) == number_literal) )) && (parenthesized_expression "(((&DAT_001e3bf6)[uVar18 * 8] & 0x40) != 0)" ( (binary_expression "((&DAT_001e3bf6)[uVar18 * 8] & 0x40) != 0" (parenthesized_expression "((&DAT_001e3bf6)[uVar18 * 8] & 0x40)" ( (binary_expression "(&DAT_001e3bf6)[uVar18 * 8] & 0x40" (subscript_expression "(&DAT_001e3bf6)[uVar18 * 8]" (parenthesized_expression "(&DAT_001e3bf6)" ( (pointer_expression "&DAT_001e3bf6" & identifier) )) [ (binary_expression "uVar18 * 8" identifier * number_literal) ]) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n              uVar20 = uVar18;\n              uVar11 = uVar9;\n            }" { (expression_statement "uVar20 = uVar18;" (assignment_expression "uVar20 = uVar18" identifier = identifier) ;) (expression_statement "uVar11 = uVar9;" (assignment_expression "uVar11 = uVar9" identifier = identifier) ;) })) (expression_statement "uVar15 = (int)uVar18 + 1;" (assignment_expression "uVar15 = (int)uVar18 + 1" identifier = (binary_expression "(int)uVar18 + 1" (cast_expression "(int)uVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "uVar18 = (ulong)uVar15;" (assignment_expression "uVar18 = (ulong)uVar15" identifier = (cast_expression "(ulong)uVar15" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "uVar9 = *(ulong *)((long)&DAT_001e3bc0 + (uVar11 + 6) * 8 + 4);" (assignment_expression "uVar9 = *(ulong *)((long)&DAT_001e3bc0 + (uVar11 + 6) * 8 + 4)" identifier = (pointer_expression "*(ulong *)((long)&DAT_001e3bc0 + (uVar11 + 6) * 8 + 4)" * (cast_expression "(ulong *)((long)&DAT_001e3bc0 + (uVar11 + 6) * 8 + 4)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&DAT_001e3bc0 + (uVar11 + 6) * 8 + 4)" ( (binary_expression "(long)&DAT_001e3bc0 + (uVar11 + 6) * 8 + 4" (binary_expression "(long)&DAT_001e3bc0 + (uVar11 + 6) * 8" (cast_expression "(long)&DAT_001e3bc0" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&DAT_001e3bc0" & identifier)) + (binary_expression "(uVar11 + 6) * 8" (parenthesized_expression "(uVar11 + 6)" ( (binary_expression "uVar11 + 6" identifier + number_literal) )) * number_literal)) + number_literal) ))))) ;) (if_statement "if ((uVar22 <= uVar15) ||\n               ((((uVar9 & 1) == 0 ||\n                 ((-1 < (char)((uVar9 & 0xfffffffff7ffffff) >> 0x18) &&\n                  (((&DAT_001e3bc8)[(uVar11 + 6) * 2] & 2) == 0)))) &&\n                (((uVar9 & 4) == 0 &&\n                 ((DAT_00153a50 != (int)(uVar9 & 0xfffffffff7ffffff) ||\n                  (DAT_00153a54 != (&DAT_001e3bc8)[(uVar11 + 6) * 2])))))))) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1ac9,"build_modrm_byte");\n            }" if (parenthesized_expression "((uVar22 <= uVar15) ||\n               ((((uVar9 & 1) == 0 ||\n                 ((-1 < (char)((uVar9 & 0xfffffffff7ffffff) >> 0x18) &&\n                  (((&DAT_001e3bc8)[(uVar11 + 6) * 2] & 2) == 0)))) &&\n                (((uVar9 & 4) == 0 &&\n                 ((DAT_00153a50 != (int)(uVar9 & 0xfffffffff7ffffff) ||\n                  (DAT_00153a54 != (&DAT_001e3bc8)[(uVar11 + 6) * 2]))))))))" ( (binary_expression "(uVar22 <= uVar15) ||\n               ((((uVar9 & 1) == 0 ||\n                 ((-1 < (char)((uVar9 & 0xfffffffff7ffffff) >> 0x18) &&\n                  (((&DAT_001e3bc8)[(uVar11 + 6) * 2] & 2) == 0)))) &&\n                (((uVar9 & 4) == 0 &&\n                 ((DAT_00153a50 != (int)(uVar9 & 0xfffffffff7ffffff) ||\n                  (DAT_00153a54 != (&DAT_001e3bc8)[(uVar11 + 6) * 2])))))))" (parenthesized_expression "(uVar22 <= uVar15)" ( (binary_expression "uVar22 <= uVar15" identifier <= identifier) )) || (parenthesized_expression "((((uVar9 & 1) == 0 ||\n                 ((-1 < (char)((uVar9 & 0xfffffffff7ffffff) >> 0x18) &&\n                  (((&DAT_001e3bc8)[(uVar11 + 6) * 2] & 2) == 0)))) &&\n                (((uVar9 & 4) == 0 &&\n                 ((DAT_00153a50 != (int)(uVar9 & 0xfffffffff7ffffff) ||\n                  (DAT_00153a54 != (&DAT_001e3bc8)[(uVar11 + 6) * 2])))))))" ( (parenthesized_expression "(((uVar9 & 1) == 0 ||\n                 ((-1 < (char)((uVar9 & 0xfffffffff7ffffff) >> 0x18) &&\n                  (((&DAT_001e3bc8)[(uVar11 + 6) * 2] & 2) == 0)))) &&\n                (((uVar9 & 4) == 0 &&\n                 ((DAT_00153a50 != (int)(uVar9 & 0xfffffffff7ffffff) ||\n                  (DAT_00153a54 != (&DAT_001e3bc8)[(uVar11 + 6) * 2]))))))" ( (binary_expression "((uVar9 & 1) == 0 ||\n                 ((-1 < (char)((uVar9 & 0xfffffffff7ffffff) >> 0x18) &&\n                  (((&DAT_001e3bc8)[(uVar11 + 6) * 2] & 2) == 0)))) &&\n                (((uVar9 & 4) == 0 &&\n                 ((DAT_00153a50 != (int)(uVar9 & 0xfffffffff7ffffff) ||\n                  (DAT_00153a54 != (&DAT_001e3bc8)[(uVar11 + 6) * 2])))))" (parenthesized_expression "((uVar9 & 1) == 0 ||\n                 ((-1 < (char)((uVar9 & 0xfffffffff7ffffff) >> 0x18) &&\n                  (((&DAT_001e3bc8)[(uVar11 + 6) * 2] & 2) == 0))))" ( (binary_expression "(uVar9 & 1) == 0 ||\n                 ((-1 < (char)((uVar9 & 0xfffffffff7ffffff) >> 0x18) &&\n                  (((&DAT_001e3bc8)[(uVar11 + 6) * 2] & 2) == 0)))" (binary_expression "(uVar9 & 1) == 0" (parenthesized_expression "(uVar9 & 1)" ( (binary_expression "uVar9 & 1" identifier & number_literal) )) == number_literal) || (parenthesized_expression "((-1 < (char)((uVar9 & 0xfffffffff7ffffff) >> 0x18) &&\n                  (((&DAT_001e3bc8)[(uVar11 + 6) * 2] & 2) == 0)))" ( (parenthesized_expression "(-1 < (char)((uVar9 & 0xfffffffff7ffffff) >> 0x18) &&\n                  (((&DAT_001e3bc8)[(uVar11 + 6) * 2] & 2) == 0))" ( (binary_expression "-1 < (char)((uVar9 & 0xfffffffff7ffffff) >> 0x18) &&\n                  (((&DAT_001e3bc8)[(uVar11 + 6) * 2] & 2) == 0)" (binary_expression "-1 < (char)((uVar9 & 0xfffffffff7ffffff) >> 0x18)" number_literal < (cast_expression "(char)((uVar9 & 0xfffffffff7ffffff) >> 0x18)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "((uVar9 & 0xfffffffff7ffffff) >> 0x18)" ( (binary_expression "(uVar9 & 0xfffffffff7ffffff) >> 0x18" (parenthesized_expression "(uVar9 & 0xfffffffff7ffffff)" ( (binary_expression "uVar9 & 0xfffffffff7ffffff" identifier & number_literal) )) >> number_literal) )))) && (parenthesized_expression "(((&DAT_001e3bc8)[(uVar11 + 6) * 2] & 2) == 0)" ( (binary_expression "((&DAT_001e3bc8)[(uVar11 + 6) * 2] & 2) == 0" (parenthesized_expression "((&DAT_001e3bc8)[(uVar11 + 6) * 2] & 2)" ( (binary_expression "(&DAT_001e3bc8)[(uVar11 + 6) * 2] & 2" (subscript_expression "(&DAT_001e3bc8)[(uVar11 + 6) * 2]" (parenthesized_expression "(&DAT_001e3bc8)" ( (pointer_expression "&DAT_001e3bc8" & identifier) )) [ (binary_expression "(uVar11 + 6) * 2" (parenthesized_expression "(uVar11 + 6)" ( (binary_expression "uVar11 + 6" identifier + number_literal) )) * number_literal) ]) & number_literal) )) == number_literal) ))) )) ))) )) && (parenthesized_expression "(((uVar9 & 4) == 0 &&\n                 ((DAT_00153a50 != (int)(uVar9 & 0xfffffffff7ffffff) ||\n                  (DAT_00153a54 != (&DAT_001e3bc8)[(uVar11 + 6) * 2])))))" ( (parenthesized_expression "((uVar9 & 4) == 0 &&\n                 ((DAT_00153a50 != (int)(uVar9 & 0xfffffffff7ffffff) ||\n                  (DAT_00153a54 != (&DAT_001e3bc8)[(uVar11 + 6) * 2]))))" ( (binary_expression "(uVar9 & 4) == 0 &&\n                 ((DAT_00153a50 != (int)(uVar9 & 0xfffffffff7ffffff) ||\n                  (DAT_00153a54 != (&DAT_001e3bc8)[(uVar11 + 6) * 2])))" (binary_expression "(uVar9 & 4) == 0" (parenthesized_expression "(uVar9 & 4)" ( (binary_expression "uVar9 & 4" identifier & number_literal) )) == number_literal) && (parenthesized_expression "((DAT_00153a50 != (int)(uVar9 & 0xfffffffff7ffffff) ||\n                  (DAT_00153a54 != (&DAT_001e3bc8)[(uVar11 + 6) * 2])))" ( (parenthesized_expression "(DAT_00153a50 != (int)(uVar9 & 0xfffffffff7ffffff) ||\n                  (DAT_00153a54 != (&DAT_001e3bc8)[(uVar11 + 6) * 2]))" ( (binary_expression "DAT_00153a50 != (int)(uVar9 & 0xfffffffff7ffffff) ||\n                  (DAT_00153a54 != (&DAT_001e3bc8)[(uVar11 + 6) * 2])" (binary_expression "DAT_00153a50 != (int)(uVar9 & 0xfffffffff7ffffff)" identifier != (cast_expression "(int)(uVar9 & 0xfffffffff7ffffff)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uVar9 & 0xfffffffff7ffffff)" ( (binary_expression "uVar9 & 0xfffffffff7ffffff" identifier & number_literal) )))) || (parenthesized_expression "(DAT_00153a54 != (&DAT_001e3bc8)[(uVar11 + 6) * 2])" ( (binary_expression "DAT_00153a54 != (&DAT_001e3bc8)[(uVar11 + 6) * 2]" identifier != (subscript_expression "(&DAT_001e3bc8)[(uVar11 + 6) * 2]" (parenthesized_expression "(&DAT_001e3bc8)" ( (pointer_expression "&DAT_001e3bc8" & identifier) )) [ (binary_expression "(uVar11 + 6) * 2" (parenthesized_expression "(uVar11 + 6)" ( (binary_expression "uVar11 + 6" identifier + number_literal) )) * number_literal) ])) ))) )) ))) )) ))) )) ))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1ac9,"build_modrm_byte");\n            }" { comment (expression_statement "FUN_0011dd00("../../gas/config/tc-i386.c",0x1ac9,"build_modrm_byte");" (call_expression "FUN_0011dd00("../../gas/config/tc-i386.c",0x1ac9,"build_modrm_byte")" identifier (argument_list "("../../gas/config/tc-i386.c",0x1ac9,"build_modrm_byte")" ( (string_literal ""../../gas/config/tc-i386.c"" " string_content ") , number_literal , (string_literal ""build_modrm_byte"" " string_content ") ))) ;) })) (expression_statement "DAT_001e3d18 = (&DAT_001e3c60)[uVar11];" (assignment_expression "DAT_001e3d18 = (&DAT_001e3c60)[uVar11]" identifier = (subscript_expression "(&DAT_001e3c60)[uVar11]" (parenthesized_expression "(&DAT_001e3c60)" ( (pointer_expression "&DAT_001e3c60" & identifier) )) [ identifier ])) ;) (expression_statement "uVar9 = uVar20;" (assignment_expression "uVar9 = uVar20" identifier = identifier) ;) })) }))) (labeled_statement "LAB_001337ff:\n        DAT_001e3cf4 = 3;" statement_identifier : (expression_statement "DAT_001e3cf4 = 3;" (assignment_expression "DAT_001e3cf4 = 3" identifier = number_literal) ;)) (if_statement "if (((*(byte *)((long)&DAT_001e3bc0 + (uVar18 + 6) * 8 + 7) & 8) == 0) &&\n           ((*(ulong *)((long)&DAT_001e3bc0 + (uVar18 + 6) * 8 + 4) & 0x5f0000) == 0)) {\n          DAT_001e3cf0 = (uint)*(byte *)((&DAT_001e3c60)[uVar18] + 0x11);\n          DAT_001e3cec = (uint)*(byte *)((&DAT_001e3c60)[uVar9] + 0x11);\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar18] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 4;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 4;\n          }\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 1;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 1;\n          }\n        }\n        else {\n          DAT_001e3cf0 = (uint)*(byte *)((&DAT_001e3c60)[uVar9] + 0x11);\n          DAT_001e3cec = (uint)*(byte *)((&DAT_001e3c60)[uVar18] + 0x11);\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar18] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 1;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 1;\n          }\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 4;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 4;\n          }\n        }" if (parenthesized_expression "(((*(byte *)((long)&DAT_001e3bc0 + (uVar18 + 6) * 8 + 7) & 8) == 0) &&\n           ((*(ulong *)((long)&DAT_001e3bc0 + (uVar18 + 6) * 8 + 4) & 0x5f0000) == 0))" ( (binary_expression "((*(byte *)((long)&DAT_001e3bc0 + (uVar18 + 6) * 8 + 7) & 8) == 0) &&\n           ((*(ulong *)((long)&DAT_001e3bc0 + (uVar18 + 6) * 8 + 4) & 0x5f0000) == 0)" (parenthesized_expression "((*(byte *)((long)&DAT_001e3bc0 + (uVar18 + 6) * 8 + 7) & 8) == 0)" ( (binary_expression "(*(byte *)((long)&DAT_001e3bc0 + (uVar18 + 6) * 8 + 7) & 8) == 0" (parenthesized_expression "(*(byte *)((long)&DAT_001e3bc0 + (uVar18 + 6) * 8 + 7) & 8)" ( (binary_expression "*(byte *)((long)&DAT_001e3bc0 + (uVar18 + 6) * 8 + 7) & 8" (pointer_expression "*(byte *)((long)&DAT_001e3bc0 + (uVar18 + 6) * 8 + 7)" * (cast_expression "(byte *)((long)&DAT_001e3bc0 + (uVar18 + 6) * 8 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&DAT_001e3bc0 + (uVar18 + 6) * 8 + 7)" ( (binary_expression "(long)&DAT_001e3bc0 + (uVar18 + 6) * 8 + 7" (binary_expression "(long)&DAT_001e3bc0 + (uVar18 + 6) * 8" (cast_expression "(long)&DAT_001e3bc0" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&DAT_001e3bc0" & identifier)) + (binary_expression "(uVar18 + 6) * 8" (parenthesized_expression "(uVar18 + 6)" ( (binary_expression "uVar18 + 6" identifier + number_literal) )) * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) )) && (parenthesized_expression "((*(ulong *)((long)&DAT_001e3bc0 + (uVar18 + 6) * 8 + 4) & 0x5f0000) == 0)" ( (binary_expression "(*(ulong *)((long)&DAT_001e3bc0 + (uVar18 + 6) * 8 + 4) & 0x5f0000) == 0" (parenthesized_expression "(*(ulong *)((long)&DAT_001e3bc0 + (uVar18 + 6) * 8 + 4) & 0x5f0000)" ( (binary_expression "*(ulong *)((long)&DAT_001e3bc0 + (uVar18 + 6) * 8 + 4) & 0x5f0000" (pointer_expression "*(ulong *)((long)&DAT_001e3bc0 + (uVar18 + 6) * 8 + 4)" * (cast_expression "(ulong *)((long)&DAT_001e3bc0 + (uVar18 + 6) * 8 + 4)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&DAT_001e3bc0 + (uVar18 + 6) * 8 + 4)" ( (binary_expression "(long)&DAT_001e3bc0 + (uVar18 + 6) * 8 + 4" (binary_expression "(long)&DAT_001e3bc0 + (uVar18 + 6) * 8" (cast_expression "(long)&DAT_001e3bc0" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&DAT_001e3bc0" & identifier)) + (binary_expression "(uVar18 + 6) * 8" (parenthesized_expression "(uVar18 + 6)" ( (binary_expression "uVar18 + 6" identifier + number_literal) )) * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) ))) )) (compound_statement "{\n          DAT_001e3cf0 = (uint)*(byte *)((&DAT_001e3c60)[uVar18] + 0x11);\n          DAT_001e3cec = (uint)*(byte *)((&DAT_001e3c60)[uVar9] + 0x11);\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar18] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 4;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 4;\n          }\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 1;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 1;\n          }\n        }" { (expression_statement "DAT_001e3cf0 = (uint)*(byte *)((&DAT_001e3c60)[uVar18] + 0x11);" (assignment_expression "DAT_001e3cf0 = (uint)*(byte *)((&DAT_001e3c60)[uVar18] + 0x11)" identifier = (binary_expression "(uint)*(byte *)((&DAT_001e3c60)[uVar18] + 0x11)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)((&DAT_001e3c60)[uVar18] + 0x11)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((&DAT_001e3c60)[uVar18] + 0x11)" ( (binary_expression "(&DAT_001e3c60)[uVar18] + 0x11" (subscript_expression "(&DAT_001e3c60)[uVar18]" (parenthesized_expression "(&DAT_001e3c60)" ( (pointer_expression "&DAT_001e3c60" & identifier) )) [ identifier ]) + number_literal) ))))) ;) (expression_statement "DAT_001e3cec = (uint)*(byte *)((&DAT_001e3c60)[uVar9] + 0x11);" (assignment_expression "DAT_001e3cec = (uint)*(byte *)((&DAT_001e3c60)[uVar9] + 0x11)" identifier = (binary_expression "(uint)*(byte *)((&DAT_001e3c60)[uVar9] + 0x11)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)((&DAT_001e3c60)[uVar9] + 0x11)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((&DAT_001e3c60)[uVar9] + 0x11)" ( (binary_expression "(&DAT_001e3c60)[uVar9] + 0x11" (subscript_expression "(&DAT_001e3c60)[uVar9]" (parenthesized_expression "(&DAT_001e3c60)" ( (pointer_expression "&DAT_001e3c60" & identifier) )) [ identifier ]) + number_literal) ))))) ;) (expression_statement "bVar21 = *(byte *)((&DAT_001e3c60)[uVar18] + 0x10);" (assignment_expression "bVar21 = *(byte *)((&DAT_001e3c60)[uVar18] + 0x10)" identifier = (pointer_expression "*(byte *)((&DAT_001e3c60)[uVar18] + 0x10)" * (cast_expression "(byte *)((&DAT_001e3c60)[uVar18] + 0x10)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((&DAT_001e3c60)[uVar18] + 0x10)" ( (binary_expression "(&DAT_001e3c60)[uVar18] + 0x10" (subscript_expression "(&DAT_001e3c60)[uVar18]" (parenthesized_expression "(&DAT_001e3c60)" ( (pointer_expression "&DAT_001e3c60" & identifier) )) [ identifier ]) + number_literal) ))))) ;) (if_statement "if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 4;\n          }" if (parenthesized_expression "((bVar21 & 1) != 0)" ( (binary_expression "(bVar21 & 1) != 0" (parenthesized_expression "(bVar21 & 1)" ( (binary_expression "bVar21 & 1" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n            DAT_001e3cf8 = DAT_001e3cf8 | 4;\n          }" { (expression_statement "DAT_001e3cf8 = DAT_001e3cf8 | 4;" (assignment_expression "DAT_001e3cf8 = DAT_001e3cf8 | 4" identifier = (binary_expression "DAT_001e3cf8 | 4" identifier | number_literal)) ;) })) (if_statement "if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 4;\n          }" if (parenthesized_expression "((bVar21 & 4) != 0)" ( (binary_expression "(bVar21 & 4) != 0" (parenthesized_expression "(bVar21 & 4)" ( (binary_expression "bVar21 & 4" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n            DAT_001e3cfc = DAT_001e3cfc | 4;\n          }" { (expression_statement "DAT_001e3cfc = DAT_001e3cfc | 4;" (assignment_expression "DAT_001e3cfc = DAT_001e3cfc | 4" identifier = (binary_expression "DAT_001e3cfc | 4" identifier | number_literal)) ;) })) (expression_statement "bVar21 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10);" (assignment_expression "bVar21 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10)" identifier = (pointer_expression "*(byte *)((&DAT_001e3c60)[uVar9] + 0x10)" * (cast_expression "(byte *)((&DAT_001e3c60)[uVar9] + 0x10)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((&DAT_001e3c60)[uVar9] + 0x10)" ( (binary_expression "(&DAT_001e3c60)[uVar9] + 0x10" (subscript_expression "(&DAT_001e3c60)[uVar9]" (parenthesized_expression "(&DAT_001e3c60)" ( (pointer_expression "&DAT_001e3c60" & identifier) )) [ identifier ]) + number_literal) ))))) ;) (if_statement "if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 1;\n          }" if (parenthesized_expression "((bVar21 & 1) != 0)" ( (binary_expression "(bVar21 & 1) != 0" (parenthesized_expression "(bVar21 & 1)" ( (binary_expression "bVar21 & 1" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n            DAT_001e3cf8 = DAT_001e3cf8 | 1;\n          }" { (expression_statement "DAT_001e3cf8 = DAT_001e3cf8 | 1;" (assignment_expression "DAT_001e3cf8 = DAT_001e3cf8 | 1" identifier = (binary_expression "DAT_001e3cf8 | 1" identifier | number_literal)) ;) })) (if_statement "if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 1;\n          }" if (parenthesized_expression "((bVar21 & 4) != 0)" ( (binary_expression "(bVar21 & 4) != 0" (parenthesized_expression "(bVar21 & 4)" ( (binary_expression "bVar21 & 4" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n            DAT_001e3cfc = DAT_001e3cfc | 1;\n          }" { (expression_statement "DAT_001e3cfc = DAT_001e3cfc | 1;" (assignment_expression "DAT_001e3cfc = DAT_001e3cfc | 1" identifier = (binary_expression "DAT_001e3cfc | 1" identifier | number_literal)) ;) })) }) (else_clause "else {\n          DAT_001e3cf0 = (uint)*(byte *)((&DAT_001e3c60)[uVar9] + 0x11);\n          DAT_001e3cec = (uint)*(byte *)((&DAT_001e3c60)[uVar18] + 0x11);\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar18] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 1;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 1;\n          }\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 4;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 4;\n          }\n        }" else (compound_statement "{\n          DAT_001e3cf0 = (uint)*(byte *)((&DAT_001e3c60)[uVar9] + 0x11);\n          DAT_001e3cec = (uint)*(byte *)((&DAT_001e3c60)[uVar18] + 0x11);\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar18] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 1;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 1;\n          }\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 4;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 4;\n          }\n        }" { (expression_statement "DAT_001e3cf0 = (uint)*(byte *)((&DAT_001e3c60)[uVar9] + 0x11);" (assignment_expression "DAT_001e3cf0 = (uint)*(byte *)((&DAT_001e3c60)[uVar9] + 0x11)" identifier = (binary_expression "(uint)*(byte *)((&DAT_001e3c60)[uVar9] + 0x11)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)((&DAT_001e3c60)[uVar9] + 0x11)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((&DAT_001e3c60)[uVar9] + 0x11)" ( (binary_expression "(&DAT_001e3c60)[uVar9] + 0x11" (subscript_expression "(&DAT_001e3c60)[uVar9]" (parenthesized_expression "(&DAT_001e3c60)" ( (pointer_expression "&DAT_001e3c60" & identifier) )) [ identifier ]) + number_literal) ))))) ;) (expression_statement "DAT_001e3cec = (uint)*(byte *)((&DAT_001e3c60)[uVar18] + 0x11);" (assignment_expression "DAT_001e3cec = (uint)*(byte *)((&DAT_001e3c60)[uVar18] + 0x11)" identifier = (binary_expression "(uint)*(byte *)((&DAT_001e3c60)[uVar18] + 0x11)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)((&DAT_001e3c60)[uVar18] + 0x11)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((&DAT_001e3c60)[uVar18] + 0x11)" ( (binary_expression "(&DAT_001e3c60)[uVar18] + 0x11" (subscript_expression "(&DAT_001e3c60)[uVar18]" (parenthesized_expression "(&DAT_001e3c60)" ( (pointer_expression "&DAT_001e3c60" & identifier) )) [ identifier ]) + number_literal) ))))) ;) (expression_statement "bVar21 = *(byte *)((&DAT_001e3c60)[uVar18] + 0x10);" (assignment_expression "bVar21 = *(byte *)((&DAT_001e3c60)[uVar18] + 0x10)" identifier = (pointer_expression "*(byte *)((&DAT_001e3c60)[uVar18] + 0x10)" * (cast_expression "(byte *)((&DAT_001e3c60)[uVar18] + 0x10)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((&DAT_001e3c60)[uVar18] + 0x10)" ( (binary_expression "(&DAT_001e3c60)[uVar18] + 0x10" (subscript_expression "(&DAT_001e3c60)[uVar18]" (parenthesized_expression "(&DAT_001e3c60)" ( (pointer_expression "&DAT_001e3c60" & identifier) )) [ identifier ]) + number_literal) ))))) ;) (if_statement "if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 1;\n          }" if (parenthesized_expression "((bVar21 & 1) != 0)" ( (binary_expression "(bVar21 & 1) != 0" (parenthesized_expression "(bVar21 & 1)" ( (binary_expression "bVar21 & 1" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n            DAT_001e3cf8 = DAT_001e3cf8 | 1;\n          }" { (expression_statement "DAT_001e3cf8 = DAT_001e3cf8 | 1;" (assignment_expression "DAT_001e3cf8 = DAT_001e3cf8 | 1" identifier = (binary_expression "DAT_001e3cf8 | 1" identifier | number_literal)) ;) })) (if_statement "if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 1;\n          }" if (parenthesized_expression "((bVar21 & 4) != 0)" ( (binary_expression "(bVar21 & 4) != 0" (parenthesized_expression "(bVar21 & 4)" ( (binary_expression "bVar21 & 4" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n            DAT_001e3cfc = DAT_001e3cfc | 1;\n          }" { (expression_statement "DAT_001e3cfc = DAT_001e3cfc | 1;" (assignment_expression "DAT_001e3cfc = DAT_001e3cfc | 1" identifier = (binary_expression "DAT_001e3cfc | 1" identifier | number_literal)) ;) })) (expression_statement "bVar21 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10);" (assignment_expression "bVar21 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10)" identifier = (pointer_expression "*(byte *)((&DAT_001e3c60)[uVar9] + 0x10)" * (cast_expression "(byte *)((&DAT_001e3c60)[uVar9] + 0x10)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((&DAT_001e3c60)[uVar9] + 0x10)" ( (binary_expression "(&DAT_001e3c60)[uVar9] + 0x10" (subscript_expression "(&DAT_001e3c60)[uVar9]" (parenthesized_expression "(&DAT_001e3c60)" ( (pointer_expression "&DAT_001e3c60" & identifier) )) [ identifier ]) + number_literal) ))))) ;) (if_statement "if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 4;\n          }" if (parenthesized_expression "((bVar21 & 1) != 0)" ( (binary_expression "(bVar21 & 1) != 0" (parenthesized_expression "(bVar21 & 1)" ( (binary_expression "bVar21 & 1" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n            DAT_001e3cf8 = DAT_001e3cf8 | 4;\n          }" { (expression_statement "DAT_001e3cf8 = DAT_001e3cf8 | 4;" (assignment_expression "DAT_001e3cf8 = DAT_001e3cf8 | 4" identifier = (binary_expression "DAT_001e3cf8 | 4" identifier | number_literal)) ;) })) (if_statement "if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 4;\n          }" if (parenthesized_expression "((bVar21 & 4) != 0)" ( (binary_expression "(bVar21 & 4) != 0" (parenthesized_expression "(bVar21 & 4)" ( (binary_expression "bVar21 & 4" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n            DAT_001e3cfc = DAT_001e3cfc | 4;\n          }" { (expression_statement "DAT_001e3cfc = DAT_001e3cfc | 4;" (assignment_expression "DAT_001e3cfc = DAT_001e3cfc | 4" identifier = (binary_expression "DAT_001e3cfc | 4" identifier | number_literal)) ;) })) }))) (if_statement "if ((DAT_001e3b14 != 2) && ((DAT_001e3cf8 & 4) != 0)) {\n          if ((*(byte *)(&DAT_001e3bc8 + ((ulong)(DAT_001e3bf7 >> 3 & 1) + 0xe) * 2) & 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1af4,"build_modrm_byte");\n          }\n          DAT_001e3cf8 = DAT_001e3cf8 & 0xfffffffb;\n          FUN_00131f90(0xf0);\n          return (undefined1 *)0x0;\n        }" if (parenthesized_expression "((DAT_001e3b14 != 2) && ((DAT_001e3cf8 & 4) != 0))" ( (binary_expression "(DAT_001e3b14 != 2) && ((DAT_001e3cf8 & 4) != 0)" (parenthesized_expression "(DAT_001e3b14 != 2)" ( (binary_expression "DAT_001e3b14 != 2" identifier != number_literal) )) && (parenthesized_expression "((DAT_001e3cf8 & 4) != 0)" ( (binary_expression "(DAT_001e3cf8 & 4) != 0" (parenthesized_expression "(DAT_001e3cf8 & 4)" ( (binary_expression "DAT_001e3cf8 & 4" identifier & number_literal) )) != number_literal) ))) )) (compound_statement "{\n          if ((*(byte *)(&DAT_001e3bc8 + ((ulong)(DAT_001e3bf7 >> 3 & 1) + 0xe) * 2) & 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1af4,"build_modrm_byte");\n          }\n          DAT_001e3cf8 = DAT_001e3cf8 & 0xfffffffb;\n          FUN_00131f90(0xf0);\n          return (undefined1 *)0x0;\n        }" { (if_statement "if ((*(byte *)(&DAT_001e3bc8 + ((ulong)(DAT_001e3bf7 >> 3 & 1) + 0xe) * 2) & 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1af4,"build_modrm_byte");\n          }" if (parenthesized_expression "((*(byte *)(&DAT_001e3bc8 + ((ulong)(DAT_001e3bf7 >> 3 & 1) + 0xe) * 2) & 0x10) == 0)" ( (binary_expression "(*(byte *)(&DAT_001e3bc8 + ((ulong)(DAT_001e3bf7 >> 3 & 1) + 0xe) * 2) & 0x10) == 0" (parenthesized_expression "(*(byte *)(&DAT_001e3bc8 + ((ulong)(DAT_001e3bf7 >> 3 & 1) + 0xe) * 2) & 0x10)" ( (binary_expression "*(byte *)(&DAT_001e3bc8 + ((ulong)(DAT_001e3bf7 >> 3 & 1) + 0xe) * 2) & 0x10" (pointer_expression "*(byte *)(&DAT_001e3bc8 + ((ulong)(DAT_001e3bf7 >> 3 & 1) + 0xe) * 2)" * (cast_expression "(byte *)(&DAT_001e3bc8 + ((ulong)(DAT_001e3bf7 >> 3 & 1) + 0xe) * 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001e3bc8 + ((ulong)(DAT_001e3bf7 >> 3 & 1) + 0xe) * 2)" ( (binary_expression "&DAT_001e3bc8 + ((ulong)(DAT_001e3bf7 >> 3 & 1) + 0xe) * 2" (pointer_expression "&DAT_001e3bc8" & identifier) + (binary_expression "((ulong)(DAT_001e3bf7 >> 3 & 1) + 0xe) * 2" (parenthesized_expression "((ulong)(DAT_001e3bf7 >> 3 & 1) + 0xe)" ( (binary_expression "(ulong)(DAT_001e3bf7 >> 3 & 1) + 0xe" (call_expression "(ulong)(DAT_001e3bf7 >> 3 & 1)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(DAT_001e3bf7 >> 3 & 1)" ( (binary_expression "DAT_001e3bf7 >> 3 & 1" (binary_expression "DAT_001e3bf7 >> 3" identifier >> number_literal) & number_literal) ))) + number_literal) )) * number_literal)) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1af4,"build_modrm_byte");\n          }" { comment (expression_statement "FUN_0011dd00("../../gas/config/tc-i386.c",0x1af4,"build_modrm_byte");" (call_expression "FUN_0011dd00("../../gas/config/tc-i386.c",0x1af4,"build_modrm_byte")" identifier (argument_list "("../../gas/config/tc-i386.c",0x1af4,"build_modrm_byte")" ( (string_literal ""../../gas/config/tc-i386.c"" " string_content ") , number_literal , (string_literal ""build_modrm_byte"" " string_content ") ))) ;) })) (expression_statement "DAT_001e3cf8 = DAT_001e3cf8 & 0xfffffffb;" (assignment_expression "DAT_001e3cf8 = DAT_001e3cf8 & 0xfffffffb" identifier = (binary_expression "DAT_001e3cf8 & 0xfffffffb" identifier & number_literal)) ;) (expression_statement "FUN_00131f90(0xf0);" (call_expression "FUN_00131f90(0xf0)" identifier (argument_list "(0xf0)" ( number_literal ))) ;) (return_statement "return (undefined1 *)0x0;" return (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) (expression_statement "DAT_001e3cf4 = 3;" (assignment_expression "DAT_001e3cf4 = 3" identifier = number_literal) ;) (return_statement "return (undefined1 *)0x0;" return (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) }) (else_clause "else if (DAT_001e3c28 == 3) {\n      if ((DAT_001e3bed & 0x18) == 8) goto LAB_0013335b;\n    }\n    else if ((DAT_001e3c28 == 4) && (bVar19 == 8)) {\n      if (DAT_001e3c24 == 3) goto LAB_00133ea8;\n      if (DAT_001e3c24 < 4) {\n        if (DAT_001e3c24 != 2) goto LAB_00133dcf;\n        goto LAB_001337ff;\n      }\n      if (DAT_001e3c24 == 4) goto LAB_00133379;\njoined_r0x00133753:\n      if (DAT_001e3c24 != 5) {\nLAB_00133dcf:\n                    /* WARNING: Subroutine does not return */\n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1aa0,"build_modrm_byte");\n      }\n      if (DAT_001e3bef == '\0') {\n        uVar9 = uVar20;\n        uVar22 = 5;\n      }\n      else {\n        if (((DAT_001e3c34 != 2) || (-1 < DAT_001e3bef)) || ((DAT_001e3c38._1_1_ & 0xfc) == 0)) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0011dd00("../../gas/config/tc-i386.c",0x1a96,"build_modrm_byte");\n        }\n        if ((DAT_001e3c40._1_1_ & 0xfc) == 0) {\n          if ((DAT_001e3c58._1_1_ & 0xfc) == 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1a9c,"build_modrm_byte");\n          }\n          uVar9 = 1;\n          uVar22 = 5;\n        }\n        else {\n          uVar9 = (ulong)DAT_001e3c34;\n          uVar22 = 5;\n        }\n      }\n      goto LAB_001337c1;\n    }" else (if_statement "if (DAT_001e3c28 == 3) {\n      if ((DAT_001e3bed & 0x18) == 8) goto LAB_0013335b;\n    }\n    else if ((DAT_001e3c28 == 4) && (bVar19 == 8)) {\n      if (DAT_001e3c24 == 3) goto LAB_00133ea8;\n      if (DAT_001e3c24 < 4) {\n        if (DAT_001e3c24 != 2) goto LAB_00133dcf;\n        goto LAB_001337ff;\n      }\n      if (DAT_001e3c24 == 4) goto LAB_00133379;\njoined_r0x00133753:\n      if (DAT_001e3c24 != 5) {\nLAB_00133dcf:\n                    /* WARNING: Subroutine does not return */\n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1aa0,"build_modrm_byte");\n      }\n      if (DAT_001e3bef == '\0') {\n        uVar9 = uVar20;\n        uVar22 = 5;\n      }\n      else {\n        if (((DAT_001e3c34 != 2) || (-1 < DAT_001e3bef)) || ((DAT_001e3c38._1_1_ & 0xfc) == 0)) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0011dd00("../../gas/config/tc-i386.c",0x1a96,"build_modrm_byte");\n        }\n        if ((DAT_001e3c40._1_1_ & 0xfc) == 0) {\n          if ((DAT_001e3c58._1_1_ & 0xfc) == 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1a9c,"build_modrm_byte");\n          }\n          uVar9 = 1;\n          uVar22 = 5;\n        }\n        else {\n          uVar9 = (ulong)DAT_001e3c34;\n          uVar22 = 5;\n        }\n      }\n      goto LAB_001337c1;\n    }" if (parenthesized_expression "(DAT_001e3c28 == 3)" ( (binary_expression "DAT_001e3c28 == 3" identifier == number_literal) )) (compound_statement "{\n      if ((DAT_001e3bed & 0x18) == 8) goto LAB_0013335b;\n    }" { (if_statement "if ((DAT_001e3bed & 0x18) == 8) goto LAB_0013335b;" if (parenthesized_expression "((DAT_001e3bed & 0x18) == 8)" ( (binary_expression "(DAT_001e3bed & 0x18) == 8" (parenthesized_expression "(DAT_001e3bed & 0x18)" ( (binary_expression "DAT_001e3bed & 0x18" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0013335b;" goto statement_identifier ;)) }) (else_clause "else if ((DAT_001e3c28 == 4) && (bVar19 == 8)) {\n      if (DAT_001e3c24 == 3) goto LAB_00133ea8;\n      if (DAT_001e3c24 < 4) {\n        if (DAT_001e3c24 != 2) goto LAB_00133dcf;\n        goto LAB_001337ff;\n      }\n      if (DAT_001e3c24 == 4) goto LAB_00133379;\njoined_r0x00133753:\n      if (DAT_001e3c24 != 5) {\nLAB_00133dcf:\n                    /* WARNING: Subroutine does not return */\n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1aa0,"build_modrm_byte");\n      }\n      if (DAT_001e3bef == '\0') {\n        uVar9 = uVar20;\n        uVar22 = 5;\n      }\n      else {\n        if (((DAT_001e3c34 != 2) || (-1 < DAT_001e3bef)) || ((DAT_001e3c38._1_1_ & 0xfc) == 0)) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0011dd00("../../gas/config/tc-i386.c",0x1a96,"build_modrm_byte");\n        }\n        if ((DAT_001e3c40._1_1_ & 0xfc) == 0) {\n          if ((DAT_001e3c58._1_1_ & 0xfc) == 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1a9c,"build_modrm_byte");\n          }\n          uVar9 = 1;\n          uVar22 = 5;\n        }\n        else {\n          uVar9 = (ulong)DAT_001e3c34;\n          uVar22 = 5;\n        }\n      }\n      goto LAB_001337c1;\n    }" else (if_statement "if ((DAT_001e3c28 == 4) && (bVar19 == 8)) {\n      if (DAT_001e3c24 == 3) goto LAB_00133ea8;\n      if (DAT_001e3c24 < 4) {\n        if (DAT_001e3c24 != 2) goto LAB_00133dcf;\n        goto LAB_001337ff;\n      }\n      if (DAT_001e3c24 == 4) goto LAB_00133379;\njoined_r0x00133753:\n      if (DAT_001e3c24 != 5) {\nLAB_00133dcf:\n                    /* WARNING: Subroutine does not return */\n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1aa0,"build_modrm_byte");\n      }\n      if (DAT_001e3bef == '\0') {\n        uVar9 = uVar20;\n        uVar22 = 5;\n      }\n      else {\n        if (((DAT_001e3c34 != 2) || (-1 < DAT_001e3bef)) || ((DAT_001e3c38._1_1_ & 0xfc) == 0)) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0011dd00("../../gas/config/tc-i386.c",0x1a96,"build_modrm_byte");\n        }\n        if ((DAT_001e3c40._1_1_ & 0xfc) == 0) {\n          if ((DAT_001e3c58._1_1_ & 0xfc) == 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1a9c,"build_modrm_byte");\n          }\n          uVar9 = 1;\n          uVar22 = 5;\n        }\n        else {\n          uVar9 = (ulong)DAT_001e3c34;\n          uVar22 = 5;\n        }\n      }\n      goto LAB_001337c1;\n    }" if (parenthesized_expression "((DAT_001e3c28 == 4) && (bVar19 == 8))" ( (binary_expression "(DAT_001e3c28 == 4) && (bVar19 == 8)" (parenthesized_expression "(DAT_001e3c28 == 4)" ( (binary_expression "DAT_001e3c28 == 4" identifier == number_literal) )) && (parenthesized_expression "(bVar19 == 8)" ( (binary_expression "bVar19 == 8" identifier == number_literal) ))) )) (compound_statement "{\n      if (DAT_001e3c24 == 3) goto LAB_00133ea8;\n      if (DAT_001e3c24 < 4) {\n        if (DAT_001e3c24 != 2) goto LAB_00133dcf;\n        goto LAB_001337ff;\n      }\n      if (DAT_001e3c24 == 4) goto LAB_00133379;\njoined_r0x00133753:\n      if (DAT_001e3c24 != 5) {\nLAB_00133dcf:\n                    /* WARNING: Subroutine does not return */\n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1aa0,"build_modrm_byte");\n      }\n      if (DAT_001e3bef == '\0') {\n        uVar9 = uVar20;\n        uVar22 = 5;\n      }\n      else {\n        if (((DAT_001e3c34 != 2) || (-1 < DAT_001e3bef)) || ((DAT_001e3c38._1_1_ & 0xfc) == 0)) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0011dd00("../../gas/config/tc-i386.c",0x1a96,"build_modrm_byte");\n        }\n        if ((DAT_001e3c40._1_1_ & 0xfc) == 0) {\n          if ((DAT_001e3c58._1_1_ & 0xfc) == 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1a9c,"build_modrm_byte");\n          }\n          uVar9 = 1;\n          uVar22 = 5;\n        }\n        else {\n          uVar9 = (ulong)DAT_001e3c34;\n          uVar22 = 5;\n        }\n      }\n      goto LAB_001337c1;\n    }" { (if_statement "if (DAT_001e3c24 == 3) goto LAB_00133ea8;" if (parenthesized_expression "(DAT_001e3c24 == 3)" ( (binary_expression "DAT_001e3c24 == 3" identifier == number_literal) )) (goto_statement "goto LAB_00133ea8;" goto statement_identifier ;)) (if_statement "if (DAT_001e3c24 < 4) {\n        if (DAT_001e3c24 != 2) goto LAB_00133dcf;\n        goto LAB_001337ff;\n      }" if (parenthesized_expression "(DAT_001e3c24 < 4)" ( (binary_expression "DAT_001e3c24 < 4" identifier < number_literal) )) (compound_statement "{\n        if (DAT_001e3c24 != 2) goto LAB_00133dcf;\n        goto LAB_001337ff;\n      }" { (if_statement "if (DAT_001e3c24 != 2) goto LAB_00133dcf;" if (parenthesized_expression "(DAT_001e3c24 != 2)" ( (binary_expression "DAT_001e3c24 != 2" identifier != number_literal) )) (goto_statement "goto LAB_00133dcf;" goto statement_identifier ;)) (goto_statement "goto LAB_001337ff;" goto statement_identifier ;) })) (if_statement "if (DAT_001e3c24 == 4) goto LAB_00133379;" if (parenthesized_expression "(DAT_001e3c24 == 4)" ( (binary_expression "DAT_001e3c24 == 4" identifier == number_literal) )) (goto_statement "goto LAB_00133379;" goto statement_identifier ;)) (labeled_statement "joined_r0x00133753:\n      if (DAT_001e3c24 != 5) {\nLAB_00133dcf:\n                    /* WARNING: Subroutine does not return */\n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1aa0,"build_modrm_byte");\n      }" statement_identifier : (if_statement "if (DAT_001e3c24 != 5) {\nLAB_00133dcf:\n                    /* WARNING: Subroutine does not return */\n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1aa0,"build_modrm_byte");\n      }" if (parenthesized_expression "(DAT_001e3c24 != 5)" ( (binary_expression "DAT_001e3c24 != 5" identifier != number_literal) )) (compound_statement "{\nLAB_00133dcf:\n                    /* WARNING: Subroutine does not return */\n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1aa0,"build_modrm_byte");\n      }" { (labeled_statement "LAB_00133dcf:\n                    /* WARNING: Subroutine does not return */\n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1aa0,"build_modrm_byte");" statement_identifier : comment (expression_statement "FUN_0011dd00("../../gas/config/tc-i386.c",0x1aa0,"build_modrm_byte");" (call_expression "FUN_0011dd00("../../gas/config/tc-i386.c",0x1aa0,"build_modrm_byte")" identifier (argument_list "("../../gas/config/tc-i386.c",0x1aa0,"build_modrm_byte")" ( (string_literal ""../../gas/config/tc-i386.c"" " string_content ") , number_literal , (string_literal ""build_modrm_byte"" " string_content ") ))) ;)) }))) (if_statement "if (DAT_001e3bef == '\0') {\n        uVar9 = uVar20;\n        uVar22 = 5;\n      }\n      else {\n        if (((DAT_001e3c34 != 2) || (-1 < DAT_001e3bef)) || ((DAT_001e3c38._1_1_ & 0xfc) == 0)) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0011dd00("../../gas/config/tc-i386.c",0x1a96,"build_modrm_byte");\n        }\n        if ((DAT_001e3c40._1_1_ & 0xfc) == 0) {\n          if ((DAT_001e3c58._1_1_ & 0xfc) == 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1a9c,"build_modrm_byte");\n          }\n          uVar9 = 1;\n          uVar22 = 5;\n        }\n        else {\n          uVar9 = (ulong)DAT_001e3c34;\n          uVar22 = 5;\n        }\n      }" if (parenthesized_expression "(DAT_001e3bef == '\0')" ( (binary_expression "DAT_001e3bef == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        uVar9 = uVar20;\n        uVar22 = 5;\n      }" { (expression_statement "uVar9 = uVar20;" (assignment_expression "uVar9 = uVar20" identifier = identifier) ;) (expression_statement "uVar22 = 5;" (assignment_expression "uVar22 = 5" identifier = number_literal) ;) }) (else_clause "else {\n        if (((DAT_001e3c34 != 2) || (-1 < DAT_001e3bef)) || ((DAT_001e3c38._1_1_ & 0xfc) == 0)) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0011dd00("../../gas/config/tc-i386.c",0x1a96,"build_modrm_byte");\n        }\n        if ((DAT_001e3c40._1_1_ & 0xfc) == 0) {\n          if ((DAT_001e3c58._1_1_ & 0xfc) == 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1a9c,"build_modrm_byte");\n          }\n          uVar9 = 1;\n          uVar22 = 5;\n        }\n        else {\n          uVar9 = (ulong)DAT_001e3c34;\n          uVar22 = 5;\n        }\n      }" else (compound_statement "{\n        if (((DAT_001e3c34 != 2) || (-1 < DAT_001e3bef)) || ((DAT_001e3c38._1_1_ & 0xfc) == 0)) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0011dd00("../../gas/config/tc-i386.c",0x1a96,"build_modrm_byte");\n        }\n        if ((DAT_001e3c40._1_1_ & 0xfc) == 0) {\n          if ((DAT_001e3c58._1_1_ & 0xfc) == 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1a9c,"build_modrm_byte");\n          }\n          uVar9 = 1;\n          uVar22 = 5;\n        }\n        else {\n          uVar9 = (ulong)DAT_001e3c34;\n          uVar22 = 5;\n        }\n      }" { (if_statement "if (((DAT_001e3c34 != 2) || (-1 < DAT_001e3bef)) || ((DAT_001e3c38._1_1_ & 0xfc) == 0)) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0011dd00("../../gas/config/tc-i386.c",0x1a96,"build_modrm_byte");\n        }" if (parenthesized_expression "(((DAT_001e3c34 != 2) || (-1 < DAT_001e3bef)) || ((DAT_001e3c38._1_1_ & 0xfc) == 0))" ( (binary_expression "((DAT_001e3c34 != 2) || (-1 < DAT_001e3bef)) || ((DAT_001e3c38._1_1_ & 0xfc) == 0)" (parenthesized_expression "((DAT_001e3c34 != 2) || (-1 < DAT_001e3bef))" ( (binary_expression "(DAT_001e3c34 != 2) || (-1 < DAT_001e3bef)" (parenthesized_expression "(DAT_001e3c34 != 2)" ( (binary_expression "DAT_001e3c34 != 2" identifier != number_literal) )) || (parenthesized_expression "(-1 < DAT_001e3bef)" ( (binary_expression "-1 < DAT_001e3bef" number_literal < identifier) ))) )) || (parenthesized_expression "((DAT_001e3c38._1_1_ & 0xfc) == 0)" ( (binary_expression "(DAT_001e3c38._1_1_ & 0xfc) == 0" (parenthesized_expression "(DAT_001e3c38._1_1_ & 0xfc)" ( (binary_expression "DAT_001e3c38._1_1_ & 0xfc" (field_expression "DAT_001e3c38._1_1_" identifier . field_identifier) & number_literal) )) == number_literal) ))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n          FUN_0011dd00("../../gas/config/tc-i386.c",0x1a96,"build_modrm_byte");\n        }" { comment (expression_statement "FUN_0011dd00("../../gas/config/tc-i386.c",0x1a96,"build_modrm_byte");" (call_expression "FUN_0011dd00("../../gas/config/tc-i386.c",0x1a96,"build_modrm_byte")" identifier (argument_list "("../../gas/config/tc-i386.c",0x1a96,"build_modrm_byte")" ( (string_literal ""../../gas/config/tc-i386.c"" " string_content ") , number_literal , (string_literal ""build_modrm_byte"" " string_content ") ))) ;) })) (if_statement "if ((DAT_001e3c40._1_1_ & 0xfc) == 0) {\n          if ((DAT_001e3c58._1_1_ & 0xfc) == 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1a9c,"build_modrm_byte");\n          }\n          uVar9 = 1;\n          uVar22 = 5;\n        }\n        else {\n          uVar9 = (ulong)DAT_001e3c34;\n          uVar22 = 5;\n        }" if (parenthesized_expression "((DAT_001e3c40._1_1_ & 0xfc) == 0)" ( (binary_expression "(DAT_001e3c40._1_1_ & 0xfc) == 0" (parenthesized_expression "(DAT_001e3c40._1_1_ & 0xfc)" ( (binary_expression "DAT_001e3c40._1_1_ & 0xfc" (field_expression "DAT_001e3c40._1_1_" identifier . field_identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n          if ((DAT_001e3c58._1_1_ & 0xfc) == 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1a9c,"build_modrm_byte");\n          }\n          uVar9 = 1;\n          uVar22 = 5;\n        }" { (if_statement "if ((DAT_001e3c58._1_1_ & 0xfc) == 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1a9c,"build_modrm_byte");\n          }" if (parenthesized_expression "((DAT_001e3c58._1_1_ & 0xfc) == 0)" ( (binary_expression "(DAT_001e3c58._1_1_ & 0xfc) == 0" (parenthesized_expression "(DAT_001e3c58._1_1_ & 0xfc)" ( (binary_expression "DAT_001e3c58._1_1_ & 0xfc" (field_expression "DAT_001e3c58._1_1_" identifier . field_identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1a9c,"build_modrm_byte");\n          }" { comment (expression_statement "FUN_0011dd00("../../gas/config/tc-i386.c",0x1a9c,"build_modrm_byte");" (call_expression "FUN_0011dd00("../../gas/config/tc-i386.c",0x1a9c,"build_modrm_byte")" identifier (argument_list "("../../gas/config/tc-i386.c",0x1a9c,"build_modrm_byte")" ( (string_literal ""../../gas/config/tc-i386.c"" " string_content ") , number_literal , (string_literal ""build_modrm_byte"" " string_content ") ))) ;) })) (expression_statement "uVar9 = 1;" (assignment_expression "uVar9 = 1" identifier = number_literal) ;) (expression_statement "uVar22 = 5;" (assignment_expression "uVar22 = 5" identifier = number_literal) ;) }) (else_clause "else {\n          uVar9 = (ulong)DAT_001e3c34;\n          uVar22 = 5;\n        }" else (compound_statement "{\n          uVar9 = (ulong)DAT_001e3c34;\n          uVar22 = 5;\n        }" { (expression_statement "uVar9 = (ulong)DAT_001e3c34;" (assignment_expression "uVar9 = (ulong)DAT_001e3c34" identifier = (cast_expression "(ulong)DAT_001e3c34" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "uVar22 = 5;" (assignment_expression "uVar22 = 5" identifier = number_literal) ;) }))) }))) (goto_statement "goto LAB_001337c1;" goto statement_identifier ;) })))))) (expression_statement "uVar22 = 0xffffffff;" (assignment_expression "uVar22 = 0xffffffff" identifier = number_literal) ;) (expression_statement "puVar10 = (undefined1 *)0x0;" (assignment_expression "puVar10 = (undefined1 *)0x0" identifier = (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n    if (DAT_001e3c24 == 0) {\nLAB_0013303b:\n                    /* WARNING: Subroutine does not return */\n      FUN_0011dd00("../../gas/config/tc-i386.c",0x1b05,"build_modrm_byte");\n    }\n    if ((DAT_001e3c38._2_1_ & 0x5f) == 0) {\n      uVar9 = 1;\n      do {\n        uVar20 = uVar9 & 0xffffffff;\n        if (DAT_001e3c24 <= (uint)uVar9) goto LAB_0013303b;\n        puVar3 = &DAT_001e3c38 + uVar9;\n        uVar9 = uVar9 + 1;\n      } while ((*puVar3 & 0x5f0000) == 0);\n    }\n    else {\n      uVar20 = 0;\n    }\n    bVar21 = bVar21 & 0x30;\n    uVar22 = (uint)uVar20;\n    if (bVar21 == 0) {\nLAB_0013313d:\n      if (lVar13 != 0) goto LAB_00133146;\nLAB_00133448:\n      lVar13 = DAT_001e3cb8;\n      DAT_001e3cf4 = 0;\n      if (DAT_001e3c2c == 0) {\n        if (DAT_001e3cb8 == 0) {\n          iVar16 = 1;\n          goto LAB_00133cae;\n        }\n        if (bVar21 == 0) {\n          iVar16 = 1;\n          goto LAB_00133af0;\n        }\n        goto LAB_00133a60;\n      }\n      if (DAT_001e3cb8 != 0) {\n        if (bVar21 == 0) {\n          iVar16 = 0;\nLAB_00133af0:\n          uVar15 = (uint)*(byte *)(DAT_001e3cb8 + 0x11);\n          DAT_001e3cec = 4;\n          if ((byte)(*(byte *)(DAT_001e3cb8 + 0x11) + 4) < 2) {\n            uVar15 = 4;\n          }\n          _DAT_001e3d00 = CONCAT44(uVar15,5);\n          DAT_001e3d08 = DAT_001e3cc0;\n          lVar2 = uVar20 * 8;\n          bVar21 = *(byte *)((long)&DAT_001e3c38 + lVar2 + 2);\n          bVar24 = DAT_001e3b14 == 2;\n          *(byte *)((long)&DAT_001e3c38 + lVar2 + 2) = bVar21 & 0xec;\n          if ((bVar24) && (DAT_001e3ce6 == '\0')) {\n            *(byte *)((long)&DAT_001e3c38 + lVar2 + 2) = bVar21 & 0xe0 | 8;\n          }\n          else {\n            *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) =\n                 *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xf3 | 4;\n          }\n          puVar10 = ds;\n          if ((*(byte *)(lVar13 + 0x10) & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 2;\n          }\n          goto LAB_00133b80;\n        }\n        goto LAB_00133424;\n      }\n      iVar16 = 0;\nLAB_00133cae:\n      if (bVar21 != 0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1b33,"build_modrm_byte");\n      }\n      if (DAT_001e3b14 == 2) {\n        DAT_001e3cec = 4;\n        uVar17 = (uint)(DAT_001e3ce6 == '\0');\n        uVar15 = (uint)(DAT_001e3ce6 != '\0');\n        _DAT_001e3d00 = 0x400000005;\n        iVar8 = 0;\n      }\n      else if ((DAT_001e3b14 == 1) == (DAT_001e3ce6 != '\0')) {\n        DAT_001e3cec = 5;\n        uVar17 = 0;\n        uVar15 = 1;\n        iVar8 = 0;\n      }\n      else {\n        DAT_001e3cec = 6;\n        uVar17 = 0;\n        uVar15 = 0;\n        iVar8 = 1;\n      }\n      uVar23 = ~DAT_00153a64;\n      *(uint *)(&DAT_001e3c38 + uVar20) =\n           iVar8 << 0x11 | uVar15 << 0x12 | uVar17 << 0x13 |\n           ~DAT_00153a60 & *(uint *)(&DAT_001e3c38 + uVar20);\n      puVar10 = ds;\n      puVar1 = (uint *)((long)&DAT_001e3c38 + uVar20 * 8 + 4);\n      *puVar1 = *puVar1 & uVar23;\nLAB_00133b80:\n      if (iVar16 != 0) goto LAB_00133a67;\n    }\n    else {\n      cVar6 = *(char *)(DAT_001e3cb8 + 0x11);\n      if ((byte)(cVar6 + 4U) < 2) {\n                    /* WARNING: Subroutine does not return */\n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1b0b,"build_modrm_byte");\n      }\n      DAT_001e3cec = 4;\n      if (DAT_001e3cb0 == 0) {\n        _DAT_001e3d00 = 5;\n        DAT_001e3d08 = DAT_001e3cc0;\n        lVar4 = uVar20 * 8;\n        bVar7 = *(byte *)((long)&DAT_001e3c38 + lVar4 + 2);\n        bVar24 = DAT_001e3b14 == 2;\n        *(byte *)((long)&DAT_001e3c38 + lVar4 + 2) = bVar7 & 0xec;\n        if ((bVar24) && (DAT_001e3ce6 == '\0')) {\n          *(byte *)((long)&DAT_001e3c38 + lVar4 + 2) = bVar7 & 0xe0 | 8;\n        }\n        else {\n          *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) =\n               *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xf3 | 4;\n        }\n      }\n      _DAT_001e3d00 = (ulong)CONCAT14(cVar6,_DAT_001e3d00);\n      if ((*(byte *)(lVar2 + 0x10) & 1) != 0) {\n        DAT_001e3cf8 = DAT_001e3cf8 | 2;\n      }\n      if ((*(byte *)(lVar2 + 0x10) & 4) == 0) goto LAB_0013313d;\n      DAT_001e3cfc = DAT_001e3cfc | 2;\n      if (lVar13 == 0) goto LAB_00133448;\nLAB_00133146:\n      bVar7 = *(byte *)(lVar13 + 0x11);\n      if (bVar7 < 0xfe) {\n        if ((*(byte *)(lVar13 + 0xb) & 0x40) == 0) {\n          if ((DAT_001e3b14 == 2) &&\n             ((*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f) != 0)) {\n            lVar2 = (uVar20 + 0xe) * 8;\n            bVar14 = *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2);\n            bVar12 = bVar14 & 0xe1;\n            *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar14 & 0xed;\n            if (DAT_001e3ce6 == '\0') {\n              *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar12 | 8;\n            }\n            else {\n              *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar12 | 4;\n            }\n          }\n          if (bVar21 == 0) {\n            DAT_001e3cec = (uint)bVar7;\n          }\n          if ((*(byte *)(lVar13 + 0x10) & 1) == 0) {\n            puVar10 = ss;\n            if (1 < (byte)(bVar7 - 4)) {\n              puVar10 = ds;\n            }\n          }\n          else {\n            DAT_001e3cf8 = DAT_001e3cf8 | 1;\n            puVar10 = ds;\n          }\n          _DAT_001e3d00 = CONCAT44(DAT_001e3d04,(uint)bVar7);\n          iVar16 = 0;\n          if ((bVar7 == 5) && (iVar16 = 0, DAT_001e3c2c == 0)) {\n            iVar16 = 1;\n            pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n            *pbVar5 = *pbVar5 | 1;\n          }\n          iVar8 = DAT_001e3d40;\n          DAT_001e3d08 = DAT_001e3cc0;\n          if (DAT_001e3cb8 == 0) {\n            if (bVar21 != 0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1bbf,"build_modrm_byte");\n            }\n            _DAT_001e3d00 = CONCAT44(4,_DAT_001e3d00);\n          }\n          else if (bVar21 == 0) {\n            DAT_001e3cec = 4;\n            uVar15 = (uint)*(byte *)(DAT_001e3cb8 + 0x11);\n            if ((byte)(*(byte *)(DAT_001e3cb8 + 0x11) + 4) < 2) {\n              uVar15 = 4;\n            }\n            _DAT_001e3d00 = CONCAT44(uVar15,_DAT_001e3d00);\n            if ((*(byte *)(DAT_001e3cb8 + 0x10) & 1) != 0) {\n              DAT_001e3cf8 = DAT_001e3cf8 | 2;\n            }\n          }\n          if (DAT_001e3c2c == 0) {\n            if ((iVar16 == 0) && (iVar16 = iVar8, DAT_001e3d40 != 0)) {\n              if (DAT_001e3d40 == 1) {\n                pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n                *pbVar5 = *pbVar5 | 1;\n              }\n              else {\n                pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n                *pbVar5 = *pbVar5 | 4;\n                iVar16 = 1;\n              }\n            }\n          }\n          else if (((&DAT_001e3c9c)[uVar20] == 0x179) || ((&DAT_001e3c9c)[uVar20] == 0x195)) {\n            DAT_001e3cf4 = 0;\n            goto LAB_00133b80;\n          }\n        }\n        else {\n          if (bVar21 != 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1b7c,"build_modrm_byte");\n          }\n          if (bVar7 == 3) {\n            if (DAT_001e3cb8 != 0) {\n              DAT_001e3cec = *(byte *)(DAT_001e3cb8 + 0x11) - 6;\n              goto LAB_0013317e;\n            }\n            DAT_001e3cec = 7;\n            puVar10 = ds;\n            iVar16 = 0;\n          }\n          else if (bVar7 == 5) {\n            if (DAT_001e3cb8 == 0) {\n              puVar10 = ss;\n              DAT_001e3cec = 6;\n              iVar16 = 0;\n              if ((*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f) == 0) {\n                pbVar5 = (byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2);\n                *pbVar5 = *pbVar5 | 1;\n                iVar16 = 1;\n              }\n            }\n            else {\n              DAT_001e3cec = *(byte *)(DAT_001e3cb8 + 0x11) - 4;\n              puVar10 = ss;\n              iVar16 = 0;\n            }\n          }\n          else {\n            DAT_001e3cec = bVar7 - 2;\nLAB_0013317e:\n            iVar16 = 0;\n            puVar10 = ds;\n          }\n        }\n        DAT_001e3cf4 = 1;\n        if (((ulong)(&DAT_001e3c38)[uVar20] >> 0x10 & 1) == 0) {\n          DAT_001e3cf4 = (uint)(((&DAT_001e3c38)[uVar20] & 0xe0000) != 0) * 2;\n        }\n        goto LAB_00133b80;\n      }\n      if (bVar21 != 0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1b6f,"build_modrm_byte");\n      }\n      DAT_001e3cec = 5;\n      *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) =\n           *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xe0 | 8;\n      uVar15 = DAT_001e3c2c;\n      (&DAT_001e3c88)[uVar20] = (&DAT_001e3c88)[uVar20] | 1;\n      if (uVar15 != 0) {\nLAB_00133424:\n        puVar10 = ds;\n        goto LAB_00133089;\n      }\nLAB_00133a60:\n      puVar10 = ds;\nLAB_00133a67:\n      if ((&DAT_001e3bc0)[uVar20 + 0x14] != 0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1bed,"build_modrm_byte");\n      }\n      uVar9 = (ulong)DAT_001e3c2c;\n      DAT_001e3c2c = DAT_001e3c2c + 1;\n      lVar13 = uVar9 * 0x20;\n      (&DAT_001e3bc0)[uVar20 + 0x14] = &DAT_001e3b60 + lVar13;\n      (&DAT_001e3b78)[lVar13] = 2;\n      *(undefined8 *)(&DAT_001e3b70 + lVar13) = 0;\n      *(undefined8 *)(&DAT_001e3b60 + lVar13) = 0;\n      *(undefined8 *)(&DAT_001e3b68 + lVar13) = 0;\n    }\n    bVar14 = DAT_001e3bee & 0xc;\n  }" else (compound_statement "{\n    if (DAT_001e3c24 == 0) {\nLAB_0013303b:\n                    /* WARNING: Subroutine does not return */\n      FUN_0011dd00("../../gas/config/tc-i386.c",0x1b05,"build_modrm_byte");\n    }\n    if ((DAT_001e3c38._2_1_ & 0x5f) == 0) {\n      uVar9 = 1;\n      do {\n        uVar20 = uVar9 & 0xffffffff;\n        if (DAT_001e3c24 <= (uint)uVar9) goto LAB_0013303b;\n        puVar3 = &DAT_001e3c38 + uVar9;\n        uVar9 = uVar9 + 1;\n      } while ((*puVar3 & 0x5f0000) == 0);\n    }\n    else {\n      uVar20 = 0;\n    }\n    bVar21 = bVar21 & 0x30;\n    uVar22 = (uint)uVar20;\n    if (bVar21 == 0) {\nLAB_0013313d:\n      if (lVar13 != 0) goto LAB_00133146;\nLAB_00133448:\n      lVar13 = DAT_001e3cb8;\n      DAT_001e3cf4 = 0;\n      if (DAT_001e3c2c == 0) {\n        if (DAT_001e3cb8 == 0) {\n          iVar16 = 1;\n          goto LAB_00133cae;\n        }\n        if (bVar21 == 0) {\n          iVar16 = 1;\n          goto LAB_00133af0;\n        }\n        goto LAB_00133a60;\n      }\n      if (DAT_001e3cb8 != 0) {\n        if (bVar21 == 0) {\n          iVar16 = 0;\nLAB_00133af0:\n          uVar15 = (uint)*(byte *)(DAT_001e3cb8 + 0x11);\n          DAT_001e3cec = 4;\n          if ((byte)(*(byte *)(DAT_001e3cb8 + 0x11) + 4) < 2) {\n            uVar15 = 4;\n          }\n          _DAT_001e3d00 = CONCAT44(uVar15,5);\n          DAT_001e3d08 = DAT_001e3cc0;\n          lVar2 = uVar20 * 8;\n          bVar21 = *(byte *)((long)&DAT_001e3c38 + lVar2 + 2);\n          bVar24 = DAT_001e3b14 == 2;\n          *(byte *)((long)&DAT_001e3c38 + lVar2 + 2) = bVar21 & 0xec;\n          if ((bVar24) && (DAT_001e3ce6 == '\0')) {\n            *(byte *)((long)&DAT_001e3c38 + lVar2 + 2) = bVar21 & 0xe0 | 8;\n          }\n          else {\n            *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) =\n                 *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xf3 | 4;\n          }\n          puVar10 = ds;\n          if ((*(byte *)(lVar13 + 0x10) & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 2;\n          }\n          goto LAB_00133b80;\n        }\n        goto LAB_00133424;\n      }\n      iVar16 = 0;\nLAB_00133cae:\n      if (bVar21 != 0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1b33,"build_modrm_byte");\n      }\n      if (DAT_001e3b14 == 2) {\n        DAT_001e3cec = 4;\n        uVar17 = (uint)(DAT_001e3ce6 == '\0');\n        uVar15 = (uint)(DAT_001e3ce6 != '\0');\n        _DAT_001e3d00 = 0x400000005;\n        iVar8 = 0;\n      }\n      else if ((DAT_001e3b14 == 1) == (DAT_001e3ce6 != '\0')) {\n        DAT_001e3cec = 5;\n        uVar17 = 0;\n        uVar15 = 1;\n        iVar8 = 0;\n      }\n      else {\n        DAT_001e3cec = 6;\n        uVar17 = 0;\n        uVar15 = 0;\n        iVar8 = 1;\n      }\n      uVar23 = ~DAT_00153a64;\n      *(uint *)(&DAT_001e3c38 + uVar20) =\n           iVar8 << 0x11 | uVar15 << 0x12 | uVar17 << 0x13 |\n           ~DAT_00153a60 & *(uint *)(&DAT_001e3c38 + uVar20);\n      puVar10 = ds;\n      puVar1 = (uint *)((long)&DAT_001e3c38 + uVar20 * 8 + 4);\n      *puVar1 = *puVar1 & uVar23;\nLAB_00133b80:\n      if (iVar16 != 0) goto LAB_00133a67;\n    }\n    else {\n      cVar6 = *(char *)(DAT_001e3cb8 + 0x11);\n      if ((byte)(cVar6 + 4U) < 2) {\n                    /* WARNING: Subroutine does not return */\n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1b0b,"build_modrm_byte");\n      }\n      DAT_001e3cec = 4;\n      if (DAT_001e3cb0 == 0) {\n        _DAT_001e3d00 = 5;\n        DAT_001e3d08 = DAT_001e3cc0;\n        lVar4 = uVar20 * 8;\n        bVar7 = *(byte *)((long)&DAT_001e3c38 + lVar4 + 2);\n        bVar24 = DAT_001e3b14 == 2;\n        *(byte *)((long)&DAT_001e3c38 + lVar4 + 2) = bVar7 & 0xec;\n        if ((bVar24) && (DAT_001e3ce6 == '\0')) {\n          *(byte *)((long)&DAT_001e3c38 + lVar4 + 2) = bVar7 & 0xe0 | 8;\n        }\n        else {\n          *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) =\n               *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xf3 | 4;\n        }\n      }\n      _DAT_001e3d00 = (ulong)CONCAT14(cVar6,_DAT_001e3d00);\n      if ((*(byte *)(lVar2 + 0x10) & 1) != 0) {\n        DAT_001e3cf8 = DAT_001e3cf8 | 2;\n      }\n      if ((*(byte *)(lVar2 + 0x10) & 4) == 0) goto LAB_0013313d;\n      DAT_001e3cfc = DAT_001e3cfc | 2;\n      if (lVar13 == 0) goto LAB_00133448;\nLAB_00133146:\n      bVar7 = *(byte *)(lVar13 + 0x11);\n      if (bVar7 < 0xfe) {\n        if ((*(byte *)(lVar13 + 0xb) & 0x40) == 0) {\n          if ((DAT_001e3b14 == 2) &&\n             ((*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f) != 0)) {\n            lVar2 = (uVar20 + 0xe) * 8;\n            bVar14 = *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2);\n            bVar12 = bVar14 & 0xe1;\n            *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar14 & 0xed;\n            if (DAT_001e3ce6 == '\0') {\n              *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar12 | 8;\n            }\n            else {\n              *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar12 | 4;\n            }\n          }\n          if (bVar21 == 0) {\n            DAT_001e3cec = (uint)bVar7;\n          }\n          if ((*(byte *)(lVar13 + 0x10) & 1) == 0) {\n            puVar10 = ss;\n            if (1 < (byte)(bVar7 - 4)) {\n              puVar10 = ds;\n            }\n          }\n          else {\n            DAT_001e3cf8 = DAT_001e3cf8 | 1;\n            puVar10 = ds;\n          }\n          _DAT_001e3d00 = CONCAT44(DAT_001e3d04,(uint)bVar7);\n          iVar16 = 0;\n          if ((bVar7 == 5) && (iVar16 = 0, DAT_001e3c2c == 0)) {\n            iVar16 = 1;\n            pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n            *pbVar5 = *pbVar5 | 1;\n          }\n          iVar8 = DAT_001e3d40;\n          DAT_001e3d08 = DAT_001e3cc0;\n          if (DAT_001e3cb8 == 0) {\n            if (bVar21 != 0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1bbf,"build_modrm_byte");\n            }\n            _DAT_001e3d00 = CONCAT44(4,_DAT_001e3d00);\n          }\n          else if (bVar21 == 0) {\n            DAT_001e3cec = 4;\n            uVar15 = (uint)*(byte *)(DAT_001e3cb8 + 0x11);\n            if ((byte)(*(byte *)(DAT_001e3cb8 + 0x11) + 4) < 2) {\n              uVar15 = 4;\n            }\n            _DAT_001e3d00 = CONCAT44(uVar15,_DAT_001e3d00);\n            if ((*(byte *)(DAT_001e3cb8 + 0x10) & 1) != 0) {\n              DAT_001e3cf8 = DAT_001e3cf8 | 2;\n            }\n          }\n          if (DAT_001e3c2c == 0) {\n            if ((iVar16 == 0) && (iVar16 = iVar8, DAT_001e3d40 != 0)) {\n              if (DAT_001e3d40 == 1) {\n                pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n                *pbVar5 = *pbVar5 | 1;\n              }\n              else {\n                pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n                *pbVar5 = *pbVar5 | 4;\n                iVar16 = 1;\n              }\n            }\n          }\n          else if (((&DAT_001e3c9c)[uVar20] == 0x179) || ((&DAT_001e3c9c)[uVar20] == 0x195)) {\n            DAT_001e3cf4 = 0;\n            goto LAB_00133b80;\n          }\n        }\n        else {\n          if (bVar21 != 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1b7c,"build_modrm_byte");\n          }\n          if (bVar7 == 3) {\n            if (DAT_001e3cb8 != 0) {\n              DAT_001e3cec = *(byte *)(DAT_001e3cb8 + 0x11) - 6;\n              goto LAB_0013317e;\n            }\n            DAT_001e3cec = 7;\n            puVar10 = ds;\n            iVar16 = 0;\n          }\n          else if (bVar7 == 5) {\n            if (DAT_001e3cb8 == 0) {\n              puVar10 = ss;\n              DAT_001e3cec = 6;\n              iVar16 = 0;\n              if ((*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f) == 0) {\n                pbVar5 = (byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2);\n                *pbVar5 = *pbVar5 | 1;\n                iVar16 = 1;\n              }\n            }\n            else {\n              DAT_001e3cec = *(byte *)(DAT_001e3cb8 + 0x11) - 4;\n              puVar10 = ss;\n              iVar16 = 0;\n            }\n          }\n          else {\n            DAT_001e3cec = bVar7 - 2;\nLAB_0013317e:\n            iVar16 = 0;\n            puVar10 = ds;\n          }\n        }\n        DAT_001e3cf4 = 1;\n        if (((ulong)(&DAT_001e3c38)[uVar20] >> 0x10 & 1) == 0) {\n          DAT_001e3cf4 = (uint)(((&DAT_001e3c38)[uVar20] & 0xe0000) != 0) * 2;\n        }\n        goto LAB_00133b80;\n      }\n      if (bVar21 != 0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1b6f,"build_modrm_byte");\n      }\n      DAT_001e3cec = 5;\n      *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) =\n           *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xe0 | 8;\n      uVar15 = DAT_001e3c2c;\n      (&DAT_001e3c88)[uVar20] = (&DAT_001e3c88)[uVar20] | 1;\n      if (uVar15 != 0) {\nLAB_00133424:\n        puVar10 = ds;\n        goto LAB_00133089;\n      }\nLAB_00133a60:\n      puVar10 = ds;\nLAB_00133a67:\n      if ((&DAT_001e3bc0)[uVar20 + 0x14] != 0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1bed,"build_modrm_byte");\n      }\n      uVar9 = (ulong)DAT_001e3c2c;\n      DAT_001e3c2c = DAT_001e3c2c + 1;\n      lVar13 = uVar9 * 0x20;\n      (&DAT_001e3bc0)[uVar20 + 0x14] = &DAT_001e3b60 + lVar13;\n      (&DAT_001e3b78)[lVar13] = 2;\n      *(undefined8 *)(&DAT_001e3b70 + lVar13) = 0;\n      *(undefined8 *)(&DAT_001e3b60 + lVar13) = 0;\n      *(undefined8 *)(&DAT_001e3b68 + lVar13) = 0;\n    }\n    bVar14 = DAT_001e3bee & 0xc;\n  }" { (if_statement "if (DAT_001e3c24 == 0) {\nLAB_0013303b:\n                    /* WARNING: Subroutine does not return */\n      FUN_0011dd00("../../gas/config/tc-i386.c",0x1b05,"build_modrm_byte");\n    }" if (parenthesized_expression "(DAT_001e3c24 == 0)" ( (binary_expression "DAT_001e3c24 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_0013303b:\n                    /* WARNING: Subroutine does not return */\n      FUN_0011dd00("../../gas/config/tc-i386.c",0x1b05,"build_modrm_byte");\n    }" { (labeled_statement "LAB_0013303b:\n                    /* WARNING: Subroutine does not return */\n      FUN_0011dd00("../../gas/config/tc-i386.c",0x1b05,"build_modrm_byte");" statement_identifier : comment (expression_statement "FUN_0011dd00("../../gas/config/tc-i386.c",0x1b05,"build_modrm_byte");" (call_expression "FUN_0011dd00("../../gas/config/tc-i386.c",0x1b05,"build_modrm_byte")" identifier (argument_list "("../../gas/config/tc-i386.c",0x1b05,"build_modrm_byte")" ( (string_literal ""../../gas/config/tc-i386.c"" " string_content ") , number_literal , (string_literal ""build_modrm_byte"" " string_content ") ))) ;)) })) (if_statement "if ((DAT_001e3c38._2_1_ & 0x5f) == 0) {\n      uVar9 = 1;\n      do {\n        uVar20 = uVar9 & 0xffffffff;\n        if (DAT_001e3c24 <= (uint)uVar9) goto LAB_0013303b;\n        puVar3 = &DAT_001e3c38 + uVar9;\n        uVar9 = uVar9 + 1;\n      } while ((*puVar3 & 0x5f0000) == 0);\n    }\n    else {\n      uVar20 = 0;\n    }" if (parenthesized_expression "((DAT_001e3c38._2_1_ & 0x5f) == 0)" ( (binary_expression "(DAT_001e3c38._2_1_ & 0x5f) == 0" (parenthesized_expression "(DAT_001e3c38._2_1_ & 0x5f)" ( (binary_expression "DAT_001e3c38._2_1_ & 0x5f" (field_expression "DAT_001e3c38._2_1_" identifier . field_identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n      uVar9 = 1;\n      do {\n        uVar20 = uVar9 & 0xffffffff;\n        if (DAT_001e3c24 <= (uint)uVar9) goto LAB_0013303b;\n        puVar3 = &DAT_001e3c38 + uVar9;\n        uVar9 = uVar9 + 1;\n      } while ((*puVar3 & 0x5f0000) == 0);\n    }" { (expression_statement "uVar9 = 1;" (assignment_expression "uVar9 = 1" identifier = number_literal) ;) (do_statement "do {\n        uVar20 = uVar9 & 0xffffffff;\n        if (DAT_001e3c24 <= (uint)uVar9) goto LAB_0013303b;\n        puVar3 = &DAT_001e3c38 + uVar9;\n        uVar9 = uVar9 + 1;\n      } while ((*puVar3 & 0x5f0000) == 0);" do (compound_statement "{\n        uVar20 = uVar9 & 0xffffffff;\n        if (DAT_001e3c24 <= (uint)uVar9) goto LAB_0013303b;\n        puVar3 = &DAT_001e3c38 + uVar9;\n        uVar9 = uVar9 + 1;\n      }" { (expression_statement "uVar20 = uVar9 & 0xffffffff;" (assignment_expression "uVar20 = uVar9 & 0xffffffff" identifier = (binary_expression "uVar9 & 0xffffffff" identifier & number_literal)) ;) (if_statement "if (DAT_001e3c24 <= (uint)uVar9) goto LAB_0013303b;" if (parenthesized_expression "(DAT_001e3c24 <= (uint)uVar9)" ( (binary_expression "DAT_001e3c24 <= (uint)uVar9" identifier <= (cast_expression "(uint)uVar9" ( (type_descriptor "uint" type_identifier) ) identifier)) )) (goto_statement "goto LAB_0013303b;" goto statement_identifier ;)) (expression_statement "puVar3 = &DAT_001e3c38 + uVar9;" (assignment_expression "puVar3 = &DAT_001e3c38 + uVar9" identifier = (binary_expression "&DAT_001e3c38 + uVar9" (pointer_expression "&DAT_001e3c38" & identifier) + identifier)) ;) (expression_statement "uVar9 = uVar9 + 1;" (assignment_expression "uVar9 = uVar9 + 1" identifier = (binary_expression "uVar9 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "((*puVar3 & 0x5f0000) == 0)" ( (binary_expression "(*puVar3 & 0x5f0000) == 0" (parenthesized_expression "(*puVar3 & 0x5f0000)" ( (binary_expression "*puVar3 & 0x5f0000" (pointer_expression "*puVar3" * identifier) & number_literal) )) == number_literal) )) ;) }) (else_clause "else {\n      uVar20 = 0;\n    }" else (compound_statement "{\n      uVar20 = 0;\n    }" { (expression_statement "uVar20 = 0;" (assignment_expression "uVar20 = 0" identifier = number_literal) ;) }))) (expression_statement "bVar21 = bVar21 & 0x30;" (assignment_expression "bVar21 = bVar21 & 0x30" identifier = (binary_expression "bVar21 & 0x30" identifier & number_literal)) ;) (expression_statement "uVar22 = (uint)uVar20;" (assignment_expression "uVar22 = (uint)uVar20" identifier = (cast_expression "(uint)uVar20" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if (bVar21 == 0) {\nLAB_0013313d:\n      if (lVar13 != 0) goto LAB_00133146;\nLAB_00133448:\n      lVar13 = DAT_001e3cb8;\n      DAT_001e3cf4 = 0;\n      if (DAT_001e3c2c == 0) {\n        if (DAT_001e3cb8 == 0) {\n          iVar16 = 1;\n          goto LAB_00133cae;\n        }\n        if (bVar21 == 0) {\n          iVar16 = 1;\n          goto LAB_00133af0;\n        }\n        goto LAB_00133a60;\n      }\n      if (DAT_001e3cb8 != 0) {\n        if (bVar21 == 0) {\n          iVar16 = 0;\nLAB_00133af0:\n          uVar15 = (uint)*(byte *)(DAT_001e3cb8 + 0x11);\n          DAT_001e3cec = 4;\n          if ((byte)(*(byte *)(DAT_001e3cb8 + 0x11) + 4) < 2) {\n            uVar15 = 4;\n          }\n          _DAT_001e3d00 = CONCAT44(uVar15,5);\n          DAT_001e3d08 = DAT_001e3cc0;\n          lVar2 = uVar20 * 8;\n          bVar21 = *(byte *)((long)&DAT_001e3c38 + lVar2 + 2);\n          bVar24 = DAT_001e3b14 == 2;\n          *(byte *)((long)&DAT_001e3c38 + lVar2 + 2) = bVar21 & 0xec;\n          if ((bVar24) && (DAT_001e3ce6 == '\0')) {\n            *(byte *)((long)&DAT_001e3c38 + lVar2 + 2) = bVar21 & 0xe0 | 8;\n          }\n          else {\n            *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) =\n                 *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xf3 | 4;\n          }\n          puVar10 = ds;\n          if ((*(byte *)(lVar13 + 0x10) & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 2;\n          }\n          goto LAB_00133b80;\n        }\n        goto LAB_00133424;\n      }\n      iVar16 = 0;\nLAB_00133cae:\n      if (bVar21 != 0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1b33,"build_modrm_byte");\n      }\n      if (DAT_001e3b14 == 2) {\n        DAT_001e3cec = 4;\n        uVar17 = (uint)(DAT_001e3ce6 == '\0');\n        uVar15 = (uint)(DAT_001e3ce6 != '\0');\n        _DAT_001e3d00 = 0x400000005;\n        iVar8 = 0;\n      }\n      else if ((DAT_001e3b14 == 1) == (DAT_001e3ce6 != '\0')) {\n        DAT_001e3cec = 5;\n        uVar17 = 0;\n        uVar15 = 1;\n        iVar8 = 0;\n      }\n      else {\n        DAT_001e3cec = 6;\n        uVar17 = 0;\n        uVar15 = 0;\n        iVar8 = 1;\n      }\n      uVar23 = ~DAT_00153a64;\n      *(uint *)(&DAT_001e3c38 + uVar20) =\n           iVar8 << 0x11 | uVar15 << 0x12 | uVar17 << 0x13 |\n           ~DAT_00153a60 & *(uint *)(&DAT_001e3c38 + uVar20);\n      puVar10 = ds;\n      puVar1 = (uint *)((long)&DAT_001e3c38 + uVar20 * 8 + 4);\n      *puVar1 = *puVar1 & uVar23;\nLAB_00133b80:\n      if (iVar16 != 0) goto LAB_00133a67;\n    }\n    else {\n      cVar6 = *(char *)(DAT_001e3cb8 + 0x11);\n      if ((byte)(cVar6 + 4U) < 2) {\n                    /* WARNING: Subroutine does not return */\n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1b0b,"build_modrm_byte");\n      }\n      DAT_001e3cec = 4;\n      if (DAT_001e3cb0 == 0) {\n        _DAT_001e3d00 = 5;\n        DAT_001e3d08 = DAT_001e3cc0;\n        lVar4 = uVar20 * 8;\n        bVar7 = *(byte *)((long)&DAT_001e3c38 + lVar4 + 2);\n        bVar24 = DAT_001e3b14 == 2;\n        *(byte *)((long)&DAT_001e3c38 + lVar4 + 2) = bVar7 & 0xec;\n        if ((bVar24) && (DAT_001e3ce6 == '\0')) {\n          *(byte *)((long)&DAT_001e3c38 + lVar4 + 2) = bVar7 & 0xe0 | 8;\n        }\n        else {\n          *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) =\n               *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xf3 | 4;\n        }\n      }\n      _DAT_001e3d00 = (ulong)CONCAT14(cVar6,_DAT_001e3d00);\n      if ((*(byte *)(lVar2 + 0x10) & 1) != 0) {\n        DAT_001e3cf8 = DAT_001e3cf8 | 2;\n      }\n      if ((*(byte *)(lVar2 + 0x10) & 4) == 0) goto LAB_0013313d;\n      DAT_001e3cfc = DAT_001e3cfc | 2;\n      if (lVar13 == 0) goto LAB_00133448;\nLAB_00133146:\n      bVar7 = *(byte *)(lVar13 + 0x11);\n      if (bVar7 < 0xfe) {\n        if ((*(byte *)(lVar13 + 0xb) & 0x40) == 0) {\n          if ((DAT_001e3b14 == 2) &&\n             ((*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f) != 0)) {\n            lVar2 = (uVar20 + 0xe) * 8;\n            bVar14 = *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2);\n            bVar12 = bVar14 & 0xe1;\n            *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar14 & 0xed;\n            if (DAT_001e3ce6 == '\0') {\n              *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar12 | 8;\n            }\n            else {\n              *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar12 | 4;\n            }\n          }\n          if (bVar21 == 0) {\n            DAT_001e3cec = (uint)bVar7;\n          }\n          if ((*(byte *)(lVar13 + 0x10) & 1) == 0) {\n            puVar10 = ss;\n            if (1 < (byte)(bVar7 - 4)) {\n              puVar10 = ds;\n            }\n          }\n          else {\n            DAT_001e3cf8 = DAT_001e3cf8 | 1;\n            puVar10 = ds;\n          }\n          _DAT_001e3d00 = CONCAT44(DAT_001e3d04,(uint)bVar7);\n          iVar16 = 0;\n          if ((bVar7 == 5) && (iVar16 = 0, DAT_001e3c2c == 0)) {\n            iVar16 = 1;\n            pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n            *pbVar5 = *pbVar5 | 1;\n          }\n          iVar8 = DAT_001e3d40;\n          DAT_001e3d08 = DAT_001e3cc0;\n          if (DAT_001e3cb8 == 0) {\n            if (bVar21 != 0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1bbf,"build_modrm_byte");\n            }\n            _DAT_001e3d00 = CONCAT44(4,_DAT_001e3d00);\n          }\n          else if (bVar21 == 0) {\n            DAT_001e3cec = 4;\n            uVar15 = (uint)*(byte *)(DAT_001e3cb8 + 0x11);\n            if ((byte)(*(byte *)(DAT_001e3cb8 + 0x11) + 4) < 2) {\n              uVar15 = 4;\n            }\n            _DAT_001e3d00 = CONCAT44(uVar15,_DAT_001e3d00);\n            if ((*(byte *)(DAT_001e3cb8 + 0x10) & 1) != 0) {\n              DAT_001e3cf8 = DAT_001e3cf8 | 2;\n            }\n          }\n          if (DAT_001e3c2c == 0) {\n            if ((iVar16 == 0) && (iVar16 = iVar8, DAT_001e3d40 != 0)) {\n              if (DAT_001e3d40 == 1) {\n                pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n                *pbVar5 = *pbVar5 | 1;\n              }\n              else {\n                pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n                *pbVar5 = *pbVar5 | 4;\n                iVar16 = 1;\n              }\n            }\n          }\n          else if (((&DAT_001e3c9c)[uVar20] == 0x179) || ((&DAT_001e3c9c)[uVar20] == 0x195)) {\n            DAT_001e3cf4 = 0;\n            goto LAB_00133b80;\n          }\n        }\n        else {\n          if (bVar21 != 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1b7c,"build_modrm_byte");\n          }\n          if (bVar7 == 3) {\n            if (DAT_001e3cb8 != 0) {\n              DAT_001e3cec = *(byte *)(DAT_001e3cb8 + 0x11) - 6;\n              goto LAB_0013317e;\n            }\n            DAT_001e3cec = 7;\n            puVar10 = ds;\n            iVar16 = 0;\n          }\n          else if (bVar7 == 5) {\n            if (DAT_001e3cb8 == 0) {\n              puVar10 = ss;\n              DAT_001e3cec = 6;\n              iVar16 = 0;\n              if ((*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f) == 0) {\n                pbVar5 = (byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2);\n                *pbVar5 = *pbVar5 | 1;\n                iVar16 = 1;\n              }\n            }\n            else {\n              DAT_001e3cec = *(byte *)(DAT_001e3cb8 + 0x11) - 4;\n              puVar10 = ss;\n              iVar16 = 0;\n            }\n          }\n          else {\n            DAT_001e3cec = bVar7 - 2;\nLAB_0013317e:\n            iVar16 = 0;\n            puVar10 = ds;\n          }\n        }\n        DAT_001e3cf4 = 1;\n        if (((ulong)(&DAT_001e3c38)[uVar20] >> 0x10 & 1) == 0) {\n          DAT_001e3cf4 = (uint)(((&DAT_001e3c38)[uVar20] & 0xe0000) != 0) * 2;\n        }\n        goto LAB_00133b80;\n      }\n      if (bVar21 != 0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1b6f,"build_modrm_byte");\n      }\n      DAT_001e3cec = 5;\n      *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) =\n           *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xe0 | 8;\n      uVar15 = DAT_001e3c2c;\n      (&DAT_001e3c88)[uVar20] = (&DAT_001e3c88)[uVar20] | 1;\n      if (uVar15 != 0) {\nLAB_00133424:\n        puVar10 = ds;\n        goto LAB_00133089;\n      }\nLAB_00133a60:\n      puVar10 = ds;\nLAB_00133a67:\n      if ((&DAT_001e3bc0)[uVar20 + 0x14] != 0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1bed,"build_modrm_byte");\n      }\n      uVar9 = (ulong)DAT_001e3c2c;\n      DAT_001e3c2c = DAT_001e3c2c + 1;\n      lVar13 = uVar9 * 0x20;\n      (&DAT_001e3bc0)[uVar20 + 0x14] = &DAT_001e3b60 + lVar13;\n      (&DAT_001e3b78)[lVar13] = 2;\n      *(undefined8 *)(&DAT_001e3b70 + lVar13) = 0;\n      *(undefined8 *)(&DAT_001e3b60 + lVar13) = 0;\n      *(undefined8 *)(&DAT_001e3b68 + lVar13) = 0;\n    }" if (parenthesized_expression "(bVar21 == 0)" ( (binary_expression "bVar21 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_0013313d:\n      if (lVar13 != 0) goto LAB_00133146;\nLAB_00133448:\n      lVar13 = DAT_001e3cb8;\n      DAT_001e3cf4 = 0;\n      if (DAT_001e3c2c == 0) {\n        if (DAT_001e3cb8 == 0) {\n          iVar16 = 1;\n          goto LAB_00133cae;\n        }\n        if (bVar21 == 0) {\n          iVar16 = 1;\n          goto LAB_00133af0;\n        }\n        goto LAB_00133a60;\n      }\n      if (DAT_001e3cb8 != 0) {\n        if (bVar21 == 0) {\n          iVar16 = 0;\nLAB_00133af0:\n          uVar15 = (uint)*(byte *)(DAT_001e3cb8 + 0x11);\n          DAT_001e3cec = 4;\n          if ((byte)(*(byte *)(DAT_001e3cb8 + 0x11) + 4) < 2) {\n            uVar15 = 4;\n          }\n          _DAT_001e3d00 = CONCAT44(uVar15,5);\n          DAT_001e3d08 = DAT_001e3cc0;\n          lVar2 = uVar20 * 8;\n          bVar21 = *(byte *)((long)&DAT_001e3c38 + lVar2 + 2);\n          bVar24 = DAT_001e3b14 == 2;\n          *(byte *)((long)&DAT_001e3c38 + lVar2 + 2) = bVar21 & 0xec;\n          if ((bVar24) && (DAT_001e3ce6 == '\0')) {\n            *(byte *)((long)&DAT_001e3c38 + lVar2 + 2) = bVar21 & 0xe0 | 8;\n          }\n          else {\n            *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) =\n                 *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xf3 | 4;\n          }\n          puVar10 = ds;\n          if ((*(byte *)(lVar13 + 0x10) & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 2;\n          }\n          goto LAB_00133b80;\n        }\n        goto LAB_00133424;\n      }\n      iVar16 = 0;\nLAB_00133cae:\n      if (bVar21 != 0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1b33,"build_modrm_byte");\n      }\n      if (DAT_001e3b14 == 2) {\n        DAT_001e3cec = 4;\n        uVar17 = (uint)(DAT_001e3ce6 == '\0');\n        uVar15 = (uint)(DAT_001e3ce6 != '\0');\n        _DAT_001e3d00 = 0x400000005;\n        iVar8 = 0;\n      }\n      else if ((DAT_001e3b14 == 1) == (DAT_001e3ce6 != '\0')) {\n        DAT_001e3cec = 5;\n        uVar17 = 0;\n        uVar15 = 1;\n        iVar8 = 0;\n      }\n      else {\n        DAT_001e3cec = 6;\n        uVar17 = 0;\n        uVar15 = 0;\n        iVar8 = 1;\n      }\n      uVar23 = ~DAT_00153a64;\n      *(uint *)(&DAT_001e3c38 + uVar20) =\n           iVar8 << 0x11 | uVar15 << 0x12 | uVar17 << 0x13 |\n           ~DAT_00153a60 & *(uint *)(&DAT_001e3c38 + uVar20);\n      puVar10 = ds;\n      puVar1 = (uint *)((long)&DAT_001e3c38 + uVar20 * 8 + 4);\n      *puVar1 = *puVar1 & uVar23;\nLAB_00133b80:\n      if (iVar16 != 0) goto LAB_00133a67;\n    }" { (labeled_statement "LAB_0013313d:\n      if (lVar13 != 0) goto LAB_00133146;" statement_identifier : (if_statement "if (lVar13 != 0) goto LAB_00133146;" if (parenthesized_expression "(lVar13 != 0)" ( (binary_expression "lVar13 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00133146;" goto statement_identifier ;))) (labeled_statement "LAB_00133448:\n      lVar13 = DAT_001e3cb8;" statement_identifier : (expression_statement "lVar13 = DAT_001e3cb8;" (assignment_expression "lVar13 = DAT_001e3cb8" identifier = identifier) ;)) (expression_statement "DAT_001e3cf4 = 0;" (assignment_expression "DAT_001e3cf4 = 0" identifier = number_literal) ;) (if_statement "if (DAT_001e3c2c == 0) {\n        if (DAT_001e3cb8 == 0) {\n          iVar16 = 1;\n          goto LAB_00133cae;\n        }\n        if (bVar21 == 0) {\n          iVar16 = 1;\n          goto LAB_00133af0;\n        }\n        goto LAB_00133a60;\n      }" if (parenthesized_expression "(DAT_001e3c2c == 0)" ( (binary_expression "DAT_001e3c2c == 0" identifier == number_literal) )) (compound_statement "{\n        if (DAT_001e3cb8 == 0) {\n          iVar16 = 1;\n          goto LAB_00133cae;\n        }\n        if (bVar21 == 0) {\n          iVar16 = 1;\n          goto LAB_00133af0;\n        }\n        goto LAB_00133a60;\n      }" { (if_statement "if (DAT_001e3cb8 == 0) {\n          iVar16 = 1;\n          goto LAB_00133cae;\n        }" if (parenthesized_expression "(DAT_001e3cb8 == 0)" ( (binary_expression "DAT_001e3cb8 == 0" identifier == number_literal) )) (compound_statement "{\n          iVar16 = 1;\n          goto LAB_00133cae;\n        }" { (expression_statement "iVar16 = 1;" (assignment_expression "iVar16 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_00133cae;" goto statement_identifier ;) })) (if_statement "if (bVar21 == 0) {\n          iVar16 = 1;\n          goto LAB_00133af0;\n        }" if (parenthesized_expression "(bVar21 == 0)" ( (binary_expression "bVar21 == 0" identifier == number_literal) )) (compound_statement "{\n          iVar16 = 1;\n          goto LAB_00133af0;\n        }" { (expression_statement "iVar16 = 1;" (assignment_expression "iVar16 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_00133af0;" goto statement_identifier ;) })) (goto_statement "goto LAB_00133a60;" goto statement_identifier ;) })) (if_statement "if (DAT_001e3cb8 != 0) {\n        if (bVar21 == 0) {\n          iVar16 = 0;\nLAB_00133af0:\n          uVar15 = (uint)*(byte *)(DAT_001e3cb8 + 0x11);\n          DAT_001e3cec = 4;\n          if ((byte)(*(byte *)(DAT_001e3cb8 + 0x11) + 4) < 2) {\n            uVar15 = 4;\n          }\n          _DAT_001e3d00 = CONCAT44(uVar15,5);\n          DAT_001e3d08 = DAT_001e3cc0;\n          lVar2 = uVar20 * 8;\n          bVar21 = *(byte *)((long)&DAT_001e3c38 + lVar2 + 2);\n          bVar24 = DAT_001e3b14 == 2;\n          *(byte *)((long)&DAT_001e3c38 + lVar2 + 2) = bVar21 & 0xec;\n          if ((bVar24) && (DAT_001e3ce6 == '\0')) {\n            *(byte *)((long)&DAT_001e3c38 + lVar2 + 2) = bVar21 & 0xe0 | 8;\n          }\n          else {\n            *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) =\n                 *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xf3 | 4;\n          }\n          puVar10 = ds;\n          if ((*(byte *)(lVar13 + 0x10) & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 2;\n          }\n          goto LAB_00133b80;\n        }\n        goto LAB_00133424;\n      }" if (parenthesized_expression "(DAT_001e3cb8 != 0)" ( (binary_expression "DAT_001e3cb8 != 0" identifier != number_literal) )) (compound_statement "{\n        if (bVar21 == 0) {\n          iVar16 = 0;\nLAB_00133af0:\n          uVar15 = (uint)*(byte *)(DAT_001e3cb8 + 0x11);\n          DAT_001e3cec = 4;\n          if ((byte)(*(byte *)(DAT_001e3cb8 + 0x11) + 4) < 2) {\n            uVar15 = 4;\n          }\n          _DAT_001e3d00 = CONCAT44(uVar15,5);\n          DAT_001e3d08 = DAT_001e3cc0;\n          lVar2 = uVar20 * 8;\n          bVar21 = *(byte *)((long)&DAT_001e3c38 + lVar2 + 2);\n          bVar24 = DAT_001e3b14 == 2;\n          *(byte *)((long)&DAT_001e3c38 + lVar2 + 2) = bVar21 & 0xec;\n          if ((bVar24) && (DAT_001e3ce6 == '\0')) {\n            *(byte *)((long)&DAT_001e3c38 + lVar2 + 2) = bVar21 & 0xe0 | 8;\n          }\n          else {\n            *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) =\n                 *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xf3 | 4;\n          }\n          puVar10 = ds;\n          if ((*(byte *)(lVar13 + 0x10) & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 2;\n          }\n          goto LAB_00133b80;\n        }\n        goto LAB_00133424;\n      }" { (if_statement "if (bVar21 == 0) {\n          iVar16 = 0;\nLAB_00133af0:\n          uVar15 = (uint)*(byte *)(DAT_001e3cb8 + 0x11);\n          DAT_001e3cec = 4;\n          if ((byte)(*(byte *)(DAT_001e3cb8 + 0x11) + 4) < 2) {\n            uVar15 = 4;\n          }\n          _DAT_001e3d00 = CONCAT44(uVar15,5);\n          DAT_001e3d08 = DAT_001e3cc0;\n          lVar2 = uVar20 * 8;\n          bVar21 = *(byte *)((long)&DAT_001e3c38 + lVar2 + 2);\n          bVar24 = DAT_001e3b14 == 2;\n          *(byte *)((long)&DAT_001e3c38 + lVar2 + 2) = bVar21 & 0xec;\n          if ((bVar24) && (DAT_001e3ce6 == '\0')) {\n            *(byte *)((long)&DAT_001e3c38 + lVar2 + 2) = bVar21 & 0xe0 | 8;\n          }\n          else {\n            *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) =\n                 *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xf3 | 4;\n          }\n          puVar10 = ds;\n          if ((*(byte *)(lVar13 + 0x10) & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 2;\n          }\n          goto LAB_00133b80;\n        }" if (parenthesized_expression "(bVar21 == 0)" ( (binary_expression "bVar21 == 0" identifier == number_literal) )) (compound_statement "{\n          iVar16 = 0;\nLAB_00133af0:\n          uVar15 = (uint)*(byte *)(DAT_001e3cb8 + 0x11);\n          DAT_001e3cec = 4;\n          if ((byte)(*(byte *)(DAT_001e3cb8 + 0x11) + 4) < 2) {\n            uVar15 = 4;\n          }\n          _DAT_001e3d00 = CONCAT44(uVar15,5);\n          DAT_001e3d08 = DAT_001e3cc0;\n          lVar2 = uVar20 * 8;\n          bVar21 = *(byte *)((long)&DAT_001e3c38 + lVar2 + 2);\n          bVar24 = DAT_001e3b14 == 2;\n          *(byte *)((long)&DAT_001e3c38 + lVar2 + 2) = bVar21 & 0xec;\n          if ((bVar24) && (DAT_001e3ce6 == '\0')) {\n            *(byte *)((long)&DAT_001e3c38 + lVar2 + 2) = bVar21 & 0xe0 | 8;\n          }\n          else {\n            *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) =\n                 *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xf3 | 4;\n          }\n          puVar10 = ds;\n          if ((*(byte *)(lVar13 + 0x10) & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 2;\n          }\n          goto LAB_00133b80;\n        }" { (expression_statement "iVar16 = 0;" (assignment_expression "iVar16 = 0" identifier = number_literal) ;) (labeled_statement "LAB_00133af0:\n          uVar15 = (uint)*(byte *)(DAT_001e3cb8 + 0x11);" statement_identifier : (expression_statement "uVar15 = (uint)*(byte *)(DAT_001e3cb8 + 0x11);" (assignment_expression "uVar15 = (uint)*(byte *)(DAT_001e3cb8 + 0x11)" identifier = (binary_expression "(uint)*(byte *)(DAT_001e3cb8 + 0x11)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(DAT_001e3cb8 + 0x11)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_001e3cb8 + 0x11)" ( (binary_expression "DAT_001e3cb8 + 0x11" identifier + number_literal) ))))) ;)) (expression_statement "DAT_001e3cec = 4;" (assignment_expression "DAT_001e3cec = 4" identifier = number_literal) ;) (if_statement "if ((byte)(*(byte *)(DAT_001e3cb8 + 0x11) + 4) < 2) {\n            uVar15 = 4;\n          }" if (parenthesized_expression "((byte)(*(byte *)(DAT_001e3cb8 + 0x11) + 4) < 2)" ( (binary_expression "(byte)(*(byte *)(DAT_001e3cb8 + 0x11) + 4) < 2" (call_expression "(byte)(*(byte *)(DAT_001e3cb8 + 0x11) + 4)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(*(byte *)(DAT_001e3cb8 + 0x11) + 4)" ( (binary_expression "*(byte *)(DAT_001e3cb8 + 0x11) + 4" (pointer_expression "*(byte *)(DAT_001e3cb8 + 0x11)" * (cast_expression "(byte *)(DAT_001e3cb8 + 0x11)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_001e3cb8 + 0x11)" ( (binary_expression "DAT_001e3cb8 + 0x11" identifier + number_literal) )))) + number_literal) ))) < number_literal) )) (compound_statement "{\n            uVar15 = 4;\n          }" { (expression_statement "uVar15 = 4;" (assignment_expression "uVar15 = 4" identifier = number_literal) ;) })) (expression_statement "_DAT_001e3d00 = CONCAT44(uVar15,5);" (assignment_expression "_DAT_001e3d00 = CONCAT44(uVar15,5)" identifier = (call_expression "CONCAT44(uVar15,5)" identifier (argument_list "(uVar15,5)" ( identifier , number_literal )))) ;) (expression_statement "DAT_001e3d08 = DAT_001e3cc0;" (assignment_expression "DAT_001e3d08 = DAT_001e3cc0" identifier = identifier) ;) (expression_statement "lVar2 = uVar20 * 8;" (assignment_expression "lVar2 = uVar20 * 8" identifier = (binary_expression "uVar20 * 8" identifier * number_literal)) ;) (expression_statement "bVar21 = *(byte *)((long)&DAT_001e3c38 + lVar2 + 2);" (assignment_expression "bVar21 = *(byte *)((long)&DAT_001e3c38 + lVar2 + 2)" identifier = (pointer_expression "*(byte *)((long)&DAT_001e3c38 + lVar2 + 2)" * (cast_expression "(byte *)((long)&DAT_001e3c38 + lVar2 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&DAT_001e3c38 + lVar2 + 2)" ( (binary_expression "(long)&DAT_001e3c38 + lVar2 + 2" (binary_expression "(long)&DAT_001e3c38 + lVar2" (cast_expression "(long)&DAT_001e3c38" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&DAT_001e3c38" & identifier)) + identifier) + number_literal) ))))) ;) (expression_statement "bVar24 = DAT_001e3b14 == 2;" (assignment_expression "bVar24 = DAT_001e3b14 == 2" identifier = (binary_expression "DAT_001e3b14 == 2" identifier == number_literal)) ;) (expression_statement "*(byte *)((long)&DAT_001e3c38 + lVar2 + 2) = bVar21 & 0xec;" (assignment_expression "*(byte *)((long)&DAT_001e3c38 + lVar2 + 2) = bVar21 & 0xec" (pointer_expression "*(byte *)((long)&DAT_001e3c38 + lVar2 + 2)" * (cast_expression "(byte *)((long)&DAT_001e3c38 + lVar2 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&DAT_001e3c38 + lVar2 + 2)" ( (binary_expression "(long)&DAT_001e3c38 + lVar2 + 2" (binary_expression "(long)&DAT_001e3c38 + lVar2" (cast_expression "(long)&DAT_001e3c38" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&DAT_001e3c38" & identifier)) + identifier) + number_literal) )))) = (binary_expression "bVar21 & 0xec" identifier & number_literal)) ;) (if_statement "if ((bVar24) && (DAT_001e3ce6 == '\0')) {\n            *(byte *)((long)&DAT_001e3c38 + lVar2 + 2) = bVar21 & 0xe0 | 8;\n          }\n          else {\n            *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) =\n                 *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xf3 | 4;\n          }" if (parenthesized_expression "((bVar24) && (DAT_001e3ce6 == '\0'))" ( (binary_expression "(bVar24) && (DAT_001e3ce6 == '\0')" (parenthesized_expression "(bVar24)" ( identifier )) && (parenthesized_expression "(DAT_001e3ce6 == '\0')" ( (binary_expression "DAT_001e3ce6 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n            *(byte *)((long)&DAT_001e3c38 + lVar2 + 2) = bVar21 & 0xe0 | 8;\n          }" { (expression_statement "*(byte *)((long)&DAT_001e3c38 + lVar2 + 2) = bVar21 & 0xe0 | 8;" (assignment_expression "*(byte *)((long)&DAT_001e3c38 + lVar2 + 2) = bVar21 & 0xe0 | 8" (pointer_expression "*(byte *)((long)&DAT_001e3c38 + lVar2 + 2)" * (cast_expression "(byte *)((long)&DAT_001e3c38 + lVar2 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&DAT_001e3c38 + lVar2 + 2)" ( (binary_expression "(long)&DAT_001e3c38 + lVar2 + 2" (binary_expression "(long)&DAT_001e3c38 + lVar2" (cast_expression "(long)&DAT_001e3c38" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&DAT_001e3c38" & identifier)) + identifier) + number_literal) )))) = (binary_expression "bVar21 & 0xe0 | 8" (binary_expression "bVar21 & 0xe0" identifier & number_literal) | number_literal)) ;) }) (else_clause "else {\n            *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) =\n                 *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xf3 | 4;\n          }" else (compound_statement "{\n            *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) =\n                 *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xf3 | 4;\n          }" { (expression_statement "*(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) =\n                 *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xf3 | 4;" (assignment_expression "*(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) =\n                 *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xf3 | 4" (pointer_expression "*(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2)" * (cast_expression "(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&DAT_001e3c38 + uVar20 * 8 + 2)" ( (binary_expression "(long)&DAT_001e3c38 + uVar20 * 8 + 2" (binary_expression "(long)&DAT_001e3c38 + uVar20 * 8" (cast_expression "(long)&DAT_001e3c38" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&DAT_001e3c38" & identifier)) + (binary_expression "uVar20 * 8" identifier * number_literal)) + number_literal) )))) = (binary_expression "*(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xf3 | 4" (binary_expression "*(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xf3" (pointer_expression "*(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2)" * (cast_expression "(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&DAT_001e3c38 + uVar20 * 8 + 2)" ( (binary_expression "(long)&DAT_001e3c38 + uVar20 * 8 + 2" (binary_expression "(long)&DAT_001e3c38 + uVar20 * 8" (cast_expression "(long)&DAT_001e3c38" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&DAT_001e3c38" & identifier)) + (binary_expression "uVar20 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) | number_literal)) ;) }))) (expression_statement "puVar10 = ds;" (assignment_expression "puVar10 = ds" identifier = identifier) ;) (if_statement "if ((*(byte *)(lVar13 + 0x10) & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 2;\n          }" if (parenthesized_expression "((*(byte *)(lVar13 + 0x10) & 1) != 0)" ( (binary_expression "(*(byte *)(lVar13 + 0x10) & 1) != 0" (parenthesized_expression "(*(byte *)(lVar13 + 0x10) & 1)" ( (binary_expression "*(byte *)(lVar13 + 0x10) & 1" (pointer_expression "*(byte *)(lVar13 + 0x10)" * (cast_expression "(byte *)(lVar13 + 0x10)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar13 + 0x10)" ( (binary_expression "lVar13 + 0x10" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n            DAT_001e3cf8 = DAT_001e3cf8 | 2;\n          }" { (expression_statement "DAT_001e3cf8 = DAT_001e3cf8 | 2;" (assignment_expression "DAT_001e3cf8 = DAT_001e3cf8 | 2" identifier = (binary_expression "DAT_001e3cf8 | 2" identifier | number_literal)) ;) })) (goto_statement "goto LAB_00133b80;" goto statement_identifier ;) })) (goto_statement "goto LAB_00133424;" goto statement_identifier ;) })) (expression_statement "iVar16 = 0;" (assignment_expression "iVar16 = 0" identifier = number_literal) ;) (labeled_statement "LAB_00133cae:\n      if (bVar21 != 0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1b33,"build_modrm_byte");\n      }" statement_identifier : (if_statement "if (bVar21 != 0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1b33,"build_modrm_byte");\n      }" if (parenthesized_expression "(bVar21 != 0)" ( (binary_expression "bVar21 != 0" identifier != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1b33,"build_modrm_byte");\n      }" { comment (expression_statement "FUN_0011dd00("../../gas/config/tc-i386.c",0x1b33,"build_modrm_byte");" (call_expression "FUN_0011dd00("../../gas/config/tc-i386.c",0x1b33,"build_modrm_byte")" identifier (argument_list "("../../gas/config/tc-i386.c",0x1b33,"build_modrm_byte")" ( (string_literal ""../../gas/config/tc-i386.c"" " string_content ") , number_literal , (string_literal ""build_modrm_byte"" " string_content ") ))) ;) }))) (if_statement "if (DAT_001e3b14 == 2) {\n        DAT_001e3cec = 4;\n        uVar17 = (uint)(DAT_001e3ce6 == '\0');\n        uVar15 = (uint)(DAT_001e3ce6 != '\0');\n        _DAT_001e3d00 = 0x400000005;\n        iVar8 = 0;\n      }\n      else if ((DAT_001e3b14 == 1) == (DAT_001e3ce6 != '\0')) {\n        DAT_001e3cec = 5;\n        uVar17 = 0;\n        uVar15 = 1;\n        iVar8 = 0;\n      }\n      else {\n        DAT_001e3cec = 6;\n        uVar17 = 0;\n        uVar15 = 0;\n        iVar8 = 1;\n      }" if (parenthesized_expression "(DAT_001e3b14 == 2)" ( (binary_expression "DAT_001e3b14 == 2" identifier == number_literal) )) (compound_statement "{\n        DAT_001e3cec = 4;\n        uVar17 = (uint)(DAT_001e3ce6 == '\0');\n        uVar15 = (uint)(DAT_001e3ce6 != '\0');\n        _DAT_001e3d00 = 0x400000005;\n        iVar8 = 0;\n      }" { (expression_statement "DAT_001e3cec = 4;" (assignment_expression "DAT_001e3cec = 4" identifier = number_literal) ;) (expression_statement "uVar17 = (uint)(DAT_001e3ce6 == '\0');" (assignment_expression "uVar17 = (uint)(DAT_001e3ce6 == '\0')" identifier = (call_expression "(uint)(DAT_001e3ce6 == '\0')" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(DAT_001e3ce6 == '\0')" ( (binary_expression "DAT_001e3ce6 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )))) ;) (expression_statement "uVar15 = (uint)(DAT_001e3ce6 != '\0');" (assignment_expression "uVar15 = (uint)(DAT_001e3ce6 != '\0')" identifier = (call_expression "(uint)(DAT_001e3ce6 != '\0')" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(DAT_001e3ce6 != '\0')" ( (binary_expression "DAT_001e3ce6 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )))) ;) (expression_statement "_DAT_001e3d00 = 0x400000005;" (assignment_expression "_DAT_001e3d00 = 0x400000005" identifier = number_literal) ;) (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;) }) (else_clause "else if ((DAT_001e3b14 == 1) == (DAT_001e3ce6 != '\0')) {\n        DAT_001e3cec = 5;\n        uVar17 = 0;\n        uVar15 = 1;\n        iVar8 = 0;\n      }\n      else {\n        DAT_001e3cec = 6;\n        uVar17 = 0;\n        uVar15 = 0;\n        iVar8 = 1;\n      }" else (if_statement "if ((DAT_001e3b14 == 1) == (DAT_001e3ce6 != '\0')) {\n        DAT_001e3cec = 5;\n        uVar17 = 0;\n        uVar15 = 1;\n        iVar8 = 0;\n      }\n      else {\n        DAT_001e3cec = 6;\n        uVar17 = 0;\n        uVar15 = 0;\n        iVar8 = 1;\n      }" if (parenthesized_expression "((DAT_001e3b14 == 1) == (DAT_001e3ce6 != '\0'))" ( (binary_expression "(DAT_001e3b14 == 1) == (DAT_001e3ce6 != '\0')" (parenthesized_expression "(DAT_001e3b14 == 1)" ( (binary_expression "DAT_001e3b14 == 1" identifier == number_literal) )) == (parenthesized_expression "(DAT_001e3ce6 != '\0')" ( (binary_expression "DAT_001e3ce6 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n        DAT_001e3cec = 5;\n        uVar17 = 0;\n        uVar15 = 1;\n        iVar8 = 0;\n      }" { (expression_statement "DAT_001e3cec = 5;" (assignment_expression "DAT_001e3cec = 5" identifier = number_literal) ;) (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" identifier = number_literal) ;) (expression_statement "uVar15 = 1;" (assignment_expression "uVar15 = 1" identifier = number_literal) ;) (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;) }) (else_clause "else {\n        DAT_001e3cec = 6;\n        uVar17 = 0;\n        uVar15 = 0;\n        iVar8 = 1;\n      }" else (compound_statement "{\n        DAT_001e3cec = 6;\n        uVar17 = 0;\n        uVar15 = 0;\n        iVar8 = 1;\n      }" { (expression_statement "DAT_001e3cec = 6;" (assignment_expression "DAT_001e3cec = 6" identifier = number_literal) ;) (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" identifier = number_literal) ;) (expression_statement "uVar15 = 0;" (assignment_expression "uVar15 = 0" identifier = number_literal) ;) (expression_statement "iVar8 = 1;" (assignment_expression "iVar8 = 1" identifier = number_literal) ;) }))))) (expression_statement "uVar23 = ~DAT_00153a64;" (assignment_expression "uVar23 = ~DAT_00153a64" identifier = (unary_expression "~DAT_00153a64" ~ identifier)) ;) (expression_statement "*(uint *)(&DAT_001e3c38 + uVar20) =\n           iVar8 << 0x11 | uVar15 << 0x12 | uVar17 << 0x13 |\n           ~DAT_00153a60 & *(uint *)(&DAT_001e3c38 + uVar20);" (assignment_expression "*(uint *)(&DAT_001e3c38 + uVar20) =\n           iVar8 << 0x11 | uVar15 << 0x12 | uVar17 << 0x13 |\n           ~DAT_00153a60 & *(uint *)(&DAT_001e3c38 + uVar20)" (pointer_expression "*(uint *)(&DAT_001e3c38 + uVar20)" * (cast_expression "(uint *)(&DAT_001e3c38 + uVar20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001e3c38 + uVar20)" ( (binary_expression "&DAT_001e3c38 + uVar20" (pointer_expression "&DAT_001e3c38" & identifier) + identifier) )))) = (binary_expression "iVar8 << 0x11 | uVar15 << 0x12 | uVar17 << 0x13 |\n           ~DAT_00153a60 & *(uint *)(&DAT_001e3c38 + uVar20)" (binary_expression "iVar8 << 0x11 | uVar15 << 0x12 | uVar17 << 0x13" (binary_expression "iVar8 << 0x11 | uVar15 << 0x12" (binary_expression "iVar8 << 0x11" identifier << number_literal) | (binary_expression "uVar15 << 0x12" identifier << number_literal)) | (binary_expression "uVar17 << 0x13" identifier << number_literal)) | (binary_expression "~DAT_00153a60 & *(uint *)(&DAT_001e3c38 + uVar20)" (unary_expression "~DAT_00153a60" ~ identifier) & (pointer_expression "*(uint *)(&DAT_001e3c38 + uVar20)" * (cast_expression "(uint *)(&DAT_001e3c38 + uVar20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001e3c38 + uVar20)" ( (binary_expression "&DAT_001e3c38 + uVar20" (pointer_expression "&DAT_001e3c38" & identifier) + identifier) ))))))) ;) (expression_statement "puVar10 = ds;" (assignment_expression "puVar10 = ds" identifier = identifier) ;) (expression_statement "puVar1 = (uint *)((long)&DAT_001e3c38 + uVar20 * 8 + 4);" (assignment_expression "puVar1 = (uint *)((long)&DAT_001e3c38 + uVar20 * 8 + 4)" identifier = (cast_expression "(uint *)((long)&DAT_001e3c38 + uVar20 * 8 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&DAT_001e3c38 + uVar20 * 8 + 4)" ( (binary_expression "(long)&DAT_001e3c38 + uVar20 * 8 + 4" (binary_expression "(long)&DAT_001e3c38 + uVar20 * 8" (cast_expression "(long)&DAT_001e3c38" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&DAT_001e3c38" & identifier)) + (binary_expression "uVar20 * 8" identifier * number_literal)) + number_literal) )))) ;) (expression_statement "*puVar1 = *puVar1 & uVar23;" (assignment_expression "*puVar1 = *puVar1 & uVar23" (pointer_expression "*puVar1" * identifier) = (binary_expression "*puVar1 & uVar23" (pointer_expression "*puVar1" * identifier) & identifier)) ;) (labeled_statement "LAB_00133b80:\n      if (iVar16 != 0) goto LAB_00133a67;" statement_identifier : (if_statement "if (iVar16 != 0) goto LAB_00133a67;" if (parenthesized_expression "(iVar16 != 0)" ( (binary_expression "iVar16 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00133a67;" goto statement_identifier ;))) }) (else_clause "else {\n      cVar6 = *(char *)(DAT_001e3cb8 + 0x11);\n      if ((byte)(cVar6 + 4U) < 2) {\n                    /* WARNING: Subroutine does not return */\n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1b0b,"build_modrm_byte");\n      }\n      DAT_001e3cec = 4;\n      if (DAT_001e3cb0 == 0) {\n        _DAT_001e3d00 = 5;\n        DAT_001e3d08 = DAT_001e3cc0;\n        lVar4 = uVar20 * 8;\n        bVar7 = *(byte *)((long)&DAT_001e3c38 + lVar4 + 2);\n        bVar24 = DAT_001e3b14 == 2;\n        *(byte *)((long)&DAT_001e3c38 + lVar4 + 2) = bVar7 & 0xec;\n        if ((bVar24) && (DAT_001e3ce6 == '\0')) {\n          *(byte *)((long)&DAT_001e3c38 + lVar4 + 2) = bVar7 & 0xe0 | 8;\n        }\n        else {\n          *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) =\n               *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xf3 | 4;\n        }\n      }\n      _DAT_001e3d00 = (ulong)CONCAT14(cVar6,_DAT_001e3d00);\n      if ((*(byte *)(lVar2 + 0x10) & 1) != 0) {\n        DAT_001e3cf8 = DAT_001e3cf8 | 2;\n      }\n      if ((*(byte *)(lVar2 + 0x10) & 4) == 0) goto LAB_0013313d;\n      DAT_001e3cfc = DAT_001e3cfc | 2;\n      if (lVar13 == 0) goto LAB_00133448;\nLAB_00133146:\n      bVar7 = *(byte *)(lVar13 + 0x11);\n      if (bVar7 < 0xfe) {\n        if ((*(byte *)(lVar13 + 0xb) & 0x40) == 0) {\n          if ((DAT_001e3b14 == 2) &&\n             ((*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f) != 0)) {\n            lVar2 = (uVar20 + 0xe) * 8;\n            bVar14 = *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2);\n            bVar12 = bVar14 & 0xe1;\n            *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar14 & 0xed;\n            if (DAT_001e3ce6 == '\0') {\n              *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar12 | 8;\n            }\n            else {\n              *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar12 | 4;\n            }\n          }\n          if (bVar21 == 0) {\n            DAT_001e3cec = (uint)bVar7;\n          }\n          if ((*(byte *)(lVar13 + 0x10) & 1) == 0) {\n            puVar10 = ss;\n            if (1 < (byte)(bVar7 - 4)) {\n              puVar10 = ds;\n            }\n          }\n          else {\n            DAT_001e3cf8 = DAT_001e3cf8 | 1;\n            puVar10 = ds;\n          }\n          _DAT_001e3d00 = CONCAT44(DAT_001e3d04,(uint)bVar7);\n          iVar16 = 0;\n          if ((bVar7 == 5) && (iVar16 = 0, DAT_001e3c2c == 0)) {\n            iVar16 = 1;\n            pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n            *pbVar5 = *pbVar5 | 1;\n          }\n          iVar8 = DAT_001e3d40;\n          DAT_001e3d08 = DAT_001e3cc0;\n          if (DAT_001e3cb8 == 0) {\n            if (bVar21 != 0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1bbf,"build_modrm_byte");\n            }\n            _DAT_001e3d00 = CONCAT44(4,_DAT_001e3d00);\n          }\n          else if (bVar21 == 0) {\n            DAT_001e3cec = 4;\n            uVar15 = (uint)*(byte *)(DAT_001e3cb8 + 0x11);\n            if ((byte)(*(byte *)(DAT_001e3cb8 + 0x11) + 4) < 2) {\n              uVar15 = 4;\n            }\n            _DAT_001e3d00 = CONCAT44(uVar15,_DAT_001e3d00);\n            if ((*(byte *)(DAT_001e3cb8 + 0x10) & 1) != 0) {\n              DAT_001e3cf8 = DAT_001e3cf8 | 2;\n            }\n          }\n          if (DAT_001e3c2c == 0) {\n            if ((iVar16 == 0) && (iVar16 = iVar8, DAT_001e3d40 != 0)) {\n              if (DAT_001e3d40 == 1) {\n                pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n                *pbVar5 = *pbVar5 | 1;\n              }\n              else {\n                pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n                *pbVar5 = *pbVar5 | 4;\n                iVar16 = 1;\n              }\n            }\n          }\n          else if (((&DAT_001e3c9c)[uVar20] == 0x179) || ((&DAT_001e3c9c)[uVar20] == 0x195)) {\n            DAT_001e3cf4 = 0;\n            goto LAB_00133b80;\n          }\n        }\n        else {\n          if (bVar21 != 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1b7c,"build_modrm_byte");\n          }\n          if (bVar7 == 3) {\n            if (DAT_001e3cb8 != 0) {\n              DAT_001e3cec = *(byte *)(DAT_001e3cb8 + 0x11) - 6;\n              goto LAB_0013317e;\n            }\n            DAT_001e3cec = 7;\n            puVar10 = ds;\n            iVar16 = 0;\n          }\n          else if (bVar7 == 5) {\n            if (DAT_001e3cb8 == 0) {\n              puVar10 = ss;\n              DAT_001e3cec = 6;\n              iVar16 = 0;\n              if ((*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f) == 0) {\n                pbVar5 = (byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2);\n                *pbVar5 = *pbVar5 | 1;\n                iVar16 = 1;\n              }\n            }\n            else {\n              DAT_001e3cec = *(byte *)(DAT_001e3cb8 + 0x11) - 4;\n              puVar10 = ss;\n              iVar16 = 0;\n            }\n          }\n          else {\n            DAT_001e3cec = bVar7 - 2;\nLAB_0013317e:\n            iVar16 = 0;\n            puVar10 = ds;\n          }\n        }\n        DAT_001e3cf4 = 1;\n        if (((ulong)(&DAT_001e3c38)[uVar20] >> 0x10 & 1) == 0) {\n          DAT_001e3cf4 = (uint)(((&DAT_001e3c38)[uVar20] & 0xe0000) != 0) * 2;\n        }\n        goto LAB_00133b80;\n      }\n      if (bVar21 != 0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1b6f,"build_modrm_byte");\n      }\n      DAT_001e3cec = 5;\n      *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) =\n           *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xe0 | 8;\n      uVar15 = DAT_001e3c2c;\n      (&DAT_001e3c88)[uVar20] = (&DAT_001e3c88)[uVar20] | 1;\n      if (uVar15 != 0) {\nLAB_00133424:\n        puVar10 = ds;\n        goto LAB_00133089;\n      }\nLAB_00133a60:\n      puVar10 = ds;\nLAB_00133a67:\n      if ((&DAT_001e3bc0)[uVar20 + 0x14] != 0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1bed,"build_modrm_byte");\n      }\n      uVar9 = (ulong)DAT_001e3c2c;\n      DAT_001e3c2c = DAT_001e3c2c + 1;\n      lVar13 = uVar9 * 0x20;\n      (&DAT_001e3bc0)[uVar20 + 0x14] = &DAT_001e3b60 + lVar13;\n      (&DAT_001e3b78)[lVar13] = 2;\n      *(undefined8 *)(&DAT_001e3b70 + lVar13) = 0;\n      *(undefined8 *)(&DAT_001e3b60 + lVar13) = 0;\n      *(undefined8 *)(&DAT_001e3b68 + lVar13) = 0;\n    }" else (compound_statement "{\n      cVar6 = *(char *)(DAT_001e3cb8 + 0x11);\n      if ((byte)(cVar6 + 4U) < 2) {\n                    /* WARNING: Subroutine does not return */\n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1b0b,"build_modrm_byte");\n      }\n      DAT_001e3cec = 4;\n      if (DAT_001e3cb0 == 0) {\n        _DAT_001e3d00 = 5;\n        DAT_001e3d08 = DAT_001e3cc0;\n        lVar4 = uVar20 * 8;\n        bVar7 = *(byte *)((long)&DAT_001e3c38 + lVar4 + 2);\n        bVar24 = DAT_001e3b14 == 2;\n        *(byte *)((long)&DAT_001e3c38 + lVar4 + 2) = bVar7 & 0xec;\n        if ((bVar24) && (DAT_001e3ce6 == '\0')) {\n          *(byte *)((long)&DAT_001e3c38 + lVar4 + 2) = bVar7 & 0xe0 | 8;\n        }\n        else {\n          *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) =\n               *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xf3 | 4;\n        }\n      }\n      _DAT_001e3d00 = (ulong)CONCAT14(cVar6,_DAT_001e3d00);\n      if ((*(byte *)(lVar2 + 0x10) & 1) != 0) {\n        DAT_001e3cf8 = DAT_001e3cf8 | 2;\n      }\n      if ((*(byte *)(lVar2 + 0x10) & 4) == 0) goto LAB_0013313d;\n      DAT_001e3cfc = DAT_001e3cfc | 2;\n      if (lVar13 == 0) goto LAB_00133448;\nLAB_00133146:\n      bVar7 = *(byte *)(lVar13 + 0x11);\n      if (bVar7 < 0xfe) {\n        if ((*(byte *)(lVar13 + 0xb) & 0x40) == 0) {\n          if ((DAT_001e3b14 == 2) &&\n             ((*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f) != 0)) {\n            lVar2 = (uVar20 + 0xe) * 8;\n            bVar14 = *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2);\n            bVar12 = bVar14 & 0xe1;\n            *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar14 & 0xed;\n            if (DAT_001e3ce6 == '\0') {\n              *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar12 | 8;\n            }\n            else {\n              *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar12 | 4;\n            }\n          }\n          if (bVar21 == 0) {\n            DAT_001e3cec = (uint)bVar7;\n          }\n          if ((*(byte *)(lVar13 + 0x10) & 1) == 0) {\n            puVar10 = ss;\n            if (1 < (byte)(bVar7 - 4)) {\n              puVar10 = ds;\n            }\n          }\n          else {\n            DAT_001e3cf8 = DAT_001e3cf8 | 1;\n            puVar10 = ds;\n          }\n          _DAT_001e3d00 = CONCAT44(DAT_001e3d04,(uint)bVar7);\n          iVar16 = 0;\n          if ((bVar7 == 5) && (iVar16 = 0, DAT_001e3c2c == 0)) {\n            iVar16 = 1;\n            pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n            *pbVar5 = *pbVar5 | 1;\n          }\n          iVar8 = DAT_001e3d40;\n          DAT_001e3d08 = DAT_001e3cc0;\n          if (DAT_001e3cb8 == 0) {\n            if (bVar21 != 0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1bbf,"build_modrm_byte");\n            }\n            _DAT_001e3d00 = CONCAT44(4,_DAT_001e3d00);\n          }\n          else if (bVar21 == 0) {\n            DAT_001e3cec = 4;\n            uVar15 = (uint)*(byte *)(DAT_001e3cb8 + 0x11);\n            if ((byte)(*(byte *)(DAT_001e3cb8 + 0x11) + 4) < 2) {\n              uVar15 = 4;\n            }\n            _DAT_001e3d00 = CONCAT44(uVar15,_DAT_001e3d00);\n            if ((*(byte *)(DAT_001e3cb8 + 0x10) & 1) != 0) {\n              DAT_001e3cf8 = DAT_001e3cf8 | 2;\n            }\n          }\n          if (DAT_001e3c2c == 0) {\n            if ((iVar16 == 0) && (iVar16 = iVar8, DAT_001e3d40 != 0)) {\n              if (DAT_001e3d40 == 1) {\n                pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n                *pbVar5 = *pbVar5 | 1;\n              }\n              else {\n                pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n                *pbVar5 = *pbVar5 | 4;\n                iVar16 = 1;\n              }\n            }\n          }\n          else if (((&DAT_001e3c9c)[uVar20] == 0x179) || ((&DAT_001e3c9c)[uVar20] == 0x195)) {\n            DAT_001e3cf4 = 0;\n            goto LAB_00133b80;\n          }\n        }\n        else {\n          if (bVar21 != 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1b7c,"build_modrm_byte");\n          }\n          if (bVar7 == 3) {\n            if (DAT_001e3cb8 != 0) {\n              DAT_001e3cec = *(byte *)(DAT_001e3cb8 + 0x11) - 6;\n              goto LAB_0013317e;\n            }\n            DAT_001e3cec = 7;\n            puVar10 = ds;\n            iVar16 = 0;\n          }\n          else if (bVar7 == 5) {\n            if (DAT_001e3cb8 == 0) {\n              puVar10 = ss;\n              DAT_001e3cec = 6;\n              iVar16 = 0;\n              if ((*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f) == 0) {\n                pbVar5 = (byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2);\n                *pbVar5 = *pbVar5 | 1;\n                iVar16 = 1;\n              }\n            }\n            else {\n              DAT_001e3cec = *(byte *)(DAT_001e3cb8 + 0x11) - 4;\n              puVar10 = ss;\n              iVar16 = 0;\n            }\n          }\n          else {\n            DAT_001e3cec = bVar7 - 2;\nLAB_0013317e:\n            iVar16 = 0;\n            puVar10 = ds;\n          }\n        }\n        DAT_001e3cf4 = 1;\n        if (((ulong)(&DAT_001e3c38)[uVar20] >> 0x10 & 1) == 0) {\n          DAT_001e3cf4 = (uint)(((&DAT_001e3c38)[uVar20] & 0xe0000) != 0) * 2;\n        }\n        goto LAB_00133b80;\n      }\n      if (bVar21 != 0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1b6f,"build_modrm_byte");\n      }\n      DAT_001e3cec = 5;\n      *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) =\n           *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xe0 | 8;\n      uVar15 = DAT_001e3c2c;\n      (&DAT_001e3c88)[uVar20] = (&DAT_001e3c88)[uVar20] | 1;\n      if (uVar15 != 0) {\nLAB_00133424:\n        puVar10 = ds;\n        goto LAB_00133089;\n      }\nLAB_00133a60:\n      puVar10 = ds;\nLAB_00133a67:\n      if ((&DAT_001e3bc0)[uVar20 + 0x14] != 0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1bed,"build_modrm_byte");\n      }\n      uVar9 = (ulong)DAT_001e3c2c;\n      DAT_001e3c2c = DAT_001e3c2c + 1;\n      lVar13 = uVar9 * 0x20;\n      (&DAT_001e3bc0)[uVar20 + 0x14] = &DAT_001e3b60 + lVar13;\n      (&DAT_001e3b78)[lVar13] = 2;\n      *(undefined8 *)(&DAT_001e3b70 + lVar13) = 0;\n      *(undefined8 *)(&DAT_001e3b60 + lVar13) = 0;\n      *(undefined8 *)(&DAT_001e3b68 + lVar13) = 0;\n    }" { (expression_statement "cVar6 = *(char *)(DAT_001e3cb8 + 0x11);" (assignment_expression "cVar6 = *(char *)(DAT_001e3cb8 + 0x11)" identifier = (pointer_expression "*(char *)(DAT_001e3cb8 + 0x11)" * (cast_expression "(char *)(DAT_001e3cb8 + 0x11)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_001e3cb8 + 0x11)" ( (binary_expression "DAT_001e3cb8 + 0x11" identifier + number_literal) ))))) ;) (if_statement "if ((byte)(cVar6 + 4U) < 2) {\n                    /* WARNING: Subroutine does not return */\n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1b0b,"build_modrm_byte");\n      }" if (parenthesized_expression "((byte)(cVar6 + 4U) < 2)" ( (binary_expression "(byte)(cVar6 + 4U) < 2" (call_expression "(byte)(cVar6 + 4U)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(cVar6 + 4U)" ( (binary_expression "cVar6 + 4U" identifier + number_literal) ))) < number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1b0b,"build_modrm_byte");\n      }" { comment (expression_statement "FUN_0011dd00("../../gas/config/tc-i386.c",0x1b0b,"build_modrm_byte");" (call_expression "FUN_0011dd00("../../gas/config/tc-i386.c",0x1b0b,"build_modrm_byte")" identifier (argument_list "("../../gas/config/tc-i386.c",0x1b0b,"build_modrm_byte")" ( (string_literal ""../../gas/config/tc-i386.c"" " string_content ") , number_literal , (string_literal ""build_modrm_byte"" " string_content ") ))) ;) })) (expression_statement "DAT_001e3cec = 4;" (assignment_expression "DAT_001e3cec = 4" identifier = number_literal) ;) (if_statement "if (DAT_001e3cb0 == 0) {\n        _DAT_001e3d00 = 5;\n        DAT_001e3d08 = DAT_001e3cc0;\n        lVar4 = uVar20 * 8;\n        bVar7 = *(byte *)((long)&DAT_001e3c38 + lVar4 + 2);\n        bVar24 = DAT_001e3b14 == 2;\n        *(byte *)((long)&DAT_001e3c38 + lVar4 + 2) = bVar7 & 0xec;\n        if ((bVar24) && (DAT_001e3ce6 == '\0')) {\n          *(byte *)((long)&DAT_001e3c38 + lVar4 + 2) = bVar7 & 0xe0 | 8;\n        }\n        else {\n          *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) =\n               *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xf3 | 4;\n        }\n      }" if (parenthesized_expression "(DAT_001e3cb0 == 0)" ( (binary_expression "DAT_001e3cb0 == 0" identifier == number_literal) )) (compound_statement "{\n        _DAT_001e3d00 = 5;\n        DAT_001e3d08 = DAT_001e3cc0;\n        lVar4 = uVar20 * 8;\n        bVar7 = *(byte *)((long)&DAT_001e3c38 + lVar4 + 2);\n        bVar24 = DAT_001e3b14 == 2;\n        *(byte *)((long)&DAT_001e3c38 + lVar4 + 2) = bVar7 & 0xec;\n        if ((bVar24) && (DAT_001e3ce6 == '\0')) {\n          *(byte *)((long)&DAT_001e3c38 + lVar4 + 2) = bVar7 & 0xe0 | 8;\n        }\n        else {\n          *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) =\n               *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xf3 | 4;\n        }\n      }" { (expression_statement "_DAT_001e3d00 = 5;" (assignment_expression "_DAT_001e3d00 = 5" identifier = number_literal) ;) (expression_statement "DAT_001e3d08 = DAT_001e3cc0;" (assignment_expression "DAT_001e3d08 = DAT_001e3cc0" identifier = identifier) ;) (expression_statement "lVar4 = uVar20 * 8;" (assignment_expression "lVar4 = uVar20 * 8" identifier = (binary_expression "uVar20 * 8" identifier * number_literal)) ;) (expression_statement "bVar7 = *(byte *)((long)&DAT_001e3c38 + lVar4 + 2);" (assignment_expression "bVar7 = *(byte *)((long)&DAT_001e3c38 + lVar4 + 2)" identifier = (pointer_expression "*(byte *)((long)&DAT_001e3c38 + lVar4 + 2)" * (cast_expression "(byte *)((long)&DAT_001e3c38 + lVar4 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&DAT_001e3c38 + lVar4 + 2)" ( (binary_expression "(long)&DAT_001e3c38 + lVar4 + 2" (binary_expression "(long)&DAT_001e3c38 + lVar4" (cast_expression "(long)&DAT_001e3c38" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&DAT_001e3c38" & identifier)) + identifier) + number_literal) ))))) ;) (expression_statement "bVar24 = DAT_001e3b14 == 2;" (assignment_expression "bVar24 = DAT_001e3b14 == 2" identifier = (binary_expression "DAT_001e3b14 == 2" identifier == number_literal)) ;) (expression_statement "*(byte *)((long)&DAT_001e3c38 + lVar4 + 2) = bVar7 & 0xec;" (assignment_expression "*(byte *)((long)&DAT_001e3c38 + lVar4 + 2) = bVar7 & 0xec" (pointer_expression "*(byte *)((long)&DAT_001e3c38 + lVar4 + 2)" * (cast_expression "(byte *)((long)&DAT_001e3c38 + lVar4 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&DAT_001e3c38 + lVar4 + 2)" ( (binary_expression "(long)&DAT_001e3c38 + lVar4 + 2" (binary_expression "(long)&DAT_001e3c38 + lVar4" (cast_expression "(long)&DAT_001e3c38" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&DAT_001e3c38" & identifier)) + identifier) + number_literal) )))) = (binary_expression "bVar7 & 0xec" identifier & number_literal)) ;) (if_statement "if ((bVar24) && (DAT_001e3ce6 == '\0')) {\n          *(byte *)((long)&DAT_001e3c38 + lVar4 + 2) = bVar7 & 0xe0 | 8;\n        }\n        else {\n          *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) =\n               *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xf3 | 4;\n        }" if (parenthesized_expression "((bVar24) && (DAT_001e3ce6 == '\0'))" ( (binary_expression "(bVar24) && (DAT_001e3ce6 == '\0')" (parenthesized_expression "(bVar24)" ( identifier )) && (parenthesized_expression "(DAT_001e3ce6 == '\0')" ( (binary_expression "DAT_001e3ce6 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n          *(byte *)((long)&DAT_001e3c38 + lVar4 + 2) = bVar7 & 0xe0 | 8;\n        }" { (expression_statement "*(byte *)((long)&DAT_001e3c38 + lVar4 + 2) = bVar7 & 0xe0 | 8;" (assignment_expression "*(byte *)((long)&DAT_001e3c38 + lVar4 + 2) = bVar7 & 0xe0 | 8" (pointer_expression "*(byte *)((long)&DAT_001e3c38 + lVar4 + 2)" * (cast_expression "(byte *)((long)&DAT_001e3c38 + lVar4 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&DAT_001e3c38 + lVar4 + 2)" ( (binary_expression "(long)&DAT_001e3c38 + lVar4 + 2" (binary_expression "(long)&DAT_001e3c38 + lVar4" (cast_expression "(long)&DAT_001e3c38" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&DAT_001e3c38" & identifier)) + identifier) + number_literal) )))) = (binary_expression "bVar7 & 0xe0 | 8" (binary_expression "bVar7 & 0xe0" identifier & number_literal) | number_literal)) ;) }) (else_clause "else {\n          *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) =\n               *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xf3 | 4;\n        }" else (compound_statement "{\n          *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) =\n               *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xf3 | 4;\n        }" { (expression_statement "*(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) =\n               *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xf3 | 4;" (assignment_expression "*(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) =\n               *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xf3 | 4" (pointer_expression "*(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2)" * (cast_expression "(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&DAT_001e3c38 + uVar20 * 8 + 2)" ( (binary_expression "(long)&DAT_001e3c38 + uVar20 * 8 + 2" (binary_expression "(long)&DAT_001e3c38 + uVar20 * 8" (cast_expression "(long)&DAT_001e3c38" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&DAT_001e3c38" & identifier)) + (binary_expression "uVar20 * 8" identifier * number_literal)) + number_literal) )))) = (binary_expression "*(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xf3 | 4" (binary_expression "*(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xf3" (pointer_expression "*(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2)" * (cast_expression "(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&DAT_001e3c38 + uVar20 * 8 + 2)" ( (binary_expression "(long)&DAT_001e3c38 + uVar20 * 8 + 2" (binary_expression "(long)&DAT_001e3c38 + uVar20 * 8" (cast_expression "(long)&DAT_001e3c38" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&DAT_001e3c38" & identifier)) + (binary_expression "uVar20 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) | number_literal)) ;) }))) })) (expression_statement "_DAT_001e3d00 = (ulong)CONCAT14(cVar6,_DAT_001e3d00);" (assignment_expression "_DAT_001e3d00 = (ulong)CONCAT14(cVar6,_DAT_001e3d00)" identifier = (cast_expression "(ulong)CONCAT14(cVar6,_DAT_001e3d00)" ( (type_descriptor "ulong" type_identifier) ) (call_expression "CONCAT14(cVar6,_DAT_001e3d00)" identifier (argument_list "(cVar6,_DAT_001e3d00)" ( identifier , identifier ))))) ;) (if_statement "if ((*(byte *)(lVar2 + 0x10) & 1) != 0) {\n        DAT_001e3cf8 = DAT_001e3cf8 | 2;\n      }" if (parenthesized_expression "((*(byte *)(lVar2 + 0x10) & 1) != 0)" ( (binary_expression "(*(byte *)(lVar2 + 0x10) & 1) != 0" (parenthesized_expression "(*(byte *)(lVar2 + 0x10) & 1)" ( (binary_expression "*(byte *)(lVar2 + 0x10) & 1" (pointer_expression "*(byte *)(lVar2 + 0x10)" * (cast_expression "(byte *)(lVar2 + 0x10)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0x10)" ( (binary_expression "lVar2 + 0x10" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n        DAT_001e3cf8 = DAT_001e3cf8 | 2;\n      }" { (expression_statement "DAT_001e3cf8 = DAT_001e3cf8 | 2;" (assignment_expression "DAT_001e3cf8 = DAT_001e3cf8 | 2" identifier = (binary_expression "DAT_001e3cf8 | 2" identifier | number_literal)) ;) })) (if_statement "if ((*(byte *)(lVar2 + 0x10) & 4) == 0) goto LAB_0013313d;" if (parenthesized_expression "((*(byte *)(lVar2 + 0x10) & 4) == 0)" ( (binary_expression "(*(byte *)(lVar2 + 0x10) & 4) == 0" (parenthesized_expression "(*(byte *)(lVar2 + 0x10) & 4)" ( (binary_expression "*(byte *)(lVar2 + 0x10) & 4" (pointer_expression "*(byte *)(lVar2 + 0x10)" * (cast_expression "(byte *)(lVar2 + 0x10)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0x10)" ( (binary_expression "lVar2 + 0x10" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0013313d;" goto statement_identifier ;)) (expression_statement "DAT_001e3cfc = DAT_001e3cfc | 2;" (assignment_expression "DAT_001e3cfc = DAT_001e3cfc | 2" identifier = (binary_expression "DAT_001e3cfc | 2" identifier | number_literal)) ;) (if_statement "if (lVar13 == 0) goto LAB_00133448;" if (parenthesized_expression "(lVar13 == 0)" ( (binary_expression "lVar13 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00133448;" goto statement_identifier ;)) (labeled_statement "LAB_00133146:\n      bVar7 = *(byte *)(lVar13 + 0x11);" statement_identifier : (expression_statement "bVar7 = *(byte *)(lVar13 + 0x11);" (assignment_expression "bVar7 = *(byte *)(lVar13 + 0x11)" identifier = (pointer_expression "*(byte *)(lVar13 + 0x11)" * (cast_expression "(byte *)(lVar13 + 0x11)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar13 + 0x11)" ( (binary_expression "lVar13 + 0x11" identifier + number_literal) ))))) ;)) (if_statement "if (bVar7 < 0xfe) {\n        if ((*(byte *)(lVar13 + 0xb) & 0x40) == 0) {\n          if ((DAT_001e3b14 == 2) &&\n             ((*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f) != 0)) {\n            lVar2 = (uVar20 + 0xe) * 8;\n            bVar14 = *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2);\n            bVar12 = bVar14 & 0xe1;\n            *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar14 & 0xed;\n            if (DAT_001e3ce6 == '\0') {\n              *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar12 | 8;\n            }\n            else {\n              *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar12 | 4;\n            }\n          }\n          if (bVar21 == 0) {\n            DAT_001e3cec = (uint)bVar7;\n          }\n          if ((*(byte *)(lVar13 + 0x10) & 1) == 0) {\n            puVar10 = ss;\n            if (1 < (byte)(bVar7 - 4)) {\n              puVar10 = ds;\n            }\n          }\n          else {\n            DAT_001e3cf8 = DAT_001e3cf8 | 1;\n            puVar10 = ds;\n          }\n          _DAT_001e3d00 = CONCAT44(DAT_001e3d04,(uint)bVar7);\n          iVar16 = 0;\n          if ((bVar7 == 5) && (iVar16 = 0, DAT_001e3c2c == 0)) {\n            iVar16 = 1;\n            pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n            *pbVar5 = *pbVar5 | 1;\n          }\n          iVar8 = DAT_001e3d40;\n          DAT_001e3d08 = DAT_001e3cc0;\n          if (DAT_001e3cb8 == 0) {\n            if (bVar21 != 0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1bbf,"build_modrm_byte");\n            }\n            _DAT_001e3d00 = CONCAT44(4,_DAT_001e3d00);\n          }\n          else if (bVar21 == 0) {\n            DAT_001e3cec = 4;\n            uVar15 = (uint)*(byte *)(DAT_001e3cb8 + 0x11);\n            if ((byte)(*(byte *)(DAT_001e3cb8 + 0x11) + 4) < 2) {\n              uVar15 = 4;\n            }\n            _DAT_001e3d00 = CONCAT44(uVar15,_DAT_001e3d00);\n            if ((*(byte *)(DAT_001e3cb8 + 0x10) & 1) != 0) {\n              DAT_001e3cf8 = DAT_001e3cf8 | 2;\n            }\n          }\n          if (DAT_001e3c2c == 0) {\n            if ((iVar16 == 0) && (iVar16 = iVar8, DAT_001e3d40 != 0)) {\n              if (DAT_001e3d40 == 1) {\n                pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n                *pbVar5 = *pbVar5 | 1;\n              }\n              else {\n                pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n                *pbVar5 = *pbVar5 | 4;\n                iVar16 = 1;\n              }\n            }\n          }\n          else if (((&DAT_001e3c9c)[uVar20] == 0x179) || ((&DAT_001e3c9c)[uVar20] == 0x195)) {\n            DAT_001e3cf4 = 0;\n            goto LAB_00133b80;\n          }\n        }\n        else {\n          if (bVar21 != 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1b7c,"build_modrm_byte");\n          }\n          if (bVar7 == 3) {\n            if (DAT_001e3cb8 != 0) {\n              DAT_001e3cec = *(byte *)(DAT_001e3cb8 + 0x11) - 6;\n              goto LAB_0013317e;\n            }\n            DAT_001e3cec = 7;\n            puVar10 = ds;\n            iVar16 = 0;\n          }\n          else if (bVar7 == 5) {\n            if (DAT_001e3cb8 == 0) {\n              puVar10 = ss;\n              DAT_001e3cec = 6;\n              iVar16 = 0;\n              if ((*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f) == 0) {\n                pbVar5 = (byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2);\n                *pbVar5 = *pbVar5 | 1;\n                iVar16 = 1;\n              }\n            }\n            else {\n              DAT_001e3cec = *(byte *)(DAT_001e3cb8 + 0x11) - 4;\n              puVar10 = ss;\n              iVar16 = 0;\n            }\n          }\n          else {\n            DAT_001e3cec = bVar7 - 2;\nLAB_0013317e:\n            iVar16 = 0;\n            puVar10 = ds;\n          }\n        }\n        DAT_001e3cf4 = 1;\n        if (((ulong)(&DAT_001e3c38)[uVar20] >> 0x10 & 1) == 0) {\n          DAT_001e3cf4 = (uint)(((&DAT_001e3c38)[uVar20] & 0xe0000) != 0) * 2;\n        }\n        goto LAB_00133b80;\n      }" if (parenthesized_expression "(bVar7 < 0xfe)" ( (binary_expression "bVar7 < 0xfe" identifier < number_literal) )) (compound_statement "{\n        if ((*(byte *)(lVar13 + 0xb) & 0x40) == 0) {\n          if ((DAT_001e3b14 == 2) &&\n             ((*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f) != 0)) {\n            lVar2 = (uVar20 + 0xe) * 8;\n            bVar14 = *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2);\n            bVar12 = bVar14 & 0xe1;\n            *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar14 & 0xed;\n            if (DAT_001e3ce6 == '\0') {\n              *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar12 | 8;\n            }\n            else {\n              *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar12 | 4;\n            }\n          }\n          if (bVar21 == 0) {\n            DAT_001e3cec = (uint)bVar7;\n          }\n          if ((*(byte *)(lVar13 + 0x10) & 1) == 0) {\n            puVar10 = ss;\n            if (1 < (byte)(bVar7 - 4)) {\n              puVar10 = ds;\n            }\n          }\n          else {\n            DAT_001e3cf8 = DAT_001e3cf8 | 1;\n            puVar10 = ds;\n          }\n          _DAT_001e3d00 = CONCAT44(DAT_001e3d04,(uint)bVar7);\n          iVar16 = 0;\n          if ((bVar7 == 5) && (iVar16 = 0, DAT_001e3c2c == 0)) {\n            iVar16 = 1;\n            pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n            *pbVar5 = *pbVar5 | 1;\n          }\n          iVar8 = DAT_001e3d40;\n          DAT_001e3d08 = DAT_001e3cc0;\n          if (DAT_001e3cb8 == 0) {\n            if (bVar21 != 0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1bbf,"build_modrm_byte");\n            }\n            _DAT_001e3d00 = CONCAT44(4,_DAT_001e3d00);\n          }\n          else if (bVar21 == 0) {\n            DAT_001e3cec = 4;\n            uVar15 = (uint)*(byte *)(DAT_001e3cb8 + 0x11);\n            if ((byte)(*(byte *)(DAT_001e3cb8 + 0x11) + 4) < 2) {\n              uVar15 = 4;\n            }\n            _DAT_001e3d00 = CONCAT44(uVar15,_DAT_001e3d00);\n            if ((*(byte *)(DAT_001e3cb8 + 0x10) & 1) != 0) {\n              DAT_001e3cf8 = DAT_001e3cf8 | 2;\n            }\n          }\n          if (DAT_001e3c2c == 0) {\n            if ((iVar16 == 0) && (iVar16 = iVar8, DAT_001e3d40 != 0)) {\n              if (DAT_001e3d40 == 1) {\n                pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n                *pbVar5 = *pbVar5 | 1;\n              }\n              else {\n                pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n                *pbVar5 = *pbVar5 | 4;\n                iVar16 = 1;\n              }\n            }\n          }\n          else if (((&DAT_001e3c9c)[uVar20] == 0x179) || ((&DAT_001e3c9c)[uVar20] == 0x195)) {\n            DAT_001e3cf4 = 0;\n            goto LAB_00133b80;\n          }\n        }\n        else {\n          if (bVar21 != 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1b7c,"build_modrm_byte");\n          }\n          if (bVar7 == 3) {\n            if (DAT_001e3cb8 != 0) {\n              DAT_001e3cec = *(byte *)(DAT_001e3cb8 + 0x11) - 6;\n              goto LAB_0013317e;\n            }\n            DAT_001e3cec = 7;\n            puVar10 = ds;\n            iVar16 = 0;\n          }\n          else if (bVar7 == 5) {\n            if (DAT_001e3cb8 == 0) {\n              puVar10 = ss;\n              DAT_001e3cec = 6;\n              iVar16 = 0;\n              if ((*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f) == 0) {\n                pbVar5 = (byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2);\n                *pbVar5 = *pbVar5 | 1;\n                iVar16 = 1;\n              }\n            }\n            else {\n              DAT_001e3cec = *(byte *)(DAT_001e3cb8 + 0x11) - 4;\n              puVar10 = ss;\n              iVar16 = 0;\n            }\n          }\n          else {\n            DAT_001e3cec = bVar7 - 2;\nLAB_0013317e:\n            iVar16 = 0;\n            puVar10 = ds;\n          }\n        }\n        DAT_001e3cf4 = 1;\n        if (((ulong)(&DAT_001e3c38)[uVar20] >> 0x10 & 1) == 0) {\n          DAT_001e3cf4 = (uint)(((&DAT_001e3c38)[uVar20] & 0xe0000) != 0) * 2;\n        }\n        goto LAB_00133b80;\n      }" { (if_statement "if ((*(byte *)(lVar13 + 0xb) & 0x40) == 0) {\n          if ((DAT_001e3b14 == 2) &&\n             ((*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f) != 0)) {\n            lVar2 = (uVar20 + 0xe) * 8;\n            bVar14 = *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2);\n            bVar12 = bVar14 & 0xe1;\n            *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar14 & 0xed;\n            if (DAT_001e3ce6 == '\0') {\n              *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar12 | 8;\n            }\n            else {\n              *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar12 | 4;\n            }\n          }\n          if (bVar21 == 0) {\n            DAT_001e3cec = (uint)bVar7;\n          }\n          if ((*(byte *)(lVar13 + 0x10) & 1) == 0) {\n            puVar10 = ss;\n            if (1 < (byte)(bVar7 - 4)) {\n              puVar10 = ds;\n            }\n          }\n          else {\n            DAT_001e3cf8 = DAT_001e3cf8 | 1;\n            puVar10 = ds;\n          }\n          _DAT_001e3d00 = CONCAT44(DAT_001e3d04,(uint)bVar7);\n          iVar16 = 0;\n          if ((bVar7 == 5) && (iVar16 = 0, DAT_001e3c2c == 0)) {\n            iVar16 = 1;\n            pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n            *pbVar5 = *pbVar5 | 1;\n          }\n          iVar8 = DAT_001e3d40;\n          DAT_001e3d08 = DAT_001e3cc0;\n          if (DAT_001e3cb8 == 0) {\n            if (bVar21 != 0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1bbf,"build_modrm_byte");\n            }\n            _DAT_001e3d00 = CONCAT44(4,_DAT_001e3d00);\n          }\n          else if (bVar21 == 0) {\n            DAT_001e3cec = 4;\n            uVar15 = (uint)*(byte *)(DAT_001e3cb8 + 0x11);\n            if ((byte)(*(byte *)(DAT_001e3cb8 + 0x11) + 4) < 2) {\n              uVar15 = 4;\n            }\n            _DAT_001e3d00 = CONCAT44(uVar15,_DAT_001e3d00);\n            if ((*(byte *)(DAT_001e3cb8 + 0x10) & 1) != 0) {\n              DAT_001e3cf8 = DAT_001e3cf8 | 2;\n            }\n          }\n          if (DAT_001e3c2c == 0) {\n            if ((iVar16 == 0) && (iVar16 = iVar8, DAT_001e3d40 != 0)) {\n              if (DAT_001e3d40 == 1) {\n                pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n                *pbVar5 = *pbVar5 | 1;\n              }\n              else {\n                pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n                *pbVar5 = *pbVar5 | 4;\n                iVar16 = 1;\n              }\n            }\n          }\n          else if (((&DAT_001e3c9c)[uVar20] == 0x179) || ((&DAT_001e3c9c)[uVar20] == 0x195)) {\n            DAT_001e3cf4 = 0;\n            goto LAB_00133b80;\n          }\n        }\n        else {\n          if (bVar21 != 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1b7c,"build_modrm_byte");\n          }\n          if (bVar7 == 3) {\n            if (DAT_001e3cb8 != 0) {\n              DAT_001e3cec = *(byte *)(DAT_001e3cb8 + 0x11) - 6;\n              goto LAB_0013317e;\n            }\n            DAT_001e3cec = 7;\n            puVar10 = ds;\n            iVar16 = 0;\n          }\n          else if (bVar7 == 5) {\n            if (DAT_001e3cb8 == 0) {\n              puVar10 = ss;\n              DAT_001e3cec = 6;\n              iVar16 = 0;\n              if ((*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f) == 0) {\n                pbVar5 = (byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2);\n                *pbVar5 = *pbVar5 | 1;\n                iVar16 = 1;\n              }\n            }\n            else {\n              DAT_001e3cec = *(byte *)(DAT_001e3cb8 + 0x11) - 4;\n              puVar10 = ss;\n              iVar16 = 0;\n            }\n          }\n          else {\n            DAT_001e3cec = bVar7 - 2;\nLAB_0013317e:\n            iVar16 = 0;\n            puVar10 = ds;\n          }\n        }" if (parenthesized_expression "((*(byte *)(lVar13 + 0xb) & 0x40) == 0)" ( (binary_expression "(*(byte *)(lVar13 + 0xb) & 0x40) == 0" (parenthesized_expression "(*(byte *)(lVar13 + 0xb) & 0x40)" ( (binary_expression "*(byte *)(lVar13 + 0xb) & 0x40" (pointer_expression "*(byte *)(lVar13 + 0xb)" * (cast_expression "(byte *)(lVar13 + 0xb)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar13 + 0xb)" ( (binary_expression "lVar13 + 0xb" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n          if ((DAT_001e3b14 == 2) &&\n             ((*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f) != 0)) {\n            lVar2 = (uVar20 + 0xe) * 8;\n            bVar14 = *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2);\n            bVar12 = bVar14 & 0xe1;\n            *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar14 & 0xed;\n            if (DAT_001e3ce6 == '\0') {\n              *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar12 | 8;\n            }\n            else {\n              *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar12 | 4;\n            }\n          }\n          if (bVar21 == 0) {\n            DAT_001e3cec = (uint)bVar7;\n          }\n          if ((*(byte *)(lVar13 + 0x10) & 1) == 0) {\n            puVar10 = ss;\n            if (1 < (byte)(bVar7 - 4)) {\n              puVar10 = ds;\n            }\n          }\n          else {\n            DAT_001e3cf8 = DAT_001e3cf8 | 1;\n            puVar10 = ds;\n          }\n          _DAT_001e3d00 = CONCAT44(DAT_001e3d04,(uint)bVar7);\n          iVar16 = 0;\n          if ((bVar7 == 5) && (iVar16 = 0, DAT_001e3c2c == 0)) {\n            iVar16 = 1;\n            pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n            *pbVar5 = *pbVar5 | 1;\n          }\n          iVar8 = DAT_001e3d40;\n          DAT_001e3d08 = DAT_001e3cc0;\n          if (DAT_001e3cb8 == 0) {\n            if (bVar21 != 0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1bbf,"build_modrm_byte");\n            }\n            _DAT_001e3d00 = CONCAT44(4,_DAT_001e3d00);\n          }\n          else if (bVar21 == 0) {\n            DAT_001e3cec = 4;\n            uVar15 = (uint)*(byte *)(DAT_001e3cb8 + 0x11);\n            if ((byte)(*(byte *)(DAT_001e3cb8 + 0x11) + 4) < 2) {\n              uVar15 = 4;\n            }\n            _DAT_001e3d00 = CONCAT44(uVar15,_DAT_001e3d00);\n            if ((*(byte *)(DAT_001e3cb8 + 0x10) & 1) != 0) {\n              DAT_001e3cf8 = DAT_001e3cf8 | 2;\n            }\n          }\n          if (DAT_001e3c2c == 0) {\n            if ((iVar16 == 0) && (iVar16 = iVar8, DAT_001e3d40 != 0)) {\n              if (DAT_001e3d40 == 1) {\n                pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n                *pbVar5 = *pbVar5 | 1;\n              }\n              else {\n                pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n                *pbVar5 = *pbVar5 | 4;\n                iVar16 = 1;\n              }\n            }\n          }\n          else if (((&DAT_001e3c9c)[uVar20] == 0x179) || ((&DAT_001e3c9c)[uVar20] == 0x195)) {\n            DAT_001e3cf4 = 0;\n            goto LAB_00133b80;\n          }\n        }" { (if_statement "if ((DAT_001e3b14 == 2) &&\n             ((*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f) != 0)) {\n            lVar2 = (uVar20 + 0xe) * 8;\n            bVar14 = *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2);\n            bVar12 = bVar14 & 0xe1;\n            *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar14 & 0xed;\n            if (DAT_001e3ce6 == '\0') {\n              *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar12 | 8;\n            }\n            else {\n              *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar12 | 4;\n            }\n          }" if (parenthesized_expression "((DAT_001e3b14 == 2) &&\n             ((*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f) != 0))" ( (binary_expression "(DAT_001e3b14 == 2) &&\n             ((*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f) != 0)" (parenthesized_expression "(DAT_001e3b14 == 2)" ( (binary_expression "DAT_001e3b14 == 2" identifier == number_literal) )) && (parenthesized_expression "((*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f) != 0)" ( (binary_expression "(*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f) != 0" (parenthesized_expression "(*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f)" ( (binary_expression "*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f" (pointer_expression "*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2)" * (cast_expression "(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2)" ( (binary_expression "(long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2" (binary_expression "(long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8" (cast_expression "(long)&DAT_001e3bc8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&DAT_001e3bc8" & identifier)) + (binary_expression "(uVar20 + 0xe) * 8" (parenthesized_expression "(uVar20 + 0xe)" ( (binary_expression "uVar20 + 0xe" identifier + number_literal) )) * number_literal)) + number_literal) )))) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n            lVar2 = (uVar20 + 0xe) * 8;\n            bVar14 = *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2);\n            bVar12 = bVar14 & 0xe1;\n            *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar14 & 0xed;\n            if (DAT_001e3ce6 == '\0') {\n              *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar12 | 8;\n            }\n            else {\n              *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar12 | 4;\n            }\n          }" { (expression_statement "lVar2 = (uVar20 + 0xe) * 8;" (assignment_expression "lVar2 = (uVar20 + 0xe) * 8" identifier = (binary_expression "(uVar20 + 0xe) * 8" (parenthesized_expression "(uVar20 + 0xe)" ( (binary_expression "uVar20 + 0xe" identifier + number_literal) )) * number_literal)) ;) (expression_statement "bVar14 = *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2);" (assignment_expression "bVar14 = *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2)" identifier = (pointer_expression "*(byte *)((long)&DAT_001e3bc8 + lVar2 + 2)" * (cast_expression "(byte *)((long)&DAT_001e3bc8 + lVar2 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&DAT_001e3bc8 + lVar2 + 2)" ( (binary_expression "(long)&DAT_001e3bc8 + lVar2 + 2" (binary_expression "(long)&DAT_001e3bc8 + lVar2" (cast_expression "(long)&DAT_001e3bc8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&DAT_001e3bc8" & identifier)) + identifier) + number_literal) ))))) ;) (expression_statement "bVar12 = bVar14 & 0xe1;" (assignment_expression "bVar12 = bVar14 & 0xe1" identifier = (binary_expression "bVar14 & 0xe1" identifier & number_literal)) ;) (expression_statement "*(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar14 & 0xed;" (assignment_expression "*(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar14 & 0xed" (pointer_expression "*(byte *)((long)&DAT_001e3bc8 + lVar2 + 2)" * (cast_expression "(byte *)((long)&DAT_001e3bc8 + lVar2 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&DAT_001e3bc8 + lVar2 + 2)" ( (binary_expression "(long)&DAT_001e3bc8 + lVar2 + 2" (binary_expression "(long)&DAT_001e3bc8 + lVar2" (cast_expression "(long)&DAT_001e3bc8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&DAT_001e3bc8" & identifier)) + identifier) + number_literal) )))) = (binary_expression "bVar14 & 0xed" identifier & number_literal)) ;) (if_statement "if (DAT_001e3ce6 == '\0') {\n              *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar12 | 8;\n            }\n            else {\n              *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar12 | 4;\n            }" if (parenthesized_expression "(DAT_001e3ce6 == '\0')" ( (binary_expression "DAT_001e3ce6 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n              *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar12 | 8;\n            }" { (expression_statement "*(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar12 | 8;" (assignment_expression "*(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar12 | 8" (pointer_expression "*(byte *)((long)&DAT_001e3bc8 + lVar2 + 2)" * (cast_expression "(byte *)((long)&DAT_001e3bc8 + lVar2 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&DAT_001e3bc8 + lVar2 + 2)" ( (binary_expression "(long)&DAT_001e3bc8 + lVar2 + 2" (binary_expression "(long)&DAT_001e3bc8 + lVar2" (cast_expression "(long)&DAT_001e3bc8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&DAT_001e3bc8" & identifier)) + identifier) + number_literal) )))) = (binary_expression "bVar12 | 8" identifier | number_literal)) ;) }) (else_clause "else {\n              *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar12 | 4;\n            }" else (compound_statement "{\n              *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar12 | 4;\n            }" { (expression_statement "*(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar12 | 4;" (assignment_expression "*(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar12 | 4" (pointer_expression "*(byte *)((long)&DAT_001e3bc8 + lVar2 + 2)" * (cast_expression "(byte *)((long)&DAT_001e3bc8 + lVar2 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&DAT_001e3bc8 + lVar2 + 2)" ( (binary_expression "(long)&DAT_001e3bc8 + lVar2 + 2" (binary_expression "(long)&DAT_001e3bc8 + lVar2" (cast_expression "(long)&DAT_001e3bc8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&DAT_001e3bc8" & identifier)) + identifier) + number_literal) )))) = (binary_expression "bVar12 | 4" identifier | number_literal)) ;) }))) })) (if_statement "if (bVar21 == 0) {\n            DAT_001e3cec = (uint)bVar7;\n          }" if (parenthesized_expression "(bVar21 == 0)" ( (binary_expression "bVar21 == 0" identifier == number_literal) )) (compound_statement "{\n            DAT_001e3cec = (uint)bVar7;\n          }" { (expression_statement "DAT_001e3cec = (uint)bVar7;" (assignment_expression "DAT_001e3cec = (uint)bVar7" identifier = (cast_expression "(uint)bVar7" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) })) (if_statement "if ((*(byte *)(lVar13 + 0x10) & 1) == 0) {\n            puVar10 = ss;\n            if (1 < (byte)(bVar7 - 4)) {\n              puVar10 = ds;\n            }\n          }\n          else {\n            DAT_001e3cf8 = DAT_001e3cf8 | 1;\n            puVar10 = ds;\n          }" if (parenthesized_expression "((*(byte *)(lVar13 + 0x10) & 1) == 0)" ( (binary_expression "(*(byte *)(lVar13 + 0x10) & 1) == 0" (parenthesized_expression "(*(byte *)(lVar13 + 0x10) & 1)" ( (binary_expression "*(byte *)(lVar13 + 0x10) & 1" (pointer_expression "*(byte *)(lVar13 + 0x10)" * (cast_expression "(byte *)(lVar13 + 0x10)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar13 + 0x10)" ( (binary_expression "lVar13 + 0x10" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n            puVar10 = ss;\n            if (1 < (byte)(bVar7 - 4)) {\n              puVar10 = ds;\n            }\n          }" { (expression_statement "puVar10 = ss;" (assignment_expression "puVar10 = ss" identifier = identifier) ;) (if_statement "if (1 < (byte)(bVar7 - 4)) {\n              puVar10 = ds;\n            }" if (parenthesized_expression "(1 < (byte)(bVar7 - 4))" ( (binary_expression "1 < (byte)(bVar7 - 4)" number_literal < (call_expression "(byte)(bVar7 - 4)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(bVar7 - 4)" ( (binary_expression "bVar7 - 4" identifier - number_literal) )))) )) (compound_statement "{\n              puVar10 = ds;\n            }" { (expression_statement "puVar10 = ds;" (assignment_expression "puVar10 = ds" identifier = identifier) ;) })) }) (else_clause "else {\n            DAT_001e3cf8 = DAT_001e3cf8 | 1;\n            puVar10 = ds;\n          }" else (compound_statement "{\n            DAT_001e3cf8 = DAT_001e3cf8 | 1;\n            puVar10 = ds;\n          }" { (expression_statement "DAT_001e3cf8 = DAT_001e3cf8 | 1;" (assignment_expression "DAT_001e3cf8 = DAT_001e3cf8 | 1" identifier = (binary_expression "DAT_001e3cf8 | 1" identifier | number_literal)) ;) (expression_statement "puVar10 = ds;" (assignment_expression "puVar10 = ds" identifier = identifier) ;) }))) (expression_statement "_DAT_001e3d00 = CONCAT44(DAT_001e3d04,(uint)bVar7);" (assignment_expression "_DAT_001e3d00 = CONCAT44(DAT_001e3d04,(uint)bVar7)" identifier = (call_expression "CONCAT44(DAT_001e3d04,(uint)bVar7)" identifier (argument_list "(DAT_001e3d04,(uint)bVar7)" ( identifier , (cast_expression "(uint)bVar7" ( (type_descriptor "uint" type_identifier) ) identifier) )))) ;) (expression_statement "iVar16 = 0;" (assignment_expression "iVar16 = 0" identifier = number_literal) ;) (if_statement "if ((bVar7 == 5) && (iVar16 = 0, DAT_001e3c2c == 0)) {\n            iVar16 = 1;\n            pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n            *pbVar5 = *pbVar5 | 1;\n          }" if (parenthesized_expression "((bVar7 == 5) && (iVar16 = 0, DAT_001e3c2c == 0))" ( (binary_expression "(bVar7 == 5) && (iVar16 = 0, DAT_001e3c2c == 0)" (parenthesized_expression "(bVar7 == 5)" ( (binary_expression "bVar7 == 5" identifier == number_literal) )) && (parenthesized_expression "(iVar16 = 0, DAT_001e3c2c == 0)" ( (comma_expression "iVar16 = 0, DAT_001e3c2c == 0" (assignment_expression "iVar16 = 0" identifier = number_literal) , (binary_expression "DAT_001e3c2c == 0" identifier == number_literal)) ))) )) (compound_statement "{\n            iVar16 = 1;\n            pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n            *pbVar5 = *pbVar5 | 1;\n          }" { (expression_statement "iVar16 = 1;" (assignment_expression "iVar16 = 1" identifier = number_literal) ;) (expression_statement "pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);" (assignment_expression "pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2)" identifier = (cast_expression "(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&DAT_001e3c38 + uVar20 * 8 + 2)" ( (binary_expression "(long)&DAT_001e3c38 + uVar20 * 8 + 2" (binary_expression "(long)&DAT_001e3c38 + uVar20 * 8" (cast_expression "(long)&DAT_001e3c38" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&DAT_001e3c38" & identifier)) + (binary_expression "uVar20 * 8" identifier * number_literal)) + number_literal) )))) ;) (expression_statement "*pbVar5 = *pbVar5 | 1;" (assignment_expression "*pbVar5 = *pbVar5 | 1" (pointer_expression "*pbVar5" * identifier) = (binary_expression "*pbVar5 | 1" (pointer_expression "*pbVar5" * identifier) | number_literal)) ;) })) (expression_statement "iVar8 = DAT_001e3d40;" (assignment_expression "iVar8 = DAT_001e3d40" identifier = identifier) ;) (expression_statement "DAT_001e3d08 = DAT_001e3cc0;" (assignment_expression "DAT_001e3d08 = DAT_001e3cc0" identifier = identifier) ;) (if_statement "if (DAT_001e3cb8 == 0) {\n            if (bVar21 != 0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1bbf,"build_modrm_byte");\n            }\n            _DAT_001e3d00 = CONCAT44(4,_DAT_001e3d00);\n          }\n          else if (bVar21 == 0) {\n            DAT_001e3cec = 4;\n            uVar15 = (uint)*(byte *)(DAT_001e3cb8 + 0x11);\n            if ((byte)(*(byte *)(DAT_001e3cb8 + 0x11) + 4) < 2) {\n              uVar15 = 4;\n            }\n            _DAT_001e3d00 = CONCAT44(uVar15,_DAT_001e3d00);\n            if ((*(byte *)(DAT_001e3cb8 + 0x10) & 1) != 0) {\n              DAT_001e3cf8 = DAT_001e3cf8 | 2;\n            }\n          }" if (parenthesized_expression "(DAT_001e3cb8 == 0)" ( (binary_expression "DAT_001e3cb8 == 0" identifier == number_literal) )) (compound_statement "{\n            if (bVar21 != 0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1bbf,"build_modrm_byte");\n            }\n            _DAT_001e3d00 = CONCAT44(4,_DAT_001e3d00);\n          }" { (if_statement "if (bVar21 != 0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1bbf,"build_modrm_byte");\n            }" if (parenthesized_expression "(bVar21 != 0)" ( (binary_expression "bVar21 != 0" identifier != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1bbf,"build_modrm_byte");\n            }" { comment (expression_statement "FUN_0011dd00("../../gas/config/tc-i386.c",0x1bbf,"build_modrm_byte");" (call_expression "FUN_0011dd00("../../gas/config/tc-i386.c",0x1bbf,"build_modrm_byte")" identifier (argument_list "("../../gas/config/tc-i386.c",0x1bbf,"build_modrm_byte")" ( (string_literal ""../../gas/config/tc-i386.c"" " string_content ") , number_literal , (string_literal ""build_modrm_byte"" " string_content ") ))) ;) })) (expression_statement "_DAT_001e3d00 = CONCAT44(4,_DAT_001e3d00);" (assignment_expression "_DAT_001e3d00 = CONCAT44(4,_DAT_001e3d00)" identifier = (call_expression "CONCAT44(4,_DAT_001e3d00)" identifier (argument_list "(4,_DAT_001e3d00)" ( number_literal , identifier )))) ;) }) (else_clause "else if (bVar21 == 0) {\n            DAT_001e3cec = 4;\n            uVar15 = (uint)*(byte *)(DAT_001e3cb8 + 0x11);\n            if ((byte)(*(byte *)(DAT_001e3cb8 + 0x11) + 4) < 2) {\n              uVar15 = 4;\n            }\n            _DAT_001e3d00 = CONCAT44(uVar15,_DAT_001e3d00);\n            if ((*(byte *)(DAT_001e3cb8 + 0x10) & 1) != 0) {\n              DAT_001e3cf8 = DAT_001e3cf8 | 2;\n            }\n          }" else (if_statement "if (bVar21 == 0) {\n            DAT_001e3cec = 4;\n            uVar15 = (uint)*(byte *)(DAT_001e3cb8 + 0x11);\n            if ((byte)(*(byte *)(DAT_001e3cb8 + 0x11) + 4) < 2) {\n              uVar15 = 4;\n            }\n            _DAT_001e3d00 = CONCAT44(uVar15,_DAT_001e3d00);\n            if ((*(byte *)(DAT_001e3cb8 + 0x10) & 1) != 0) {\n              DAT_001e3cf8 = DAT_001e3cf8 | 2;\n            }\n          }" if (parenthesized_expression "(bVar21 == 0)" ( (binary_expression "bVar21 == 0" identifier == number_literal) )) (compound_statement "{\n            DAT_001e3cec = 4;\n            uVar15 = (uint)*(byte *)(DAT_001e3cb8 + 0x11);\n            if ((byte)(*(byte *)(DAT_001e3cb8 + 0x11) + 4) < 2) {\n              uVar15 = 4;\n            }\n            _DAT_001e3d00 = CONCAT44(uVar15,_DAT_001e3d00);\n            if ((*(byte *)(DAT_001e3cb8 + 0x10) & 1) != 0) {\n              DAT_001e3cf8 = DAT_001e3cf8 | 2;\n            }\n          }" { (expression_statement "DAT_001e3cec = 4;" (assignment_expression "DAT_001e3cec = 4" identifier = number_literal) ;) (expression_statement "uVar15 = (uint)*(byte *)(DAT_001e3cb8 + 0x11);" (assignment_expression "uVar15 = (uint)*(byte *)(DAT_001e3cb8 + 0x11)" identifier = (binary_expression "(uint)*(byte *)(DAT_001e3cb8 + 0x11)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(DAT_001e3cb8 + 0x11)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_001e3cb8 + 0x11)" ( (binary_expression "DAT_001e3cb8 + 0x11" identifier + number_literal) ))))) ;) (if_statement "if ((byte)(*(byte *)(DAT_001e3cb8 + 0x11) + 4) < 2) {\n              uVar15 = 4;\n            }" if (parenthesized_expression "((byte)(*(byte *)(DAT_001e3cb8 + 0x11) + 4) < 2)" ( (binary_expression "(byte)(*(byte *)(DAT_001e3cb8 + 0x11) + 4) < 2" (call_expression "(byte)(*(byte *)(DAT_001e3cb8 + 0x11) + 4)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(*(byte *)(DAT_001e3cb8 + 0x11) + 4)" ( (binary_expression "*(byte *)(DAT_001e3cb8 + 0x11) + 4" (pointer_expression "*(byte *)(DAT_001e3cb8 + 0x11)" * (cast_expression "(byte *)(DAT_001e3cb8 + 0x11)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_001e3cb8 + 0x11)" ( (binary_expression "DAT_001e3cb8 + 0x11" identifier + number_literal) )))) + number_literal) ))) < number_literal) )) (compound_statement "{\n              uVar15 = 4;\n            }" { (expression_statement "uVar15 = 4;" (assignment_expression "uVar15 = 4" identifier = number_literal) ;) })) (expression_statement "_DAT_001e3d00 = CONCAT44(uVar15,_DAT_001e3d00);" (assignment_expression "_DAT_001e3d00 = CONCAT44(uVar15,_DAT_001e3d00)" identifier = (call_expression "CONCAT44(uVar15,_DAT_001e3d00)" identifier (argument_list "(uVar15,_DAT_001e3d00)" ( identifier , identifier )))) ;) (if_statement "if ((*(byte *)(DAT_001e3cb8 + 0x10) & 1) != 0) {\n              DAT_001e3cf8 = DAT_001e3cf8 | 2;\n            }" if (parenthesized_expression "((*(byte *)(DAT_001e3cb8 + 0x10) & 1) != 0)" ( (binary_expression "(*(byte *)(DAT_001e3cb8 + 0x10) & 1) != 0" (parenthesized_expression "(*(byte *)(DAT_001e3cb8 + 0x10) & 1)" ( (binary_expression "*(byte *)(DAT_001e3cb8 + 0x10) & 1" (pointer_expression "*(byte *)(DAT_001e3cb8 + 0x10)" * (cast_expression "(byte *)(DAT_001e3cb8 + 0x10)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_001e3cb8 + 0x10)" ( (binary_expression "DAT_001e3cb8 + 0x10" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n              DAT_001e3cf8 = DAT_001e3cf8 | 2;\n            }" { (expression_statement "DAT_001e3cf8 = DAT_001e3cf8 | 2;" (assignment_expression "DAT_001e3cf8 = DAT_001e3cf8 | 2" identifier = (binary_expression "DAT_001e3cf8 | 2" identifier | number_literal)) ;) })) })))) (if_statement "if (DAT_001e3c2c == 0) {\n            if ((iVar16 == 0) && (iVar16 = iVar8, DAT_001e3d40 != 0)) {\n              if (DAT_001e3d40 == 1) {\n                pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n                *pbVar5 = *pbVar5 | 1;\n              }\n              else {\n                pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n                *pbVar5 = *pbVar5 | 4;\n                iVar16 = 1;\n              }\n            }\n          }\n          else if (((&DAT_001e3c9c)[uVar20] == 0x179) || ((&DAT_001e3c9c)[uVar20] == 0x195)) {\n            DAT_001e3cf4 = 0;\n            goto LAB_00133b80;\n          }" if (parenthesized_expression "(DAT_001e3c2c == 0)" ( (binary_expression "DAT_001e3c2c == 0" identifier == number_literal) )) (compound_statement "{\n            if ((iVar16 == 0) && (iVar16 = iVar8, DAT_001e3d40 != 0)) {\n              if (DAT_001e3d40 == 1) {\n                pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n                *pbVar5 = *pbVar5 | 1;\n              }\n              else {\n                pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n                *pbVar5 = *pbVar5 | 4;\n                iVar16 = 1;\n              }\n            }\n          }" { (if_statement "if ((iVar16 == 0) && (iVar16 = iVar8, DAT_001e3d40 != 0)) {\n              if (DAT_001e3d40 == 1) {\n                pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n                *pbVar5 = *pbVar5 | 1;\n              }\n              else {\n                pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n                *pbVar5 = *pbVar5 | 4;\n                iVar16 = 1;\n              }\n            }" if (parenthesized_expression "((iVar16 == 0) && (iVar16 = iVar8, DAT_001e3d40 != 0))" ( (binary_expression "(iVar16 == 0) && (iVar16 = iVar8, DAT_001e3d40 != 0)" (parenthesized_expression "(iVar16 == 0)" ( (binary_expression "iVar16 == 0" identifier == number_literal) )) && (parenthesized_expression "(iVar16 = iVar8, DAT_001e3d40 != 0)" ( (comma_expression "iVar16 = iVar8, DAT_001e3d40 != 0" (assignment_expression "iVar16 = iVar8" identifier = identifier) , (binary_expression "DAT_001e3d40 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n              if (DAT_001e3d40 == 1) {\n                pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n                *pbVar5 = *pbVar5 | 1;\n              }\n              else {\n                pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n                *pbVar5 = *pbVar5 | 4;\n                iVar16 = 1;\n              }\n            }" { (if_statement "if (DAT_001e3d40 == 1) {\n                pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n                *pbVar5 = *pbVar5 | 1;\n              }\n              else {\n                pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n                *pbVar5 = *pbVar5 | 4;\n                iVar16 = 1;\n              }" if (parenthesized_expression "(DAT_001e3d40 == 1)" ( (binary_expression "DAT_001e3d40 == 1" identifier == number_literal) )) (compound_statement "{\n                pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n                *pbVar5 = *pbVar5 | 1;\n              }" { (expression_statement "pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);" (assignment_expression "pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2)" identifier = (cast_expression "(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&DAT_001e3c38 + uVar20 * 8 + 2)" ( (binary_expression "(long)&DAT_001e3c38 + uVar20 * 8 + 2" (binary_expression "(long)&DAT_001e3c38 + uVar20 * 8" (cast_expression "(long)&DAT_001e3c38" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&DAT_001e3c38" & identifier)) + (binary_expression "uVar20 * 8" identifier * number_literal)) + number_literal) )))) ;) (expression_statement "*pbVar5 = *pbVar5 | 1;" (assignment_expression "*pbVar5 = *pbVar5 | 1" (pointer_expression "*pbVar5" * identifier) = (binary_expression "*pbVar5 | 1" (pointer_expression "*pbVar5" * identifier) | number_literal)) ;) }) (else_clause "else {\n                pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n                *pbVar5 = *pbVar5 | 4;\n                iVar16 = 1;\n              }" else (compound_statement "{\n                pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n                *pbVar5 = *pbVar5 | 4;\n                iVar16 = 1;\n              }" { (expression_statement "pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);" (assignment_expression "pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2)" identifier = (cast_expression "(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&DAT_001e3c38 + uVar20 * 8 + 2)" ( (binary_expression "(long)&DAT_001e3c38 + uVar20 * 8 + 2" (binary_expression "(long)&DAT_001e3c38 + uVar20 * 8" (cast_expression "(long)&DAT_001e3c38" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&DAT_001e3c38" & identifier)) + (binary_expression "uVar20 * 8" identifier * number_literal)) + number_literal) )))) ;) (expression_statement "*pbVar5 = *pbVar5 | 4;" (assignment_expression "*pbVar5 = *pbVar5 | 4" (pointer_expression "*pbVar5" * identifier) = (binary_expression "*pbVar5 | 4" (pointer_expression "*pbVar5" * identifier) | number_literal)) ;) (expression_statement "iVar16 = 1;" (assignment_expression "iVar16 = 1" identifier = number_literal) ;) }))) })) }) (else_clause "else if (((&DAT_001e3c9c)[uVar20] == 0x179) || ((&DAT_001e3c9c)[uVar20] == 0x195)) {\n            DAT_001e3cf4 = 0;\n            goto LAB_00133b80;\n          }" else (if_statement "if (((&DAT_001e3c9c)[uVar20] == 0x179) || ((&DAT_001e3c9c)[uVar20] == 0x195)) {\n            DAT_001e3cf4 = 0;\n            goto LAB_00133b80;\n          }" if (parenthesized_expression "(((&DAT_001e3c9c)[uVar20] == 0x179) || ((&DAT_001e3c9c)[uVar20] == 0x195))" ( (binary_expression "((&DAT_001e3c9c)[uVar20] == 0x179) || ((&DAT_001e3c9c)[uVar20] == 0x195)" (parenthesized_expression "((&DAT_001e3c9c)[uVar20] == 0x179)" ( (binary_expression "(&DAT_001e3c9c)[uVar20] == 0x179" (subscript_expression "(&DAT_001e3c9c)[uVar20]" (parenthesized_expression "(&DAT_001e3c9c)" ( (pointer_expression "&DAT_001e3c9c" & identifier) )) [ identifier ]) == number_literal) )) || (parenthesized_expression "((&DAT_001e3c9c)[uVar20] == 0x195)" ( (binary_expression "(&DAT_001e3c9c)[uVar20] == 0x195" (subscript_expression "(&DAT_001e3c9c)[uVar20]" (parenthesized_expression "(&DAT_001e3c9c)" ( (pointer_expression "&DAT_001e3c9c" & identifier) )) [ identifier ]) == number_literal) ))) )) (compound_statement "{\n            DAT_001e3cf4 = 0;\n            goto LAB_00133b80;\n          }" { (expression_statement "DAT_001e3cf4 = 0;" (assignment_expression "DAT_001e3cf4 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_00133b80;" goto statement_identifier ;) })))) }) (else_clause "else {\n          if (bVar21 != 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1b7c,"build_modrm_byte");\n          }\n          if (bVar7 == 3) {\n            if (DAT_001e3cb8 != 0) {\n              DAT_001e3cec = *(byte *)(DAT_001e3cb8 + 0x11) - 6;\n              goto LAB_0013317e;\n            }\n            DAT_001e3cec = 7;\n            puVar10 = ds;\n            iVar16 = 0;\n          }\n          else if (bVar7 == 5) {\n            if (DAT_001e3cb8 == 0) {\n              puVar10 = ss;\n              DAT_001e3cec = 6;\n              iVar16 = 0;\n              if ((*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f) == 0) {\n                pbVar5 = (byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2);\n                *pbVar5 = *pbVar5 | 1;\n                iVar16 = 1;\n              }\n            }\n            else {\n              DAT_001e3cec = *(byte *)(DAT_001e3cb8 + 0x11) - 4;\n              puVar10 = ss;\n              iVar16 = 0;\n            }\n          }\n          else {\n            DAT_001e3cec = bVar7 - 2;\nLAB_0013317e:\n            iVar16 = 0;\n            puVar10 = ds;\n          }\n        }" else (compound_statement "{\n          if (bVar21 != 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1b7c,"build_modrm_byte");\n          }\n          if (bVar7 == 3) {\n            if (DAT_001e3cb8 != 0) {\n              DAT_001e3cec = *(byte *)(DAT_001e3cb8 + 0x11) - 6;\n              goto LAB_0013317e;\n            }\n            DAT_001e3cec = 7;\n            puVar10 = ds;\n            iVar16 = 0;\n          }\n          else if (bVar7 == 5) {\n            if (DAT_001e3cb8 == 0) {\n              puVar10 = ss;\n              DAT_001e3cec = 6;\n              iVar16 = 0;\n              if ((*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f) == 0) {\n                pbVar5 = (byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2);\n                *pbVar5 = *pbVar5 | 1;\n                iVar16 = 1;\n              }\n            }\n            else {\n              DAT_001e3cec = *(byte *)(DAT_001e3cb8 + 0x11) - 4;\n              puVar10 = ss;\n              iVar16 = 0;\n            }\n          }\n          else {\n            DAT_001e3cec = bVar7 - 2;\nLAB_0013317e:\n            iVar16 = 0;\n            puVar10 = ds;\n          }\n        }" { (if_statement "if (bVar21 != 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1b7c,"build_modrm_byte");\n          }" if (parenthesized_expression "(bVar21 != 0)" ( (binary_expression "bVar21 != 0" identifier != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1b7c,"build_modrm_byte");\n          }" { comment (expression_statement "FUN_0011dd00("../../gas/config/tc-i386.c",0x1b7c,"build_modrm_byte");" (call_expression "FUN_0011dd00("../../gas/config/tc-i386.c",0x1b7c,"build_modrm_byte")" identifier (argument_list "("../../gas/config/tc-i386.c",0x1b7c,"build_modrm_byte")" ( (string_literal ""../../gas/config/tc-i386.c"" " string_content ") , number_literal , (string_literal ""build_modrm_byte"" " string_content ") ))) ;) })) (if_statement "if (bVar7 == 3) {\n            if (DAT_001e3cb8 != 0) {\n              DAT_001e3cec = *(byte *)(DAT_001e3cb8 + 0x11) - 6;\n              goto LAB_0013317e;\n            }\n            DAT_001e3cec = 7;\n            puVar10 = ds;\n            iVar16 = 0;\n          }\n          else if (bVar7 == 5) {\n            if (DAT_001e3cb8 == 0) {\n              puVar10 = ss;\n              DAT_001e3cec = 6;\n              iVar16 = 0;\n              if ((*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f) == 0) {\n                pbVar5 = (byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2);\n                *pbVar5 = *pbVar5 | 1;\n                iVar16 = 1;\n              }\n            }\n            else {\n              DAT_001e3cec = *(byte *)(DAT_001e3cb8 + 0x11) - 4;\n              puVar10 = ss;\n              iVar16 = 0;\n            }\n          }\n          else {\n            DAT_001e3cec = bVar7 - 2;\nLAB_0013317e:\n            iVar16 = 0;\n            puVar10 = ds;\n          }" if (parenthesized_expression "(bVar7 == 3)" ( (binary_expression "bVar7 == 3" identifier == number_literal) )) (compound_statement "{\n            if (DAT_001e3cb8 != 0) {\n              DAT_001e3cec = *(byte *)(DAT_001e3cb8 + 0x11) - 6;\n              goto LAB_0013317e;\n            }\n            DAT_001e3cec = 7;\n            puVar10 = ds;\n            iVar16 = 0;\n          }" { (if_statement "if (DAT_001e3cb8 != 0) {\n              DAT_001e3cec = *(byte *)(DAT_001e3cb8 + 0x11) - 6;\n              goto LAB_0013317e;\n            }" if (parenthesized_expression "(DAT_001e3cb8 != 0)" ( (binary_expression "DAT_001e3cb8 != 0" identifier != number_literal) )) (compound_statement "{\n              DAT_001e3cec = *(byte *)(DAT_001e3cb8 + 0x11) - 6;\n              goto LAB_0013317e;\n            }" { (expression_statement "DAT_001e3cec = *(byte *)(DAT_001e3cb8 + 0x11) - 6;" (assignment_expression "DAT_001e3cec = *(byte *)(DAT_001e3cb8 + 0x11) - 6" identifier = (binary_expression "*(byte *)(DAT_001e3cb8 + 0x11) - 6" (pointer_expression "*(byte *)(DAT_001e3cb8 + 0x11)" * (cast_expression "(byte *)(DAT_001e3cb8 + 0x11)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_001e3cb8 + 0x11)" ( (binary_expression "DAT_001e3cb8 + 0x11" identifier + number_literal) )))) - number_literal)) ;) (goto_statement "goto LAB_0013317e;" goto statement_identifier ;) })) (expression_statement "DAT_001e3cec = 7;" (assignment_expression "DAT_001e3cec = 7" identifier = number_literal) ;) (expression_statement "puVar10 = ds;" (assignment_expression "puVar10 = ds" identifier = identifier) ;) (expression_statement "iVar16 = 0;" (assignment_expression "iVar16 = 0" identifier = number_literal) ;) }) (else_clause "else if (bVar7 == 5) {\n            if (DAT_001e3cb8 == 0) {\n              puVar10 = ss;\n              DAT_001e3cec = 6;\n              iVar16 = 0;\n              if ((*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f) == 0) {\n                pbVar5 = (byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2);\n                *pbVar5 = *pbVar5 | 1;\n                iVar16 = 1;\n              }\n            }\n            else {\n              DAT_001e3cec = *(byte *)(DAT_001e3cb8 + 0x11) - 4;\n              puVar10 = ss;\n              iVar16 = 0;\n            }\n          }\n          else {\n            DAT_001e3cec = bVar7 - 2;\nLAB_0013317e:\n            iVar16 = 0;\n            puVar10 = ds;\n          }" else (if_statement "if (bVar7 == 5) {\n            if (DAT_001e3cb8 == 0) {\n              puVar10 = ss;\n              DAT_001e3cec = 6;\n              iVar16 = 0;\n              if ((*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f) == 0) {\n                pbVar5 = (byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2);\n                *pbVar5 = *pbVar5 | 1;\n                iVar16 = 1;\n              }\n            }\n            else {\n              DAT_001e3cec = *(byte *)(DAT_001e3cb8 + 0x11) - 4;\n              puVar10 = ss;\n              iVar16 = 0;\n            }\n          }\n          else {\n            DAT_001e3cec = bVar7 - 2;\nLAB_0013317e:\n            iVar16 = 0;\n            puVar10 = ds;\n          }" if (parenthesized_expression "(bVar7 == 5)" ( (binary_expression "bVar7 == 5" identifier == number_literal) )) (compound_statement "{\n            if (DAT_001e3cb8 == 0) {\n              puVar10 = ss;\n              DAT_001e3cec = 6;\n              iVar16 = 0;\n              if ((*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f) == 0) {\n                pbVar5 = (byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2);\n                *pbVar5 = *pbVar5 | 1;\n                iVar16 = 1;\n              }\n            }\n            else {\n              DAT_001e3cec = *(byte *)(DAT_001e3cb8 + 0x11) - 4;\n              puVar10 = ss;\n              iVar16 = 0;\n            }\n          }" { (if_statement "if (DAT_001e3cb8 == 0) {\n              puVar10 = ss;\n              DAT_001e3cec = 6;\n              iVar16 = 0;\n              if ((*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f) == 0) {\n                pbVar5 = (byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2);\n                *pbVar5 = *pbVar5 | 1;\n                iVar16 = 1;\n              }\n            }\n            else {\n              DAT_001e3cec = *(byte *)(DAT_001e3cb8 + 0x11) - 4;\n              puVar10 = ss;\n              iVar16 = 0;\n            }" if (parenthesized_expression "(DAT_001e3cb8 == 0)" ( (binary_expression "DAT_001e3cb8 == 0" identifier == number_literal) )) (compound_statement "{\n              puVar10 = ss;\n              DAT_001e3cec = 6;\n              iVar16 = 0;\n              if ((*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f) == 0) {\n                pbVar5 = (byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2);\n                *pbVar5 = *pbVar5 | 1;\n                iVar16 = 1;\n              }\n            }" { (expression_statement "puVar10 = ss;" (assignment_expression "puVar10 = ss" identifier = identifier) ;) (expression_statement "DAT_001e3cec = 6;" (assignment_expression "DAT_001e3cec = 6" identifier = number_literal) ;) (expression_statement "iVar16 = 0;" (assignment_expression "iVar16 = 0" identifier = number_literal) ;) (if_statement "if ((*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f) == 0) {\n                pbVar5 = (byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2);\n                *pbVar5 = *pbVar5 | 1;\n                iVar16 = 1;\n              }" if (parenthesized_expression "((*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f) == 0)" ( (binary_expression "(*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f) == 0" (parenthesized_expression "(*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f)" ( (binary_expression "*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f" (pointer_expression "*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2)" * (cast_expression "(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2)" ( (binary_expression "(long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2" (binary_expression "(long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8" (cast_expression "(long)&DAT_001e3bc8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&DAT_001e3bc8" & identifier)) + (binary_expression "(uVar20 + 0xe) * 8" (parenthesized_expression "(uVar20 + 0xe)" ( (binary_expression "uVar20 + 0xe" identifier + number_literal) )) * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n                pbVar5 = (byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2);\n                *pbVar5 = *pbVar5 | 1;\n                iVar16 = 1;\n              }" { (expression_statement "pbVar5 = (byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2);" (assignment_expression "pbVar5 = (byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2)" identifier = (cast_expression "(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2)" ( (binary_expression "(long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2" (binary_expression "(long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8" (cast_expression "(long)&DAT_001e3bc8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&DAT_001e3bc8" & identifier)) + (binary_expression "(uVar20 + 0xe) * 8" (parenthesized_expression "(uVar20 + 0xe)" ( (binary_expression "uVar20 + 0xe" identifier + number_literal) )) * number_literal)) + number_literal) )))) ;) (expression_statement "*pbVar5 = *pbVar5 | 1;" (assignment_expression "*pbVar5 = *pbVar5 | 1" (pointer_expression "*pbVar5" * identifier) = (binary_expression "*pbVar5 | 1" (pointer_expression "*pbVar5" * identifier) | number_literal)) ;) (expression_statement "iVar16 = 1;" (assignment_expression "iVar16 = 1" identifier = number_literal) ;) })) }) (else_clause "else {\n              DAT_001e3cec = *(byte *)(DAT_001e3cb8 + 0x11) - 4;\n              puVar10 = ss;\n              iVar16 = 0;\n            }" else (compound_statement "{\n              DAT_001e3cec = *(byte *)(DAT_001e3cb8 + 0x11) - 4;\n              puVar10 = ss;\n              iVar16 = 0;\n            }" { (expression_statement "DAT_001e3cec = *(byte *)(DAT_001e3cb8 + 0x11) - 4;" (assignment_expression "DAT_001e3cec = *(byte *)(DAT_001e3cb8 + 0x11) - 4" identifier = (binary_expression "*(byte *)(DAT_001e3cb8 + 0x11) - 4" (pointer_expression "*(byte *)(DAT_001e3cb8 + 0x11)" * (cast_expression "(byte *)(DAT_001e3cb8 + 0x11)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_001e3cb8 + 0x11)" ( (binary_expression "DAT_001e3cb8 + 0x11" identifier + number_literal) )))) - number_literal)) ;) (expression_statement "puVar10 = ss;" (assignment_expression "puVar10 = ss" identifier = identifier) ;) (expression_statement "iVar16 = 0;" (assignment_expression "iVar16 = 0" identifier = number_literal) ;) }))) }) (else_clause "else {\n            DAT_001e3cec = bVar7 - 2;\nLAB_0013317e:\n            iVar16 = 0;\n            puVar10 = ds;\n          }" else (compound_statement "{\n            DAT_001e3cec = bVar7 - 2;\nLAB_0013317e:\n            iVar16 = 0;\n            puVar10 = ds;\n          }" { (expression_statement "DAT_001e3cec = bVar7 - 2;" (assignment_expression "DAT_001e3cec = bVar7 - 2" identifier = (binary_expression "bVar7 - 2" identifier - number_literal)) ;) (labeled_statement "LAB_0013317e:\n            iVar16 = 0;" statement_identifier : (expression_statement "iVar16 = 0;" (assignment_expression "iVar16 = 0" identifier = number_literal) ;)) (expression_statement "puVar10 = ds;" (assignment_expression "puVar10 = ds" identifier = identifier) ;) }))))) }))) (expression_statement "DAT_001e3cf4 = 1;" (assignment_expression "DAT_001e3cf4 = 1" identifier = number_literal) ;) (if_statement "if (((ulong)(&DAT_001e3c38)[uVar20] >> 0x10 & 1) == 0) {\n          DAT_001e3cf4 = (uint)(((&DAT_001e3c38)[uVar20] & 0xe0000) != 0) * 2;\n        }" if (parenthesized_expression "(((ulong)(&DAT_001e3c38)[uVar20] >> 0x10 & 1) == 0)" ( (binary_expression "((ulong)(&DAT_001e3c38)[uVar20] >> 0x10 & 1) == 0" (parenthesized_expression "((ulong)(&DAT_001e3c38)[uVar20] >> 0x10 & 1)" ( (binary_expression "(ulong)(&DAT_001e3c38)[uVar20] >> 0x10 & 1" (binary_expression "(ulong)(&DAT_001e3c38)[uVar20] >> 0x10" (subscript_expression "(ulong)(&DAT_001e3c38)[uVar20]" (call_expression "(ulong)(&DAT_001e3c38)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(&DAT_001e3c38)" ( (pointer_expression "&DAT_001e3c38" & identifier) ))) [ identifier ]) >> number_literal) & number_literal) )) == number_literal) )) (compound_statement "{\n          DAT_001e3cf4 = (uint)(((&DAT_001e3c38)[uVar20] & 0xe0000) != 0) * 2;\n        }" { (expression_statement "DAT_001e3cf4 = (uint)(((&DAT_001e3c38)[uVar20] & 0xe0000) != 0) * 2;" (assignment_expression "DAT_001e3cf4 = (uint)(((&DAT_001e3c38)[uVar20] & 0xe0000) != 0) * 2" identifier = (binary_expression "(uint)(((&DAT_001e3c38)[uVar20] & 0xe0000) != 0) * 2" (call_expression "(uint)(((&DAT_001e3c38)[uVar20] & 0xe0000) != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(((&DAT_001e3c38)[uVar20] & 0xe0000) != 0)" ( (binary_expression "((&DAT_001e3c38)[uVar20] & 0xe0000) != 0" (parenthesized_expression "((&DAT_001e3c38)[uVar20] & 0xe0000)" ( (binary_expression "(&DAT_001e3c38)[uVar20] & 0xe0000" (subscript_expression "(&DAT_001e3c38)[uVar20]" (parenthesized_expression "(&DAT_001e3c38)" ( (pointer_expression "&DAT_001e3c38" & identifier) )) [ identifier ]) & number_literal) )) != number_literal) ))) * number_literal)) ;) })) (goto_statement "goto LAB_00133b80;" goto statement_identifier ;) })) (if_statement "if (bVar21 != 0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1b6f,"build_modrm_byte");\n      }" if (parenthesized_expression "(bVar21 != 0)" ( (binary_expression "bVar21 != 0" identifier != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1b6f,"build_modrm_byte");\n      }" { comment (expression_statement "FUN_0011dd00("../../gas/config/tc-i386.c",0x1b6f,"build_modrm_byte");" (call_expression "FUN_0011dd00("../../gas/config/tc-i386.c",0x1b6f,"build_modrm_byte")" identifier (argument_list "("../../gas/config/tc-i386.c",0x1b6f,"build_modrm_byte")" ( (string_literal ""../../gas/config/tc-i386.c"" " string_content ") , number_literal , (string_literal ""build_modrm_byte"" " string_content ") ))) ;) })) (expression_statement "DAT_001e3cec = 5;" (assignment_expression "DAT_001e3cec = 5" identifier = number_literal) ;) (expression_statement "*(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) =\n           *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xe0 | 8;" (assignment_expression "*(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) =\n           *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xe0 | 8" (pointer_expression "*(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2)" * (cast_expression "(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&DAT_001e3c38 + uVar20 * 8 + 2)" ( (binary_expression "(long)&DAT_001e3c38 + uVar20 * 8 + 2" (binary_expression "(long)&DAT_001e3c38 + uVar20 * 8" (cast_expression "(long)&DAT_001e3c38" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&DAT_001e3c38" & identifier)) + (binary_expression "uVar20 * 8" identifier * number_literal)) + number_literal) )))) = (binary_expression "*(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xe0 | 8" (binary_expression "*(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xe0" (pointer_expression "*(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2)" * (cast_expression "(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&DAT_001e3c38 + uVar20 * 8 + 2)" ( (binary_expression "(long)&DAT_001e3c38 + uVar20 * 8 + 2" (binary_expression "(long)&DAT_001e3c38 + uVar20 * 8" (cast_expression "(long)&DAT_001e3c38" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&DAT_001e3c38" & identifier)) + (binary_expression "uVar20 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) | number_literal)) ;) (expression_statement "uVar15 = DAT_001e3c2c;" (assignment_expression "uVar15 = DAT_001e3c2c" identifier = identifier) ;) (expression_statement "(&DAT_001e3c88)[uVar20] = (&DAT_001e3c88)[uVar20] | 1;" (assignment_expression "(&DAT_001e3c88)[uVar20] = (&DAT_001e3c88)[uVar20] | 1" (subscript_expression "(&DAT_001e3c88)[uVar20]" (parenthesized_expression "(&DAT_001e3c88)" ( (pointer_expression "&DAT_001e3c88" & identifier) )) [ identifier ]) = (binary_expression "(&DAT_001e3c88)[uVar20] | 1" (subscript_expression "(&DAT_001e3c88)[uVar20]" (parenthesized_expression "(&DAT_001e3c88)" ( (pointer_expression "&DAT_001e3c88" & identifier) )) [ identifier ]) | number_literal)) ;) (if_statement "if (uVar15 != 0) {\nLAB_00133424:\n        puVar10 = ds;\n        goto LAB_00133089;\n      }" if (parenthesized_expression "(uVar15 != 0)" ( (binary_expression "uVar15 != 0" identifier != number_literal) )) (compound_statement "{\nLAB_00133424:\n        puVar10 = ds;\n        goto LAB_00133089;\n      }" { (labeled_statement "LAB_00133424:\n        puVar10 = ds;" statement_identifier : (expression_statement "puVar10 = ds;" (assignment_expression "puVar10 = ds" identifier = identifier) ;)) (goto_statement "goto LAB_00133089;" goto statement_identifier ;) })) (labeled_statement "LAB_00133a60:\n      puVar10 = ds;" statement_identifier : (expression_statement "puVar10 = ds;" (assignment_expression "puVar10 = ds" identifier = identifier) ;)) (labeled_statement "LAB_00133a67:\n      if ((&DAT_001e3bc0)[uVar20 + 0x14] != 0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1bed,"build_modrm_byte");\n      }" statement_identifier : (if_statement "if ((&DAT_001e3bc0)[uVar20 + 0x14] != 0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1bed,"build_modrm_byte");\n      }" if (parenthesized_expression "((&DAT_001e3bc0)[uVar20 + 0x14] != 0)" ( (binary_expression "(&DAT_001e3bc0)[uVar20 + 0x14] != 0" (subscript_expression "(&DAT_001e3bc0)[uVar20 + 0x14]" (parenthesized_expression "(&DAT_001e3bc0)" ( (pointer_expression "&DAT_001e3bc0" & identifier) )) [ (binary_expression "uVar20 + 0x14" identifier + number_literal) ]) != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1bed,"build_modrm_byte");\n      }" { comment (expression_statement "FUN_0011dd00("../../gas/config/tc-i386.c",0x1bed,"build_modrm_byte");" (call_expression "FUN_0011dd00("../../gas/config/tc-i386.c",0x1bed,"build_modrm_byte")" identifier (argument_list "("../../gas/config/tc-i386.c",0x1bed,"build_modrm_byte")" ( (string_literal ""../../gas/config/tc-i386.c"" " string_content ") , number_literal , (string_literal ""build_modrm_byte"" " string_content ") ))) ;) }))) (expression_statement "uVar9 = (ulong)DAT_001e3c2c;" (assignment_expression "uVar9 = (ulong)DAT_001e3c2c" identifier = (cast_expression "(ulong)DAT_001e3c2c" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "DAT_001e3c2c = DAT_001e3c2c + 1;" (assignment_expression "DAT_001e3c2c = DAT_001e3c2c + 1" identifier = (binary_expression "DAT_001e3c2c + 1" identifier + number_literal)) ;) (expression_statement "lVar13 = uVar9 * 0x20;" (assignment_expression "lVar13 = uVar9 * 0x20" identifier = (binary_expression "uVar9 * 0x20" identifier * number_literal)) ;) (expression_statement "(&DAT_001e3bc0)[uVar20 + 0x14] = &DAT_001e3b60 + lVar13;" (assignment_expression "(&DAT_001e3bc0)[uVar20 + 0x14] = &DAT_001e3b60 + lVar13" (subscript_expression "(&DAT_001e3bc0)[uVar20 + 0x14]" (parenthesized_expression "(&DAT_001e3bc0)" ( (pointer_expression "&DAT_001e3bc0" & identifier) )) [ (binary_expression "uVar20 + 0x14" identifier + number_literal) ]) = (binary_expression "&DAT_001e3b60 + lVar13" (pointer_expression "&DAT_001e3b60" & identifier) + identifier)) ;) (expression_statement "(&DAT_001e3b78)[lVar13] = 2;" (assignment_expression "(&DAT_001e3b78)[lVar13] = 2" (subscript_expression "(&DAT_001e3b78)[lVar13]" (parenthesized_expression "(&DAT_001e3b78)" ( (pointer_expression "&DAT_001e3b78" & identifier) )) [ identifier ]) = number_literal) ;) (expression_statement "*(undefined8 *)(&DAT_001e3b70 + lVar13) = 0;" (assignment_expression "*(undefined8 *)(&DAT_001e3b70 + lVar13) = 0" (pointer_expression "*(undefined8 *)(&DAT_001e3b70 + lVar13)" * (cast_expression "(undefined8 *)(&DAT_001e3b70 + lVar13)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001e3b70 + lVar13)" ( (binary_expression "&DAT_001e3b70 + lVar13" (pointer_expression "&DAT_001e3b70" & identifier) + identifier) )))) = number_literal) ;) (expression_statement "*(undefined8 *)(&DAT_001e3b60 + lVar13) = 0;" (assignment_expression "*(undefined8 *)(&DAT_001e3b60 + lVar13) = 0" (pointer_expression "*(undefined8 *)(&DAT_001e3b60 + lVar13)" * (cast_expression "(undefined8 *)(&DAT_001e3b60 + lVar13)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001e3b60 + lVar13)" ( (binary_expression "&DAT_001e3b60 + lVar13" (pointer_expression "&DAT_001e3b60" & identifier) + identifier) )))) = number_literal) ;) (expression_statement "*(undefined8 *)(&DAT_001e3b68 + lVar13) = 0;" (assignment_expression "*(undefined8 *)(&DAT_001e3b68 + lVar13) = 0" (pointer_expression "*(undefined8 *)(&DAT_001e3b68 + lVar13)" * (cast_expression "(undefined8 *)(&DAT_001e3b68 + lVar13)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001e3b68 + lVar13)" ( (binary_expression "&DAT_001e3b68 + lVar13" (pointer_expression "&DAT_001e3b68" & identifier) + identifier) )))) = number_literal) ;) }))) (expression_statement "bVar14 = DAT_001e3bee & 0xc;" (assignment_expression "bVar14 = DAT_001e3bee & 0xc" identifier = (binary_expression "DAT_001e3bee & 0xc" identifier & number_literal)) ;) }))) (labeled_statement "LAB_00133089:\n  if (bVar14 == 4) {\n    if ((DAT_001e3c38._1_1_ & 0xfc) == 0) {\n      if ((DAT_001e3bed & 0x60) == 0x20) {\n        DAT_001e3d18 = DAT_001e3c60;\n      }\n      else {\n        DAT_001e3d18 = DAT_001e3c68;\n      }\n    }\n    else {\n      DAT_001e3d18 = 0;\n    }\n    DAT_001e3cf0 = (uint)*(byte *)(DAT_001e3c70 + 0x11);\n    if ((*(byte *)(DAT_001e3c70 + 0x10) & 1) != 0) {\n      DAT_001e3cf8 = DAT_001e3cf8 | 4;\n    }\n    if (DAT_001e3c30 != 0) goto LAB_001330bc;\n    if ((DAT_001e3bed & 0x60) == 0x20) {\n      bVar21 = *(byte *)(DAT_001e3c68 + 0x11);\n    }\n    else {\n      bVar21 = *(byte *)(DAT_001e3c60 + 0x11);\n    }\n    bVar19 = *(byte *)(DAT_001e3c68 + 0x10);\n  }\n  else {\n    bVar21 = DAT_001e3bed & 0x18;\n    if (bVar21 != 0x18) {\n      if (DAT_001e3c28 == 0) goto LAB_001330bc;\n      if ((((DAT_001e3c24 == 0) || (((byte)DAT_001e3c38 & 1) != 0)) ||\n          (((byte)DAT_001e3c38 & 2) != 0)) ||\n         ((((byte)DAT_001e3c38 & 4) != 0 || ((DAT_001e3c38._5_1_ & 2) != 0)))) {\n        uVar20 = 0;\n      }\n      else {\n        uVar20 = 0;\n        if (((byte)DAT_001e3c38 & 8) == 0) {\n          uVar9 = 0;\n          while( true ) {\n            bVar14 = *(byte *)(&DAT_001e3bc8 + (uVar9 + 0xe) * 2);\n            if ((((char)bVar14 < '\0') ||\n                ((*(byte *)((long)&DAT_001e3bc8 + (uVar9 + 0xe) * 8 + 1) & 1) != 0)) ||\n               (((bVar14 & 0x10) != 0 || (((bVar14 & 0x20) != 0 || ((bVar14 & 0x40) != 0))))))\n            goto LAB_00133670;\n            uVar15 = (int)uVar20 + 1;\n            uVar20 = (ulong)uVar15;\n            if (DAT_001e3c24 == uVar15) break;\n            uVar9 = (ulong)uVar15;\n            bVar14 = *(byte *)(&DAT_001e3bc8 + (uVar9 + 0xe) * 2);\n            if (((((bVar14 & 1) != 0) || ((bVar14 & 2) != 0)) || ((bVar14 & 4) != 0)) ||\n               (((*(byte *)((long)&DAT_001e3bcc + (uVar9 + 0xe) * 8 + 1) & 2) != 0 ||\n                ((*(byte *)(&DAT_001e3c38 + uVar9) & 8) != 0)))) goto LAB_00133670;\n          }\n          uVar20 = (ulong)DAT_001e3c24;\n        }\n      }\nLAB_00133670:\n      uVar15 = (uint)uVar20;\n      if (bVar19 == 8) {\n        uVar15 = 0xffffffff;\n        uVar20 = uVar18;\nLAB_00133b96:\n        if (uVar15 != (uint)uVar20) goto LAB_001336a6;\n        if (DAT_001e3c30 != 0) goto LAB_001330bc;\n      }\n      else {\n        uVar18 = uVar20;\n        if (bVar21 == 8) {\n          if (uVar22 == 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1c44,"build_modrm_byte");\n          }\n          uVar17 = uVar15 + 1;\n          uVar18 = (ulong)uVar17;\n          uVar9 = uVar20;\n          if (uVar22 < uVar15) {\n            if (DAT_001e3c24 <= uVar17) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c49,"build_modrm_byte");\n            }\n          }\n          else if ((((&DAT_001e3bf6)[uVar20 * 8] & 0x40) == 0) &&\n                  (((&DAT_001e3bf6)[uVar18 * 8] & 0x40) != 0)) {\n            if ((DAT_001e3c24 <= uVar15 + 2) || (uVar22 != uVar17)) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c55,"build_modrm_byte");\n            }\n            uVar18 = (ulong)(uVar15 + 2);\n          }\n          else {\n            uVar9 = uVar18;\n            uVar18 = uVar20;\n            uVar15 = uVar17;\n            if (DAT_001e3c24 <= uVar17) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c5a,"build_modrm_byte");\n            }\n          }\nLAB_00133e49:\n          lVar13 = uVar9 + 6;\n          bVar21 = *(byte *)((long)&DAT_001e3bc0 + lVar13 * 8 + 4);\n          if ((((bVar21 & 1) == 0) ||\n              ((-1 < *(char *)((long)&DAT_001e3bc0 + lVar13 * 8 + 7) &&\n               ((*(byte *)(&DAT_001e3bc8 + lVar13 * 2) & 2) == 0)))) &&\n             (((bVar21 & 4) == 0 &&\n              ((*(uint *)(&DAT_001e3bf8 + uVar9 * 8) != DAT_00153a54 ||\n               (*(int *)(&DAT_001e3bf4 + uVar9 * 8) != DAT_00153a50)))))) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1c7b,"build_modrm_byte");\n          }\n          DAT_001e3d18 = (&DAT_001e3c60)[uVar9];\n          uVar20 = uVar18;\n          goto LAB_00133b96;\n        }\n        if (bVar21 == 0x10) {\n          if (DAT_001e3c30 == 0) {\n            if (DAT_001e3c24 != uVar15 + 2) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c65,"build_modrm_byte");\n            }\n            uVar9 = (ulong)(uVar15 + 1);\n            uVar15 = uVar15 + 1;\n          }\n          else {\n            if ((DAT_001e3c34 + 2 <= uVar15) || (DAT_001e3c24 != DAT_001e3c34 + 2)) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c6c,"build_modrm_byte");\n            }\n            uVar15 = DAT_001e3c34 + 1;\n            if (uVar15 == 0xffffffff) goto LAB_001336a6;\n            uVar9 = (ulong)uVar15;\n          }\n          goto LAB_00133e49;\n        }\n        if (DAT_001e3c24 <= uVar15) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0011dd00("../../gas/config/tc-i386.c",0x1c71,"build_modrm_byte");\n        }\nLAB_001336a6:\n        if (DAT_001e3bd0 == 0xffff) {\n          DAT_001e3cf0 = (uint)*(byte *)((&DAT_001e3c60)[uVar20] + 0x11);\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar20] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 4;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 4;\n          }\n          if (DAT_001e3c30 == 0) {\n            DAT_001e3cf4 = 3;\n            return puVar10;\n          }\n          return puVar10;\n        }\n        DAT_001e3cec = (uint)*(byte *)((&DAT_001e3c60)[uVar20] + 0x11);\n        bVar21 = *(byte *)((&DAT_001e3c60)[uVar20] + 0x10);\n        if ((bVar21 & 1) != 0) {\n          DAT_001e3cf8 = DAT_001e3cf8 | 1;\n        }\n        if ((bVar21 & 4) != 0) {\n          DAT_001e3cfc = DAT_001e3cfc | 1;\n        }\n        if (DAT_001e3c30 != 0) {\n          DAT_001e3cf0 = DAT_001e3bd0;\n          return puVar10;\n        }\n      }\n      DAT_001e3cf4 = 3;\n      goto LAB_001330bc;\n    }\n    DAT_001e3d18 = DAT_001e3c70;\n    if (DAT_001e3c30 != 0) goto LAB_001330bc;\n    bVar21 = *(byte *)(DAT_001e3c68 + 0x11);\n    bVar19 = *(byte *)(DAT_001e3c68 + 0x10);\n  }" statement_identifier : (if_statement "if (bVar14 == 4) {\n    if ((DAT_001e3c38._1_1_ & 0xfc) == 0) {\n      if ((DAT_001e3bed & 0x60) == 0x20) {\n        DAT_001e3d18 = DAT_001e3c60;\n      }\n      else {\n        DAT_001e3d18 = DAT_001e3c68;\n      }\n    }\n    else {\n      DAT_001e3d18 = 0;\n    }\n    DAT_001e3cf0 = (uint)*(byte *)(DAT_001e3c70 + 0x11);\n    if ((*(byte *)(DAT_001e3c70 + 0x10) & 1) != 0) {\n      DAT_001e3cf8 = DAT_001e3cf8 | 4;\n    }\n    if (DAT_001e3c30 != 0) goto LAB_001330bc;\n    if ((DAT_001e3bed & 0x60) == 0x20) {\n      bVar21 = *(byte *)(DAT_001e3c68 + 0x11);\n    }\n    else {\n      bVar21 = *(byte *)(DAT_001e3c60 + 0x11);\n    }\n    bVar19 = *(byte *)(DAT_001e3c68 + 0x10);\n  }\n  else {\n    bVar21 = DAT_001e3bed & 0x18;\n    if (bVar21 != 0x18) {\n      if (DAT_001e3c28 == 0) goto LAB_001330bc;\n      if ((((DAT_001e3c24 == 0) || (((byte)DAT_001e3c38 & 1) != 0)) ||\n          (((byte)DAT_001e3c38 & 2) != 0)) ||\n         ((((byte)DAT_001e3c38 & 4) != 0 || ((DAT_001e3c38._5_1_ & 2) != 0)))) {\n        uVar20 = 0;\n      }\n      else {\n        uVar20 = 0;\n        if (((byte)DAT_001e3c38 & 8) == 0) {\n          uVar9 = 0;\n          while( true ) {\n            bVar14 = *(byte *)(&DAT_001e3bc8 + (uVar9 + 0xe) * 2);\n            if ((((char)bVar14 < '\0') ||\n                ((*(byte *)((long)&DAT_001e3bc8 + (uVar9 + 0xe) * 8 + 1) & 1) != 0)) ||\n               (((bVar14 & 0x10) != 0 || (((bVar14 & 0x20) != 0 || ((bVar14 & 0x40) != 0))))))\n            goto LAB_00133670;\n            uVar15 = (int)uVar20 + 1;\n            uVar20 = (ulong)uVar15;\n            if (DAT_001e3c24 == uVar15) break;\n            uVar9 = (ulong)uVar15;\n            bVar14 = *(byte *)(&DAT_001e3bc8 + (uVar9 + 0xe) * 2);\n            if (((((bVar14 & 1) != 0) || ((bVar14 & 2) != 0)) || ((bVar14 & 4) != 0)) ||\n               (((*(byte *)((long)&DAT_001e3bcc + (uVar9 + 0xe) * 8 + 1) & 2) != 0 ||\n                ((*(byte *)(&DAT_001e3c38 + uVar9) & 8) != 0)))) goto LAB_00133670;\n          }\n          uVar20 = (ulong)DAT_001e3c24;\n        }\n      }\nLAB_00133670:\n      uVar15 = (uint)uVar20;\n      if (bVar19 == 8) {\n        uVar15 = 0xffffffff;\n        uVar20 = uVar18;\nLAB_00133b96:\n        if (uVar15 != (uint)uVar20) goto LAB_001336a6;\n        if (DAT_001e3c30 != 0) goto LAB_001330bc;\n      }\n      else {\n        uVar18 = uVar20;\n        if (bVar21 == 8) {\n          if (uVar22 == 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1c44,"build_modrm_byte");\n          }\n          uVar17 = uVar15 + 1;\n          uVar18 = (ulong)uVar17;\n          uVar9 = uVar20;\n          if (uVar22 < uVar15) {\n            if (DAT_001e3c24 <= uVar17) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c49,"build_modrm_byte");\n            }\n          }\n          else if ((((&DAT_001e3bf6)[uVar20 * 8] & 0x40) == 0) &&\n                  (((&DAT_001e3bf6)[uVar18 * 8] & 0x40) != 0)) {\n            if ((DAT_001e3c24 <= uVar15 + 2) || (uVar22 != uVar17)) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c55,"build_modrm_byte");\n            }\n            uVar18 = (ulong)(uVar15 + 2);\n          }\n          else {\n            uVar9 = uVar18;\n            uVar18 = uVar20;\n            uVar15 = uVar17;\n            if (DAT_001e3c24 <= uVar17) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c5a,"build_modrm_byte");\n            }\n          }\nLAB_00133e49:\n          lVar13 = uVar9 + 6;\n          bVar21 = *(byte *)((long)&DAT_001e3bc0 + lVar13 * 8 + 4);\n          if ((((bVar21 & 1) == 0) ||\n              ((-1 < *(char *)((long)&DAT_001e3bc0 + lVar13 * 8 + 7) &&\n               ((*(byte *)(&DAT_001e3bc8 + lVar13 * 2) & 2) == 0)))) &&\n             (((bVar21 & 4) == 0 &&\n              ((*(uint *)(&DAT_001e3bf8 + uVar9 * 8) != DAT_00153a54 ||\n               (*(int *)(&DAT_001e3bf4 + uVar9 * 8) != DAT_00153a50)))))) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1c7b,"build_modrm_byte");\n          }\n          DAT_001e3d18 = (&DAT_001e3c60)[uVar9];\n          uVar20 = uVar18;\n          goto LAB_00133b96;\n        }\n        if (bVar21 == 0x10) {\n          if (DAT_001e3c30 == 0) {\n            if (DAT_001e3c24 != uVar15 + 2) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c65,"build_modrm_byte");\n            }\n            uVar9 = (ulong)(uVar15 + 1);\n            uVar15 = uVar15 + 1;\n          }\n          else {\n            if ((DAT_001e3c34 + 2 <= uVar15) || (DAT_001e3c24 != DAT_001e3c34 + 2)) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c6c,"build_modrm_byte");\n            }\n            uVar15 = DAT_001e3c34 + 1;\n            if (uVar15 == 0xffffffff) goto LAB_001336a6;\n            uVar9 = (ulong)uVar15;\n          }\n          goto LAB_00133e49;\n        }\n        if (DAT_001e3c24 <= uVar15) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0011dd00("../../gas/config/tc-i386.c",0x1c71,"build_modrm_byte");\n        }\nLAB_001336a6:\n        if (DAT_001e3bd0 == 0xffff) {\n          DAT_001e3cf0 = (uint)*(byte *)((&DAT_001e3c60)[uVar20] + 0x11);\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar20] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 4;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 4;\n          }\n          if (DAT_001e3c30 == 0) {\n            DAT_001e3cf4 = 3;\n            return puVar10;\n          }\n          return puVar10;\n        }\n        DAT_001e3cec = (uint)*(byte *)((&DAT_001e3c60)[uVar20] + 0x11);\n        bVar21 = *(byte *)((&DAT_001e3c60)[uVar20] + 0x10);\n        if ((bVar21 & 1) != 0) {\n          DAT_001e3cf8 = DAT_001e3cf8 | 1;\n        }\n        if ((bVar21 & 4) != 0) {\n          DAT_001e3cfc = DAT_001e3cfc | 1;\n        }\n        if (DAT_001e3c30 != 0) {\n          DAT_001e3cf0 = DAT_001e3bd0;\n          return puVar10;\n        }\n      }\n      DAT_001e3cf4 = 3;\n      goto LAB_001330bc;\n    }\n    DAT_001e3d18 = DAT_001e3c70;\n    if (DAT_001e3c30 != 0) goto LAB_001330bc;\n    bVar21 = *(byte *)(DAT_001e3c68 + 0x11);\n    bVar19 = *(byte *)(DAT_001e3c68 + 0x10);\n  }" if (parenthesized_expression "(bVar14 == 4)" ( (binary_expression "bVar14 == 4" identifier == number_literal) )) (compound_statement "{\n    if ((DAT_001e3c38._1_1_ & 0xfc) == 0) {\n      if ((DAT_001e3bed & 0x60) == 0x20) {\n        DAT_001e3d18 = DAT_001e3c60;\n      }\n      else {\n        DAT_001e3d18 = DAT_001e3c68;\n      }\n    }\n    else {\n      DAT_001e3d18 = 0;\n    }\n    DAT_001e3cf0 = (uint)*(byte *)(DAT_001e3c70 + 0x11);\n    if ((*(byte *)(DAT_001e3c70 + 0x10) & 1) != 0) {\n      DAT_001e3cf8 = DAT_001e3cf8 | 4;\n    }\n    if (DAT_001e3c30 != 0) goto LAB_001330bc;\n    if ((DAT_001e3bed & 0x60) == 0x20) {\n      bVar21 = *(byte *)(DAT_001e3c68 + 0x11);\n    }\n    else {\n      bVar21 = *(byte *)(DAT_001e3c60 + 0x11);\n    }\n    bVar19 = *(byte *)(DAT_001e3c68 + 0x10);\n  }" { (if_statement "if ((DAT_001e3c38._1_1_ & 0xfc) == 0) {\n      if ((DAT_001e3bed & 0x60) == 0x20) {\n        DAT_001e3d18 = DAT_001e3c60;\n      }\n      else {\n        DAT_001e3d18 = DAT_001e3c68;\n      }\n    }\n    else {\n      DAT_001e3d18 = 0;\n    }" if (parenthesized_expression "((DAT_001e3c38._1_1_ & 0xfc) == 0)" ( (binary_expression "(DAT_001e3c38._1_1_ & 0xfc) == 0" (parenthesized_expression "(DAT_001e3c38._1_1_ & 0xfc)" ( (binary_expression "DAT_001e3c38._1_1_ & 0xfc" (field_expression "DAT_001e3c38._1_1_" identifier . field_identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n      if ((DAT_001e3bed & 0x60) == 0x20) {\n        DAT_001e3d18 = DAT_001e3c60;\n      }\n      else {\n        DAT_001e3d18 = DAT_001e3c68;\n      }\n    }" { (if_statement "if ((DAT_001e3bed & 0x60) == 0x20) {\n        DAT_001e3d18 = DAT_001e3c60;\n      }\n      else {\n        DAT_001e3d18 = DAT_001e3c68;\n      }" if (parenthesized_expression "((DAT_001e3bed & 0x60) == 0x20)" ( (binary_expression "(DAT_001e3bed & 0x60) == 0x20" (parenthesized_expression "(DAT_001e3bed & 0x60)" ( (binary_expression "DAT_001e3bed & 0x60" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        DAT_001e3d18 = DAT_001e3c60;\n      }" { (expression_statement "DAT_001e3d18 = DAT_001e3c60;" (assignment_expression "DAT_001e3d18 = DAT_001e3c60" identifier = identifier) ;) }) (else_clause "else {\n        DAT_001e3d18 = DAT_001e3c68;\n      }" else (compound_statement "{\n        DAT_001e3d18 = DAT_001e3c68;\n      }" { (expression_statement "DAT_001e3d18 = DAT_001e3c68;" (assignment_expression "DAT_001e3d18 = DAT_001e3c68" identifier = identifier) ;) }))) }) (else_clause "else {\n      DAT_001e3d18 = 0;\n    }" else (compound_statement "{\n      DAT_001e3d18 = 0;\n    }" { (expression_statement "DAT_001e3d18 = 0;" (assignment_expression "DAT_001e3d18 = 0" identifier = number_literal) ;) }))) (expression_statement "DAT_001e3cf0 = (uint)*(byte *)(DAT_001e3c70 + 0x11);" (assignment_expression "DAT_001e3cf0 = (uint)*(byte *)(DAT_001e3c70 + 0x11)" identifier = (binary_expression "(uint)*(byte *)(DAT_001e3c70 + 0x11)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(DAT_001e3c70 + 0x11)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_001e3c70 + 0x11)" ( (binary_expression "DAT_001e3c70 + 0x11" identifier + number_literal) ))))) ;) (if_statement "if ((*(byte *)(DAT_001e3c70 + 0x10) & 1) != 0) {\n      DAT_001e3cf8 = DAT_001e3cf8 | 4;\n    }" if (parenthesized_expression "((*(byte *)(DAT_001e3c70 + 0x10) & 1) != 0)" ( (binary_expression "(*(byte *)(DAT_001e3c70 + 0x10) & 1) != 0" (parenthesized_expression "(*(byte *)(DAT_001e3c70 + 0x10) & 1)" ( (binary_expression "*(byte *)(DAT_001e3c70 + 0x10) & 1" (pointer_expression "*(byte *)(DAT_001e3c70 + 0x10)" * (cast_expression "(byte *)(DAT_001e3c70 + 0x10)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_001e3c70 + 0x10)" ( (binary_expression "DAT_001e3c70 + 0x10" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n      DAT_001e3cf8 = DAT_001e3cf8 | 4;\n    }" { (expression_statement "DAT_001e3cf8 = DAT_001e3cf8 | 4;" (assignment_expression "DAT_001e3cf8 = DAT_001e3cf8 | 4" identifier = (binary_expression "DAT_001e3cf8 | 4" identifier | number_literal)) ;) })) (if_statement "if (DAT_001e3c30 != 0) goto LAB_001330bc;" if (parenthesized_expression "(DAT_001e3c30 != 0)" ( (binary_expression "DAT_001e3c30 != 0" identifier != number_literal) )) (goto_statement "goto LAB_001330bc;" goto statement_identifier ;)) (if_statement "if ((DAT_001e3bed & 0x60) == 0x20) {\n      bVar21 = *(byte *)(DAT_001e3c68 + 0x11);\n    }\n    else {\n      bVar21 = *(byte *)(DAT_001e3c60 + 0x11);\n    }" if (parenthesized_expression "((DAT_001e3bed & 0x60) == 0x20)" ( (binary_expression "(DAT_001e3bed & 0x60) == 0x20" (parenthesized_expression "(DAT_001e3bed & 0x60)" ( (binary_expression "DAT_001e3bed & 0x60" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n      bVar21 = *(byte *)(DAT_001e3c68 + 0x11);\n    }" { (expression_statement "bVar21 = *(byte *)(DAT_001e3c68 + 0x11);" (assignment_expression "bVar21 = *(byte *)(DAT_001e3c68 + 0x11)" identifier = (pointer_expression "*(byte *)(DAT_001e3c68 + 0x11)" * (cast_expression "(byte *)(DAT_001e3c68 + 0x11)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_001e3c68 + 0x11)" ( (binary_expression "DAT_001e3c68 + 0x11" identifier + number_literal) ))))) ;) }) (else_clause "else {\n      bVar21 = *(byte *)(DAT_001e3c60 + 0x11);\n    }" else (compound_statement "{\n      bVar21 = *(byte *)(DAT_001e3c60 + 0x11);\n    }" { (expression_statement "bVar21 = *(byte *)(DAT_001e3c60 + 0x11);" (assignment_expression "bVar21 = *(byte *)(DAT_001e3c60 + 0x11)" identifier = (pointer_expression "*(byte *)(DAT_001e3c60 + 0x11)" * (cast_expression "(byte *)(DAT_001e3c60 + 0x11)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_001e3c60 + 0x11)" ( (binary_expression "DAT_001e3c60 + 0x11" identifier + number_literal) ))))) ;) }))) (expression_statement "bVar19 = *(byte *)(DAT_001e3c68 + 0x10);" (assignment_expression "bVar19 = *(byte *)(DAT_001e3c68 + 0x10)" identifier = (pointer_expression "*(byte *)(DAT_001e3c68 + 0x10)" * (cast_expression "(byte *)(DAT_001e3c68 + 0x10)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_001e3c68 + 0x10)" ( (binary_expression "DAT_001e3c68 + 0x10" identifier + number_literal) ))))) ;) }) (else_clause "else {\n    bVar21 = DAT_001e3bed & 0x18;\n    if (bVar21 != 0x18) {\n      if (DAT_001e3c28 == 0) goto LAB_001330bc;\n      if ((((DAT_001e3c24 == 0) || (((byte)DAT_001e3c38 & 1) != 0)) ||\n          (((byte)DAT_001e3c38 & 2) != 0)) ||\n         ((((byte)DAT_001e3c38 & 4) != 0 || ((DAT_001e3c38._5_1_ & 2) != 0)))) {\n        uVar20 = 0;\n      }\n      else {\n        uVar20 = 0;\n        if (((byte)DAT_001e3c38 & 8) == 0) {\n          uVar9 = 0;\n          while( true ) {\n            bVar14 = *(byte *)(&DAT_001e3bc8 + (uVar9 + 0xe) * 2);\n            if ((((char)bVar14 < '\0') ||\n                ((*(byte *)((long)&DAT_001e3bc8 + (uVar9 + 0xe) * 8 + 1) & 1) != 0)) ||\n               (((bVar14 & 0x10) != 0 || (((bVar14 & 0x20) != 0 || ((bVar14 & 0x40) != 0))))))\n            goto LAB_00133670;\n            uVar15 = (int)uVar20 + 1;\n            uVar20 = (ulong)uVar15;\n            if (DAT_001e3c24 == uVar15) break;\n            uVar9 = (ulong)uVar15;\n            bVar14 = *(byte *)(&DAT_001e3bc8 + (uVar9 + 0xe) * 2);\n            if (((((bVar14 & 1) != 0) || ((bVar14 & 2) != 0)) || ((bVar14 & 4) != 0)) ||\n               (((*(byte *)((long)&DAT_001e3bcc + (uVar9 + 0xe) * 8 + 1) & 2) != 0 ||\n                ((*(byte *)(&DAT_001e3c38 + uVar9) & 8) != 0)))) goto LAB_00133670;\n          }\n          uVar20 = (ulong)DAT_001e3c24;\n        }\n      }\nLAB_00133670:\n      uVar15 = (uint)uVar20;\n      if (bVar19 == 8) {\n        uVar15 = 0xffffffff;\n        uVar20 = uVar18;\nLAB_00133b96:\n        if (uVar15 != (uint)uVar20) goto LAB_001336a6;\n        if (DAT_001e3c30 != 0) goto LAB_001330bc;\n      }\n      else {\n        uVar18 = uVar20;\n        if (bVar21 == 8) {\n          if (uVar22 == 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1c44,"build_modrm_byte");\n          }\n          uVar17 = uVar15 + 1;\n          uVar18 = (ulong)uVar17;\n          uVar9 = uVar20;\n          if (uVar22 < uVar15) {\n            if (DAT_001e3c24 <= uVar17) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c49,"build_modrm_byte");\n            }\n          }\n          else if ((((&DAT_001e3bf6)[uVar20 * 8] & 0x40) == 0) &&\n                  (((&DAT_001e3bf6)[uVar18 * 8] & 0x40) != 0)) {\n            if ((DAT_001e3c24 <= uVar15 + 2) || (uVar22 != uVar17)) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c55,"build_modrm_byte");\n            }\n            uVar18 = (ulong)(uVar15 + 2);\n          }\n          else {\n            uVar9 = uVar18;\n            uVar18 = uVar20;\n            uVar15 = uVar17;\n            if (DAT_001e3c24 <= uVar17) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c5a,"build_modrm_byte");\n            }\n          }\nLAB_00133e49:\n          lVar13 = uVar9 + 6;\n          bVar21 = *(byte *)((long)&DAT_001e3bc0 + lVar13 * 8 + 4);\n          if ((((bVar21 & 1) == 0) ||\n              ((-1 < *(char *)((long)&DAT_001e3bc0 + lVar13 * 8 + 7) &&\n               ((*(byte *)(&DAT_001e3bc8 + lVar13 * 2) & 2) == 0)))) &&\n             (((bVar21 & 4) == 0 &&\n              ((*(uint *)(&DAT_001e3bf8 + uVar9 * 8) != DAT_00153a54 ||\n               (*(int *)(&DAT_001e3bf4 + uVar9 * 8) != DAT_00153a50)))))) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1c7b,"build_modrm_byte");\n          }\n          DAT_001e3d18 = (&DAT_001e3c60)[uVar9];\n          uVar20 = uVar18;\n          goto LAB_00133b96;\n        }\n        if (bVar21 == 0x10) {\n          if (DAT_001e3c30 == 0) {\n            if (DAT_001e3c24 != uVar15 + 2) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c65,"build_modrm_byte");\n            }\n            uVar9 = (ulong)(uVar15 + 1);\n            uVar15 = uVar15 + 1;\n          }\n          else {\n            if ((DAT_001e3c34 + 2 <= uVar15) || (DAT_001e3c24 != DAT_001e3c34 + 2)) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c6c,"build_modrm_byte");\n            }\n            uVar15 = DAT_001e3c34 + 1;\n            if (uVar15 == 0xffffffff) goto LAB_001336a6;\n            uVar9 = (ulong)uVar15;\n          }\n          goto LAB_00133e49;\n        }\n        if (DAT_001e3c24 <= uVar15) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0011dd00("../../gas/config/tc-i386.c",0x1c71,"build_modrm_byte");\n        }\nLAB_001336a6:\n        if (DAT_001e3bd0 == 0xffff) {\n          DAT_001e3cf0 = (uint)*(byte *)((&DAT_001e3c60)[uVar20] + 0x11);\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar20] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 4;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 4;\n          }\n          if (DAT_001e3c30 == 0) {\n            DAT_001e3cf4 = 3;\n            return puVar10;\n          }\n          return puVar10;\n        }\n        DAT_001e3cec = (uint)*(byte *)((&DAT_001e3c60)[uVar20] + 0x11);\n        bVar21 = *(byte *)((&DAT_001e3c60)[uVar20] + 0x10);\n        if ((bVar21 & 1) != 0) {\n          DAT_001e3cf8 = DAT_001e3cf8 | 1;\n        }\n        if ((bVar21 & 4) != 0) {\n          DAT_001e3cfc = DAT_001e3cfc | 1;\n        }\n        if (DAT_001e3c30 != 0) {\n          DAT_001e3cf0 = DAT_001e3bd0;\n          return puVar10;\n        }\n      }\n      DAT_001e3cf4 = 3;\n      goto LAB_001330bc;\n    }\n    DAT_001e3d18 = DAT_001e3c70;\n    if (DAT_001e3c30 != 0) goto LAB_001330bc;\n    bVar21 = *(byte *)(DAT_001e3c68 + 0x11);\n    bVar19 = *(byte *)(DAT_001e3c68 + 0x10);\n  }" else (compound_statement "{\n    bVar21 = DAT_001e3bed & 0x18;\n    if (bVar21 != 0x18) {\n      if (DAT_001e3c28 == 0) goto LAB_001330bc;\n      if ((((DAT_001e3c24 == 0) || (((byte)DAT_001e3c38 & 1) != 0)) ||\n          (((byte)DAT_001e3c38 & 2) != 0)) ||\n         ((((byte)DAT_001e3c38 & 4) != 0 || ((DAT_001e3c38._5_1_ & 2) != 0)))) {\n        uVar20 = 0;\n      }\n      else {\n        uVar20 = 0;\n        if (((byte)DAT_001e3c38 & 8) == 0) {\n          uVar9 = 0;\n          while( true ) {\n            bVar14 = *(byte *)(&DAT_001e3bc8 + (uVar9 + 0xe) * 2);\n            if ((((char)bVar14 < '\0') ||\n                ((*(byte *)((long)&DAT_001e3bc8 + (uVar9 + 0xe) * 8 + 1) & 1) != 0)) ||\n               (((bVar14 & 0x10) != 0 || (((bVar14 & 0x20) != 0 || ((bVar14 & 0x40) != 0))))))\n            goto LAB_00133670;\n            uVar15 = (int)uVar20 + 1;\n            uVar20 = (ulong)uVar15;\n            if (DAT_001e3c24 == uVar15) break;\n            uVar9 = (ulong)uVar15;\n            bVar14 = *(byte *)(&DAT_001e3bc8 + (uVar9 + 0xe) * 2);\n            if (((((bVar14 & 1) != 0) || ((bVar14 & 2) != 0)) || ((bVar14 & 4) != 0)) ||\n               (((*(byte *)((long)&DAT_001e3bcc + (uVar9 + 0xe) * 8 + 1) & 2) != 0 ||\n                ((*(byte *)(&DAT_001e3c38 + uVar9) & 8) != 0)))) goto LAB_00133670;\n          }\n          uVar20 = (ulong)DAT_001e3c24;\n        }\n      }\nLAB_00133670:\n      uVar15 = (uint)uVar20;\n      if (bVar19 == 8) {\n        uVar15 = 0xffffffff;\n        uVar20 = uVar18;\nLAB_00133b96:\n        if (uVar15 != (uint)uVar20) goto LAB_001336a6;\n        if (DAT_001e3c30 != 0) goto LAB_001330bc;\n      }\n      else {\n        uVar18 = uVar20;\n        if (bVar21 == 8) {\n          if (uVar22 == 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1c44,"build_modrm_byte");\n          }\n          uVar17 = uVar15 + 1;\n          uVar18 = (ulong)uVar17;\n          uVar9 = uVar20;\n          if (uVar22 < uVar15) {\n            if (DAT_001e3c24 <= uVar17) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c49,"build_modrm_byte");\n            }\n          }\n          else if ((((&DAT_001e3bf6)[uVar20 * 8] & 0x40) == 0) &&\n                  (((&DAT_001e3bf6)[uVar18 * 8] & 0x40) != 0)) {\n            if ((DAT_001e3c24 <= uVar15 + 2) || (uVar22 != uVar17)) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c55,"build_modrm_byte");\n            }\n            uVar18 = (ulong)(uVar15 + 2);\n          }\n          else {\n            uVar9 = uVar18;\n            uVar18 = uVar20;\n            uVar15 = uVar17;\n            if (DAT_001e3c24 <= uVar17) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c5a,"build_modrm_byte");\n            }\n          }\nLAB_00133e49:\n          lVar13 = uVar9 + 6;\n          bVar21 = *(byte *)((long)&DAT_001e3bc0 + lVar13 * 8 + 4);\n          if ((((bVar21 & 1) == 0) ||\n              ((-1 < *(char *)((long)&DAT_001e3bc0 + lVar13 * 8 + 7) &&\n               ((*(byte *)(&DAT_001e3bc8 + lVar13 * 2) & 2) == 0)))) &&\n             (((bVar21 & 4) == 0 &&\n              ((*(uint *)(&DAT_001e3bf8 + uVar9 * 8) != DAT_00153a54 ||\n               (*(int *)(&DAT_001e3bf4 + uVar9 * 8) != DAT_00153a50)))))) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1c7b,"build_modrm_byte");\n          }\n          DAT_001e3d18 = (&DAT_001e3c60)[uVar9];\n          uVar20 = uVar18;\n          goto LAB_00133b96;\n        }\n        if (bVar21 == 0x10) {\n          if (DAT_001e3c30 == 0) {\n            if (DAT_001e3c24 != uVar15 + 2) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c65,"build_modrm_byte");\n            }\n            uVar9 = (ulong)(uVar15 + 1);\n            uVar15 = uVar15 + 1;\n          }\n          else {\n            if ((DAT_001e3c34 + 2 <= uVar15) || (DAT_001e3c24 != DAT_001e3c34 + 2)) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c6c,"build_modrm_byte");\n            }\n            uVar15 = DAT_001e3c34 + 1;\n            if (uVar15 == 0xffffffff) goto LAB_001336a6;\n            uVar9 = (ulong)uVar15;\n          }\n          goto LAB_00133e49;\n        }\n        if (DAT_001e3c24 <= uVar15) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0011dd00("../../gas/config/tc-i386.c",0x1c71,"build_modrm_byte");\n        }\nLAB_001336a6:\n        if (DAT_001e3bd0 == 0xffff) {\n          DAT_001e3cf0 = (uint)*(byte *)((&DAT_001e3c60)[uVar20] + 0x11);\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar20] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 4;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 4;\n          }\n          if (DAT_001e3c30 == 0) {\n            DAT_001e3cf4 = 3;\n            return puVar10;\n          }\n          return puVar10;\n        }\n        DAT_001e3cec = (uint)*(byte *)((&DAT_001e3c60)[uVar20] + 0x11);\n        bVar21 = *(byte *)((&DAT_001e3c60)[uVar20] + 0x10);\n        if ((bVar21 & 1) != 0) {\n          DAT_001e3cf8 = DAT_001e3cf8 | 1;\n        }\n        if ((bVar21 & 4) != 0) {\n          DAT_001e3cfc = DAT_001e3cfc | 1;\n        }\n        if (DAT_001e3c30 != 0) {\n          DAT_001e3cf0 = DAT_001e3bd0;\n          return puVar10;\n        }\n      }\n      DAT_001e3cf4 = 3;\n      goto LAB_001330bc;\n    }\n    DAT_001e3d18 = DAT_001e3c70;\n    if (DAT_001e3c30 != 0) goto LAB_001330bc;\n    bVar21 = *(byte *)(DAT_001e3c68 + 0x11);\n    bVar19 = *(byte *)(DAT_001e3c68 + 0x10);\n  }" { (expression_statement "bVar21 = DAT_001e3bed & 0x18;" (assignment_expression "bVar21 = DAT_001e3bed & 0x18" identifier = (binary_expression "DAT_001e3bed & 0x18" identifier & number_literal)) ;) (if_statement "if (bVar21 != 0x18) {\n      if (DAT_001e3c28 == 0) goto LAB_001330bc;\n      if ((((DAT_001e3c24 == 0) || (((byte)DAT_001e3c38 & 1) != 0)) ||\n          (((byte)DAT_001e3c38 & 2) != 0)) ||\n         ((((byte)DAT_001e3c38 & 4) != 0 || ((DAT_001e3c38._5_1_ & 2) != 0)))) {\n        uVar20 = 0;\n      }\n      else {\n        uVar20 = 0;\n        if (((byte)DAT_001e3c38 & 8) == 0) {\n          uVar9 = 0;\n          while( true ) {\n            bVar14 = *(byte *)(&DAT_001e3bc8 + (uVar9 + 0xe) * 2);\n            if ((((char)bVar14 < '\0') ||\n                ((*(byte *)((long)&DAT_001e3bc8 + (uVar9 + 0xe) * 8 + 1) & 1) != 0)) ||\n               (((bVar14 & 0x10) != 0 || (((bVar14 & 0x20) != 0 || ((bVar14 & 0x40) != 0))))))\n            goto LAB_00133670;\n            uVar15 = (int)uVar20 + 1;\n            uVar20 = (ulong)uVar15;\n            if (DAT_001e3c24 == uVar15) break;\n            uVar9 = (ulong)uVar15;\n            bVar14 = *(byte *)(&DAT_001e3bc8 + (uVar9 + 0xe) * 2);\n            if (((((bVar14 & 1) != 0) || ((bVar14 & 2) != 0)) || ((bVar14 & 4) != 0)) ||\n               (((*(byte *)((long)&DAT_001e3bcc + (uVar9 + 0xe) * 8 + 1) & 2) != 0 ||\n                ((*(byte *)(&DAT_001e3c38 + uVar9) & 8) != 0)))) goto LAB_00133670;\n          }\n          uVar20 = (ulong)DAT_001e3c24;\n        }\n      }\nLAB_00133670:\n      uVar15 = (uint)uVar20;\n      if (bVar19 == 8) {\n        uVar15 = 0xffffffff;\n        uVar20 = uVar18;\nLAB_00133b96:\n        if (uVar15 != (uint)uVar20) goto LAB_001336a6;\n        if (DAT_001e3c30 != 0) goto LAB_001330bc;\n      }\n      else {\n        uVar18 = uVar20;\n        if (bVar21 == 8) {\n          if (uVar22 == 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1c44,"build_modrm_byte");\n          }\n          uVar17 = uVar15 + 1;\n          uVar18 = (ulong)uVar17;\n          uVar9 = uVar20;\n          if (uVar22 < uVar15) {\n            if (DAT_001e3c24 <= uVar17) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c49,"build_modrm_byte");\n            }\n          }\n          else if ((((&DAT_001e3bf6)[uVar20 * 8] & 0x40) == 0) &&\n                  (((&DAT_001e3bf6)[uVar18 * 8] & 0x40) != 0)) {\n            if ((DAT_001e3c24 <= uVar15 + 2) || (uVar22 != uVar17)) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c55,"build_modrm_byte");\n            }\n            uVar18 = (ulong)(uVar15 + 2);\n          }\n          else {\n            uVar9 = uVar18;\n            uVar18 = uVar20;\n            uVar15 = uVar17;\n            if (DAT_001e3c24 <= uVar17) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c5a,"build_modrm_byte");\n            }\n          }\nLAB_00133e49:\n          lVar13 = uVar9 + 6;\n          bVar21 = *(byte *)((long)&DAT_001e3bc0 + lVar13 * 8 + 4);\n          if ((((bVar21 & 1) == 0) ||\n              ((-1 < *(char *)((long)&DAT_001e3bc0 + lVar13 * 8 + 7) &&\n               ((*(byte *)(&DAT_001e3bc8 + lVar13 * 2) & 2) == 0)))) &&\n             (((bVar21 & 4) == 0 &&\n              ((*(uint *)(&DAT_001e3bf8 + uVar9 * 8) != DAT_00153a54 ||\n               (*(int *)(&DAT_001e3bf4 + uVar9 * 8) != DAT_00153a50)))))) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1c7b,"build_modrm_byte");\n          }\n          DAT_001e3d18 = (&DAT_001e3c60)[uVar9];\n          uVar20 = uVar18;\n          goto LAB_00133b96;\n        }\n        if (bVar21 == 0x10) {\n          if (DAT_001e3c30 == 0) {\n            if (DAT_001e3c24 != uVar15 + 2) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c65,"build_modrm_byte");\n            }\n            uVar9 = (ulong)(uVar15 + 1);\n            uVar15 = uVar15 + 1;\n          }\n          else {\n            if ((DAT_001e3c34 + 2 <= uVar15) || (DAT_001e3c24 != DAT_001e3c34 + 2)) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c6c,"build_modrm_byte");\n            }\n            uVar15 = DAT_001e3c34 + 1;\n            if (uVar15 == 0xffffffff) goto LAB_001336a6;\n            uVar9 = (ulong)uVar15;\n          }\n          goto LAB_00133e49;\n        }\n        if (DAT_001e3c24 <= uVar15) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0011dd00("../../gas/config/tc-i386.c",0x1c71,"build_modrm_byte");\n        }\nLAB_001336a6:\n        if (DAT_001e3bd0 == 0xffff) {\n          DAT_001e3cf0 = (uint)*(byte *)((&DAT_001e3c60)[uVar20] + 0x11);\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar20] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 4;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 4;\n          }\n          if (DAT_001e3c30 == 0) {\n            DAT_001e3cf4 = 3;\n            return puVar10;\n          }\n          return puVar10;\n        }\n        DAT_001e3cec = (uint)*(byte *)((&DAT_001e3c60)[uVar20] + 0x11);\n        bVar21 = *(byte *)((&DAT_001e3c60)[uVar20] + 0x10);\n        if ((bVar21 & 1) != 0) {\n          DAT_001e3cf8 = DAT_001e3cf8 | 1;\n        }\n        if ((bVar21 & 4) != 0) {\n          DAT_001e3cfc = DAT_001e3cfc | 1;\n        }\n        if (DAT_001e3c30 != 0) {\n          DAT_001e3cf0 = DAT_001e3bd0;\n          return puVar10;\n        }\n      }\n      DAT_001e3cf4 = 3;\n      goto LAB_001330bc;\n    }" if (parenthesized_expression "(bVar21 != 0x18)" ( (binary_expression "bVar21 != 0x18" identifier != number_literal) )) (compound_statement "{\n      if (DAT_001e3c28 == 0) goto LAB_001330bc;\n      if ((((DAT_001e3c24 == 0) || (((byte)DAT_001e3c38 & 1) != 0)) ||\n          (((byte)DAT_001e3c38 & 2) != 0)) ||\n         ((((byte)DAT_001e3c38 & 4) != 0 || ((DAT_001e3c38._5_1_ & 2) != 0)))) {\n        uVar20 = 0;\n      }\n      else {\n        uVar20 = 0;\n        if (((byte)DAT_001e3c38 & 8) == 0) {\n          uVar9 = 0;\n          while( true ) {\n            bVar14 = *(byte *)(&DAT_001e3bc8 + (uVar9 + 0xe) * 2);\n            if ((((char)bVar14 < '\0') ||\n                ((*(byte *)((long)&DAT_001e3bc8 + (uVar9 + 0xe) * 8 + 1) & 1) != 0)) ||\n               (((bVar14 & 0x10) != 0 || (((bVar14 & 0x20) != 0 || ((bVar14 & 0x40) != 0))))))\n            goto LAB_00133670;\n            uVar15 = (int)uVar20 + 1;\n            uVar20 = (ulong)uVar15;\n            if (DAT_001e3c24 == uVar15) break;\n            uVar9 = (ulong)uVar15;\n            bVar14 = *(byte *)(&DAT_001e3bc8 + (uVar9 + 0xe) * 2);\n            if (((((bVar14 & 1) != 0) || ((bVar14 & 2) != 0)) || ((bVar14 & 4) != 0)) ||\n               (((*(byte *)((long)&DAT_001e3bcc + (uVar9 + 0xe) * 8 + 1) & 2) != 0 ||\n                ((*(byte *)(&DAT_001e3c38 + uVar9) & 8) != 0)))) goto LAB_00133670;\n          }\n          uVar20 = (ulong)DAT_001e3c24;\n        }\n      }\nLAB_00133670:\n      uVar15 = (uint)uVar20;\n      if (bVar19 == 8) {\n        uVar15 = 0xffffffff;\n        uVar20 = uVar18;\nLAB_00133b96:\n        if (uVar15 != (uint)uVar20) goto LAB_001336a6;\n        if (DAT_001e3c30 != 0) goto LAB_001330bc;\n      }\n      else {\n        uVar18 = uVar20;\n        if (bVar21 == 8) {\n          if (uVar22 == 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1c44,"build_modrm_byte");\n          }\n          uVar17 = uVar15 + 1;\n          uVar18 = (ulong)uVar17;\n          uVar9 = uVar20;\n          if (uVar22 < uVar15) {\n            if (DAT_001e3c24 <= uVar17) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c49,"build_modrm_byte");\n            }\n          }\n          else if ((((&DAT_001e3bf6)[uVar20 * 8] & 0x40) == 0) &&\n                  (((&DAT_001e3bf6)[uVar18 * 8] & 0x40) != 0)) {\n            if ((DAT_001e3c24 <= uVar15 + 2) || (uVar22 != uVar17)) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c55,"build_modrm_byte");\n            }\n            uVar18 = (ulong)(uVar15 + 2);\n          }\n          else {\n            uVar9 = uVar18;\n            uVar18 = uVar20;\n            uVar15 = uVar17;\n            if (DAT_001e3c24 <= uVar17) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c5a,"build_modrm_byte");\n            }\n          }\nLAB_00133e49:\n          lVar13 = uVar9 + 6;\n          bVar21 = *(byte *)((long)&DAT_001e3bc0 + lVar13 * 8 + 4);\n          if ((((bVar21 & 1) == 0) ||\n              ((-1 < *(char *)((long)&DAT_001e3bc0 + lVar13 * 8 + 7) &&\n               ((*(byte *)(&DAT_001e3bc8 + lVar13 * 2) & 2) == 0)))) &&\n             (((bVar21 & 4) == 0 &&\n              ((*(uint *)(&DAT_001e3bf8 + uVar9 * 8) != DAT_00153a54 ||\n               (*(int *)(&DAT_001e3bf4 + uVar9 * 8) != DAT_00153a50)))))) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1c7b,"build_modrm_byte");\n          }\n          DAT_001e3d18 = (&DAT_001e3c60)[uVar9];\n          uVar20 = uVar18;\n          goto LAB_00133b96;\n        }\n        if (bVar21 == 0x10) {\n          if (DAT_001e3c30 == 0) {\n            if (DAT_001e3c24 != uVar15 + 2) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c65,"build_modrm_byte");\n            }\n            uVar9 = (ulong)(uVar15 + 1);\n            uVar15 = uVar15 + 1;\n          }\n          else {\n            if ((DAT_001e3c34 + 2 <= uVar15) || (DAT_001e3c24 != DAT_001e3c34 + 2)) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c6c,"build_modrm_byte");\n            }\n            uVar15 = DAT_001e3c34 + 1;\n            if (uVar15 == 0xffffffff) goto LAB_001336a6;\n            uVar9 = (ulong)uVar15;\n          }\n          goto LAB_00133e49;\n        }\n        if (DAT_001e3c24 <= uVar15) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0011dd00("../../gas/config/tc-i386.c",0x1c71,"build_modrm_byte");\n        }\nLAB_001336a6:\n        if (DAT_001e3bd0 == 0xffff) {\n          DAT_001e3cf0 = (uint)*(byte *)((&DAT_001e3c60)[uVar20] + 0x11);\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar20] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 4;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 4;\n          }\n          if (DAT_001e3c30 == 0) {\n            DAT_001e3cf4 = 3;\n            return puVar10;\n          }\n          return puVar10;\n        }\n        DAT_001e3cec = (uint)*(byte *)((&DAT_001e3c60)[uVar20] + 0x11);\n        bVar21 = *(byte *)((&DAT_001e3c60)[uVar20] + 0x10);\n        if ((bVar21 & 1) != 0) {\n          DAT_001e3cf8 = DAT_001e3cf8 | 1;\n        }\n        if ((bVar21 & 4) != 0) {\n          DAT_001e3cfc = DAT_001e3cfc | 1;\n        }\n        if (DAT_001e3c30 != 0) {\n          DAT_001e3cf0 = DAT_001e3bd0;\n          return puVar10;\n        }\n      }\n      DAT_001e3cf4 = 3;\n      goto LAB_001330bc;\n    }" { (if_statement "if (DAT_001e3c28 == 0) goto LAB_001330bc;" if (parenthesized_expression "(DAT_001e3c28 == 0)" ( (binary_expression "DAT_001e3c28 == 0" identifier == number_literal) )) (goto_statement "goto LAB_001330bc;" goto statement_identifier ;)) (if_statement "if ((((DAT_001e3c24 == 0) || (((byte)DAT_001e3c38 & 1) != 0)) ||\n          (((byte)DAT_001e3c38 & 2) != 0)) ||\n         ((((byte)DAT_001e3c38 & 4) != 0 || ((DAT_001e3c38._5_1_ & 2) != 0)))) {\n        uVar20 = 0;\n      }\n      else {\n        uVar20 = 0;\n        if (((byte)DAT_001e3c38 & 8) == 0) {\n          uVar9 = 0;\n          while( true ) {\n            bVar14 = *(byte *)(&DAT_001e3bc8 + (uVar9 + 0xe) * 2);\n            if ((((char)bVar14 < '\0') ||\n                ((*(byte *)((long)&DAT_001e3bc8 + (uVar9 + 0xe) * 8 + 1) & 1) != 0)) ||\n               (((bVar14 & 0x10) != 0 || (((bVar14 & 0x20) != 0 || ((bVar14 & 0x40) != 0))))))\n            goto LAB_00133670;\n            uVar15 = (int)uVar20 + 1;\n            uVar20 = (ulong)uVar15;\n            if (DAT_001e3c24 == uVar15) break;\n            uVar9 = (ulong)uVar15;\n            bVar14 = *(byte *)(&DAT_001e3bc8 + (uVar9 + 0xe) * 2);\n            if (((((bVar14 & 1) != 0) || ((bVar14 & 2) != 0)) || ((bVar14 & 4) != 0)) ||\n               (((*(byte *)((long)&DAT_001e3bcc + (uVar9 + 0xe) * 8 + 1) & 2) != 0 ||\n                ((*(byte *)(&DAT_001e3c38 + uVar9) & 8) != 0)))) goto LAB_00133670;\n          }\n          uVar20 = (ulong)DAT_001e3c24;\n        }\n      }" if (parenthesized_expression "((((DAT_001e3c24 == 0) || (((byte)DAT_001e3c38 & 1) != 0)) ||\n          (((byte)DAT_001e3c38 & 2) != 0)) ||\n         ((((byte)DAT_001e3c38 & 4) != 0 || ((DAT_001e3c38._5_1_ & 2) != 0))))" ( (binary_expression "(((DAT_001e3c24 == 0) || (((byte)DAT_001e3c38 & 1) != 0)) ||\n          (((byte)DAT_001e3c38 & 2) != 0)) ||\n         ((((byte)DAT_001e3c38 & 4) != 0 || ((DAT_001e3c38._5_1_ & 2) != 0)))" (parenthesized_expression "(((DAT_001e3c24 == 0) || (((byte)DAT_001e3c38 & 1) != 0)) ||\n          (((byte)DAT_001e3c38 & 2) != 0))" ( (binary_expression "((DAT_001e3c24 == 0) || (((byte)DAT_001e3c38 & 1) != 0)) ||\n          (((byte)DAT_001e3c38 & 2) != 0)" (parenthesized_expression "((DAT_001e3c24 == 0) || (((byte)DAT_001e3c38 & 1) != 0))" ( (binary_expression "(DAT_001e3c24 == 0) || (((byte)DAT_001e3c38 & 1) != 0)" (parenthesized_expression "(DAT_001e3c24 == 0)" ( (binary_expression "DAT_001e3c24 == 0" identifier == number_literal) )) || (parenthesized_expression "(((byte)DAT_001e3c38 & 1) != 0)" ( (binary_expression "((byte)DAT_001e3c38 & 1) != 0" (parenthesized_expression "((byte)DAT_001e3c38 & 1)" ( (binary_expression "(byte)DAT_001e3c38 & 1" (cast_expression "(byte)DAT_001e3c38" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) )) != number_literal) ))) )) || (parenthesized_expression "(((byte)DAT_001e3c38 & 2) != 0)" ( (binary_expression "((byte)DAT_001e3c38 & 2) != 0" (parenthesized_expression "((byte)DAT_001e3c38 & 2)" ( (binary_expression "(byte)DAT_001e3c38 & 2" (cast_expression "(byte)DAT_001e3c38" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) )) != number_literal) ))) )) || (parenthesized_expression "((((byte)DAT_001e3c38 & 4) != 0 || ((DAT_001e3c38._5_1_ & 2) != 0)))" ( (parenthesized_expression "(((byte)DAT_001e3c38 & 4) != 0 || ((DAT_001e3c38._5_1_ & 2) != 0))" ( (binary_expression "((byte)DAT_001e3c38 & 4) != 0 || ((DAT_001e3c38._5_1_ & 2) != 0)" (binary_expression "((byte)DAT_001e3c38 & 4) != 0" (parenthesized_expression "((byte)DAT_001e3c38 & 4)" ( (binary_expression "(byte)DAT_001e3c38 & 4" (cast_expression "(byte)DAT_001e3c38" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) )) != number_literal) || (parenthesized_expression "((DAT_001e3c38._5_1_ & 2) != 0)" ( (binary_expression "(DAT_001e3c38._5_1_ & 2) != 0" (parenthesized_expression "(DAT_001e3c38._5_1_ & 2)" ( (binary_expression "DAT_001e3c38._5_1_ & 2" (field_expression "DAT_001e3c38._5_1_" identifier . field_identifier) & number_literal) )) != number_literal) ))) )) ))) )) (compound_statement "{\n        uVar20 = 0;\n      }" { (expression_statement "uVar20 = 0;" (assignment_expression "uVar20 = 0" identifier = number_literal) ;) }) (else_clause "else {\n        uVar20 = 0;\n        if (((byte)DAT_001e3c38 & 8) == 0) {\n          uVar9 = 0;\n          while( true ) {\n            bVar14 = *(byte *)(&DAT_001e3bc8 + (uVar9 + 0xe) * 2);\n            if ((((char)bVar14 < '\0') ||\n                ((*(byte *)((long)&DAT_001e3bc8 + (uVar9 + 0xe) * 8 + 1) & 1) != 0)) ||\n               (((bVar14 & 0x10) != 0 || (((bVar14 & 0x20) != 0 || ((bVar14 & 0x40) != 0))))))\n            goto LAB_00133670;\n            uVar15 = (int)uVar20 + 1;\n            uVar20 = (ulong)uVar15;\n            if (DAT_001e3c24 == uVar15) break;\n            uVar9 = (ulong)uVar15;\n            bVar14 = *(byte *)(&DAT_001e3bc8 + (uVar9 + 0xe) * 2);\n            if (((((bVar14 & 1) != 0) || ((bVar14 & 2) != 0)) || ((bVar14 & 4) != 0)) ||\n               (((*(byte *)((long)&DAT_001e3bcc + (uVar9 + 0xe) * 8 + 1) & 2) != 0 ||\n                ((*(byte *)(&DAT_001e3c38 + uVar9) & 8) != 0)))) goto LAB_00133670;\n          }\n          uVar20 = (ulong)DAT_001e3c24;\n        }\n      }" else (compound_statement "{\n        uVar20 = 0;\n        if (((byte)DAT_001e3c38 & 8) == 0) {\n          uVar9 = 0;\n          while( true ) {\n            bVar14 = *(byte *)(&DAT_001e3bc8 + (uVar9 + 0xe) * 2);\n            if ((((char)bVar14 < '\0') ||\n                ((*(byte *)((long)&DAT_001e3bc8 + (uVar9 + 0xe) * 8 + 1) & 1) != 0)) ||\n               (((bVar14 & 0x10) != 0 || (((bVar14 & 0x20) != 0 || ((bVar14 & 0x40) != 0))))))\n            goto LAB_00133670;\n            uVar15 = (int)uVar20 + 1;\n            uVar20 = (ulong)uVar15;\n            if (DAT_001e3c24 == uVar15) break;\n            uVar9 = (ulong)uVar15;\n            bVar14 = *(byte *)(&DAT_001e3bc8 + (uVar9 + 0xe) * 2);\n            if (((((bVar14 & 1) != 0) || ((bVar14 & 2) != 0)) || ((bVar14 & 4) != 0)) ||\n               (((*(byte *)((long)&DAT_001e3bcc + (uVar9 + 0xe) * 8 + 1) & 2) != 0 ||\n                ((*(byte *)(&DAT_001e3c38 + uVar9) & 8) != 0)))) goto LAB_00133670;\n          }\n          uVar20 = (ulong)DAT_001e3c24;\n        }\n      }" { (expression_statement "uVar20 = 0;" (assignment_expression "uVar20 = 0" identifier = number_literal) ;) (if_statement "if (((byte)DAT_001e3c38 & 8) == 0) {\n          uVar9 = 0;\n          while( true ) {\n            bVar14 = *(byte *)(&DAT_001e3bc8 + (uVar9 + 0xe) * 2);\n            if ((((char)bVar14 < '\0') ||\n                ((*(byte *)((long)&DAT_001e3bc8 + (uVar9 + 0xe) * 8 + 1) & 1) != 0)) ||\n               (((bVar14 & 0x10) != 0 || (((bVar14 & 0x20) != 0 || ((bVar14 & 0x40) != 0))))))\n            goto LAB_00133670;\n            uVar15 = (int)uVar20 + 1;\n            uVar20 = (ulong)uVar15;\n            if (DAT_001e3c24 == uVar15) break;\n            uVar9 = (ulong)uVar15;\n            bVar14 = *(byte *)(&DAT_001e3bc8 + (uVar9 + 0xe) * 2);\n            if (((((bVar14 & 1) != 0) || ((bVar14 & 2) != 0)) || ((bVar14 & 4) != 0)) ||\n               (((*(byte *)((long)&DAT_001e3bcc + (uVar9 + 0xe) * 8 + 1) & 2) != 0 ||\n                ((*(byte *)(&DAT_001e3c38 + uVar9) & 8) != 0)))) goto LAB_00133670;\n          }\n          uVar20 = (ulong)DAT_001e3c24;\n        }" if (parenthesized_expression "(((byte)DAT_001e3c38 & 8) == 0)" ( (binary_expression "((byte)DAT_001e3c38 & 8) == 0" (parenthesized_expression "((byte)DAT_001e3c38 & 8)" ( (binary_expression "(byte)DAT_001e3c38 & 8" (cast_expression "(byte)DAT_001e3c38" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n          uVar9 = 0;\n          while( true ) {\n            bVar14 = *(byte *)(&DAT_001e3bc8 + (uVar9 + 0xe) * 2);\n            if ((((char)bVar14 < '\0') ||\n                ((*(byte *)((long)&DAT_001e3bc8 + (uVar9 + 0xe) * 8 + 1) & 1) != 0)) ||\n               (((bVar14 & 0x10) != 0 || (((bVar14 & 0x20) != 0 || ((bVar14 & 0x40) != 0))))))\n            goto LAB_00133670;\n            uVar15 = (int)uVar20 + 1;\n            uVar20 = (ulong)uVar15;\n            if (DAT_001e3c24 == uVar15) break;\n            uVar9 = (ulong)uVar15;\n            bVar14 = *(byte *)(&DAT_001e3bc8 + (uVar9 + 0xe) * 2);\n            if (((((bVar14 & 1) != 0) || ((bVar14 & 2) != 0)) || ((bVar14 & 4) != 0)) ||\n               (((*(byte *)((long)&DAT_001e3bcc + (uVar9 + 0xe) * 8 + 1) & 2) != 0 ||\n                ((*(byte *)(&DAT_001e3c38 + uVar9) & 8) != 0)))) goto LAB_00133670;\n          }\n          uVar20 = (ulong)DAT_001e3c24;\n        }" { (expression_statement "uVar9 = 0;" (assignment_expression "uVar9 = 0" identifier = number_literal) ;) (while_statement "while( true ) {\n            bVar14 = *(byte *)(&DAT_001e3bc8 + (uVar9 + 0xe) * 2);\n            if ((((char)bVar14 < '\0') ||\n                ((*(byte *)((long)&DAT_001e3bc8 + (uVar9 + 0xe) * 8 + 1) & 1) != 0)) ||\n               (((bVar14 & 0x10) != 0 || (((bVar14 & 0x20) != 0 || ((bVar14 & 0x40) != 0))))))\n            goto LAB_00133670;\n            uVar15 = (int)uVar20 + 1;\n            uVar20 = (ulong)uVar15;\n            if (DAT_001e3c24 == uVar15) break;\n            uVar9 = (ulong)uVar15;\n            bVar14 = *(byte *)(&DAT_001e3bc8 + (uVar9 + 0xe) * 2);\n            if (((((bVar14 & 1) != 0) || ((bVar14 & 2) != 0)) || ((bVar14 & 4) != 0)) ||\n               (((*(byte *)((long)&DAT_001e3bcc + (uVar9 + 0xe) * 8 + 1) & 2) != 0 ||\n                ((*(byte *)(&DAT_001e3c38 + uVar9) & 8) != 0)))) goto LAB_00133670;\n          }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n            bVar14 = *(byte *)(&DAT_001e3bc8 + (uVar9 + 0xe) * 2);\n            if ((((char)bVar14 < '\0') ||\n                ((*(byte *)((long)&DAT_001e3bc8 + (uVar9 + 0xe) * 8 + 1) & 1) != 0)) ||\n               (((bVar14 & 0x10) != 0 || (((bVar14 & 0x20) != 0 || ((bVar14 & 0x40) != 0))))))\n            goto LAB_00133670;\n            uVar15 = (int)uVar20 + 1;\n            uVar20 = (ulong)uVar15;\n            if (DAT_001e3c24 == uVar15) break;\n            uVar9 = (ulong)uVar15;\n            bVar14 = *(byte *)(&DAT_001e3bc8 + (uVar9 + 0xe) * 2);\n            if (((((bVar14 & 1) != 0) || ((bVar14 & 2) != 0)) || ((bVar14 & 4) != 0)) ||\n               (((*(byte *)((long)&DAT_001e3bcc + (uVar9 + 0xe) * 8 + 1) & 2) != 0 ||\n                ((*(byte *)(&DAT_001e3c38 + uVar9) & 8) != 0)))) goto LAB_00133670;\n          }" { (expression_statement "bVar14 = *(byte *)(&DAT_001e3bc8 + (uVar9 + 0xe) * 2);" (assignment_expression "bVar14 = *(byte *)(&DAT_001e3bc8 + (uVar9 + 0xe) * 2)" identifier = (pointer_expression "*(byte *)(&DAT_001e3bc8 + (uVar9 + 0xe) * 2)" * (cast_expression "(byte *)(&DAT_001e3bc8 + (uVar9 + 0xe) * 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001e3bc8 + (uVar9 + 0xe) * 2)" ( (binary_expression "&DAT_001e3bc8 + (uVar9 + 0xe) * 2" (pointer_expression "&DAT_001e3bc8" & identifier) + (binary_expression "(uVar9 + 0xe) * 2" (parenthesized_expression "(uVar9 + 0xe)" ( (binary_expression "uVar9 + 0xe" identifier + number_literal) )) * number_literal)) ))))) ;) (if_statement "if ((((char)bVar14 < '\0') ||\n                ((*(byte *)((long)&DAT_001e3bc8 + (uVar9 + 0xe) * 8 + 1) & 1) != 0)) ||\n               (((bVar14 & 0x10) != 0 || (((bVar14 & 0x20) != 0 || ((bVar14 & 0x40) != 0))))))\n            goto LAB_00133670;" if (parenthesized_expression "((((char)bVar14 < '\0') ||\n                ((*(byte *)((long)&DAT_001e3bc8 + (uVar9 + 0xe) * 8 + 1) & 1) != 0)) ||\n               (((bVar14 & 0x10) != 0 || (((bVar14 & 0x20) != 0 || ((bVar14 & 0x40) != 0))))))" ( (binary_expression "(((char)bVar14 < '\0') ||\n                ((*(byte *)((long)&DAT_001e3bc8 + (uVar9 + 0xe) * 8 + 1) & 1) != 0)) ||\n               (((bVar14 & 0x10) != 0 || (((bVar14 & 0x20) != 0 || ((bVar14 & 0x40) != 0)))))" (parenthesized_expression "(((char)bVar14 < '\0') ||\n                ((*(byte *)((long)&DAT_001e3bc8 + (uVar9 + 0xe) * 8 + 1) & 1) != 0))" ( (binary_expression "((char)bVar14 < '\0') ||\n                ((*(byte *)((long)&DAT_001e3bc8 + (uVar9 + 0xe) * 8 + 1) & 1) != 0)" (parenthesized_expression "((char)bVar14 < '\0')" ( (binary_expression "(char)bVar14 < '\0'" (cast_expression "(char)bVar14" ( (type_descriptor "char" primitive_type) ) identifier) < (char_literal "'\0'" ' escape_sequence ')) )) || (parenthesized_expression "((*(byte *)((long)&DAT_001e3bc8 + (uVar9 + 0xe) * 8 + 1) & 1) != 0)" ( (binary_expression "(*(byte *)((long)&DAT_001e3bc8 + (uVar9 + 0xe) * 8 + 1) & 1) != 0" (parenthesized_expression "(*(byte *)((long)&DAT_001e3bc8 + (uVar9 + 0xe) * 8 + 1) & 1)" ( (binary_expression "*(byte *)((long)&DAT_001e3bc8 + (uVar9 + 0xe) * 8 + 1) & 1" (pointer_expression "*(byte *)((long)&DAT_001e3bc8 + (uVar9 + 0xe) * 8 + 1)" * (cast_expression "(byte *)((long)&DAT_001e3bc8 + (uVar9 + 0xe) * 8 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&DAT_001e3bc8 + (uVar9 + 0xe) * 8 + 1)" ( (binary_expression "(long)&DAT_001e3bc8 + (uVar9 + 0xe) * 8 + 1" (binary_expression "(long)&DAT_001e3bc8 + (uVar9 + 0xe) * 8" (cast_expression "(long)&DAT_001e3bc8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&DAT_001e3bc8" & identifier)) + (binary_expression "(uVar9 + 0xe) * 8" (parenthesized_expression "(uVar9 + 0xe)" ( (binary_expression "uVar9 + 0xe" identifier + number_literal) )) * number_literal)) + number_literal) )))) & number_literal) )) != number_literal) ))) )) || (parenthesized_expression "(((bVar14 & 0x10) != 0 || (((bVar14 & 0x20) != 0 || ((bVar14 & 0x40) != 0)))))" ( (parenthesized_expression "((bVar14 & 0x10) != 0 || (((bVar14 & 0x20) != 0 || ((bVar14 & 0x40) != 0))))" ( (binary_expression "(bVar14 & 0x10) != 0 || (((bVar14 & 0x20) != 0 || ((bVar14 & 0x40) != 0)))" (binary_expression "(bVar14 & 0x10) != 0" (parenthesized_expression "(bVar14 & 0x10)" ( (binary_expression "bVar14 & 0x10" identifier & number_literal) )) != number_literal) || (parenthesized_expression "(((bVar14 & 0x20) != 0 || ((bVar14 & 0x40) != 0)))" ( (parenthesized_expression "((bVar14 & 0x20) != 0 || ((bVar14 & 0x40) != 0))" ( (binary_expression "(bVar14 & 0x20) != 0 || ((bVar14 & 0x40) != 0)" (binary_expression "(bVar14 & 0x20) != 0" (parenthesized_expression "(bVar14 & 0x20)" ( (binary_expression "bVar14 & 0x20" identifier & number_literal) )) != number_literal) || (parenthesized_expression "((bVar14 & 0x40) != 0)" ( (binary_expression "(bVar14 & 0x40) != 0" (parenthesized_expression "(bVar14 & 0x40)" ( (binary_expression "bVar14 & 0x40" identifier & number_literal) )) != number_literal) ))) )) ))) )) ))) )) (goto_statement "goto LAB_00133670;" goto statement_identifier ;)) (expression_statement "uVar15 = (int)uVar20 + 1;" (assignment_expression "uVar15 = (int)uVar20 + 1" identifier = (binary_expression "(int)uVar20 + 1" (cast_expression "(int)uVar20" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "uVar20 = (ulong)uVar15;" (assignment_expression "uVar20 = (ulong)uVar15" identifier = (cast_expression "(ulong)uVar15" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (if_statement "if (DAT_001e3c24 == uVar15) break;" if (parenthesized_expression "(DAT_001e3c24 == uVar15)" ( (binary_expression "DAT_001e3c24 == uVar15" identifier == identifier) )) (break_statement "break;" break ;)) (expression_statement "uVar9 = (ulong)uVar15;" (assignment_expression "uVar9 = (ulong)uVar15" identifier = (cast_expression "(ulong)uVar15" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "bVar14 = *(byte *)(&DAT_001e3bc8 + (uVar9 + 0xe) * 2);" (assignment_expression "bVar14 = *(byte *)(&DAT_001e3bc8 + (uVar9 + 0xe) * 2)" identifier = (pointer_expression "*(byte *)(&DAT_001e3bc8 + (uVar9 + 0xe) * 2)" * (cast_expression "(byte *)(&DAT_001e3bc8 + (uVar9 + 0xe) * 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001e3bc8 + (uVar9 + 0xe) * 2)" ( (binary_expression "&DAT_001e3bc8 + (uVar9 + 0xe) * 2" (pointer_expression "&DAT_001e3bc8" & identifier) + (binary_expression "(uVar9 + 0xe) * 2" (parenthesized_expression "(uVar9 + 0xe)" ( (binary_expression "uVar9 + 0xe" identifier + number_literal) )) * number_literal)) ))))) ;) (if_statement "if (((((bVar14 & 1) != 0) || ((bVar14 & 2) != 0)) || ((bVar14 & 4) != 0)) ||\n               (((*(byte *)((long)&DAT_001e3bcc + (uVar9 + 0xe) * 8 + 1) & 2) != 0 ||\n                ((*(byte *)(&DAT_001e3c38 + uVar9) & 8) != 0)))) goto LAB_00133670;" if (parenthesized_expression "(((((bVar14 & 1) != 0) || ((bVar14 & 2) != 0)) || ((bVar14 & 4) != 0)) ||\n               (((*(byte *)((long)&DAT_001e3bcc + (uVar9 + 0xe) * 8 + 1) & 2) != 0 ||\n                ((*(byte *)(&DAT_001e3c38 + uVar9) & 8) != 0))))" ( (binary_expression "((((bVar14 & 1) != 0) || ((bVar14 & 2) != 0)) || ((bVar14 & 4) != 0)) ||\n               (((*(byte *)((long)&DAT_001e3bcc + (uVar9 + 0xe) * 8 + 1) & 2) != 0 ||\n                ((*(byte *)(&DAT_001e3c38 + uVar9) & 8) != 0)))" (parenthesized_expression "((((bVar14 & 1) != 0) || ((bVar14 & 2) != 0)) || ((bVar14 & 4) != 0))" ( (binary_expression "(((bVar14 & 1) != 0) || ((bVar14 & 2) != 0)) || ((bVar14 & 4) != 0)" (parenthesized_expression "(((bVar14 & 1) != 0) || ((bVar14 & 2) != 0))" ( (binary_expression "((bVar14 & 1) != 0) || ((bVar14 & 2) != 0)" (parenthesized_expression "((bVar14 & 1) != 0)" ( (binary_expression "(bVar14 & 1) != 0" (parenthesized_expression "(bVar14 & 1)" ( (binary_expression "bVar14 & 1" identifier & number_literal) )) != number_literal) )) || (parenthesized_expression "((bVar14 & 2) != 0)" ( (binary_expression "(bVar14 & 2) != 0" (parenthesized_expression "(bVar14 & 2)" ( (binary_expression "bVar14 & 2" identifier & number_literal) )) != number_literal) ))) )) || (parenthesized_expression "((bVar14 & 4) != 0)" ( (binary_expression "(bVar14 & 4) != 0" (parenthesized_expression "(bVar14 & 4)" ( (binary_expression "bVar14 & 4" identifier & number_literal) )) != number_literal) ))) )) || (parenthesized_expression "(((*(byte *)((long)&DAT_001e3bcc + (uVar9 + 0xe) * 8 + 1) & 2) != 0 ||\n                ((*(byte *)(&DAT_001e3c38 + uVar9) & 8) != 0)))" ( (parenthesized_expression "((*(byte *)((long)&DAT_001e3bcc + (uVar9 + 0xe) * 8 + 1) & 2) != 0 ||\n                ((*(byte *)(&DAT_001e3c38 + uVar9) & 8) != 0))" ( (binary_expression "(*(byte *)((long)&DAT_001e3bcc + (uVar9 + 0xe) * 8 + 1) & 2) != 0 ||\n                ((*(byte *)(&DAT_001e3c38 + uVar9) & 8) != 0)" (binary_expression "(*(byte *)((long)&DAT_001e3bcc + (uVar9 + 0xe) * 8 + 1) & 2) != 0" (parenthesized_expression "(*(byte *)((long)&DAT_001e3bcc + (uVar9 + 0xe) * 8 + 1) & 2)" ( (binary_expression "*(byte *)((long)&DAT_001e3bcc + (uVar9 + 0xe) * 8 + 1) & 2" (pointer_expression "*(byte *)((long)&DAT_001e3bcc + (uVar9 + 0xe) * 8 + 1)" * (cast_expression "(byte *)((long)&DAT_001e3bcc + (uVar9 + 0xe) * 8 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&DAT_001e3bcc + (uVar9 + 0xe) * 8 + 1)" ( (binary_expression "(long)&DAT_001e3bcc + (uVar9 + 0xe) * 8 + 1" (binary_expression "(long)&DAT_001e3bcc + (uVar9 + 0xe) * 8" (cast_expression "(long)&DAT_001e3bcc" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&DAT_001e3bcc" & identifier)) + (binary_expression "(uVar9 + 0xe) * 8" (parenthesized_expression "(uVar9 + 0xe)" ( (binary_expression "uVar9 + 0xe" identifier + number_literal) )) * number_literal)) + number_literal) )))) & number_literal) )) != number_literal) || (parenthesized_expression "((*(byte *)(&DAT_001e3c38 + uVar9) & 8) != 0)" ( (binary_expression "(*(byte *)(&DAT_001e3c38 + uVar9) & 8) != 0" (parenthesized_expression "(*(byte *)(&DAT_001e3c38 + uVar9) & 8)" ( (binary_expression "*(byte *)(&DAT_001e3c38 + uVar9) & 8" (pointer_expression "*(byte *)(&DAT_001e3c38 + uVar9)" * (cast_expression "(byte *)(&DAT_001e3c38 + uVar9)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001e3c38 + uVar9)" ( (binary_expression "&DAT_001e3c38 + uVar9" (pointer_expression "&DAT_001e3c38" & identifier) + identifier) )))) & number_literal) )) != number_literal) ))) )) ))) )) (goto_statement "goto LAB_00133670;" goto statement_identifier ;)) })) (expression_statement "uVar20 = (ulong)DAT_001e3c24;" (assignment_expression "uVar20 = (ulong)DAT_001e3c24" identifier = (cast_expression "(ulong)DAT_001e3c24" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) })) }))) (labeled_statement "LAB_00133670:\n      uVar15 = (uint)uVar20;" statement_identifier : (expression_statement "uVar15 = (uint)uVar20;" (assignment_expression "uVar15 = (uint)uVar20" identifier = (cast_expression "(uint)uVar20" ( (type_descriptor "uint" type_identifier) ) identifier)) ;)) (if_statement "if (bVar19 == 8) {\n        uVar15 = 0xffffffff;\n        uVar20 = uVar18;\nLAB_00133b96:\n        if (uVar15 != (uint)uVar20) goto LAB_001336a6;\n        if (DAT_001e3c30 != 0) goto LAB_001330bc;\n      }\n      else {\n        uVar18 = uVar20;\n        if (bVar21 == 8) {\n          if (uVar22 == 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1c44,"build_modrm_byte");\n          }\n          uVar17 = uVar15 + 1;\n          uVar18 = (ulong)uVar17;\n          uVar9 = uVar20;\n          if (uVar22 < uVar15) {\n            if (DAT_001e3c24 <= uVar17) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c49,"build_modrm_byte");\n            }\n          }\n          else if ((((&DAT_001e3bf6)[uVar20 * 8] & 0x40) == 0) &&\n                  (((&DAT_001e3bf6)[uVar18 * 8] & 0x40) != 0)) {\n            if ((DAT_001e3c24 <= uVar15 + 2) || (uVar22 != uVar17)) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c55,"build_modrm_byte");\n            }\n            uVar18 = (ulong)(uVar15 + 2);\n          }\n          else {\n            uVar9 = uVar18;\n            uVar18 = uVar20;\n            uVar15 = uVar17;\n            if (DAT_001e3c24 <= uVar17) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c5a,"build_modrm_byte");\n            }\n          }\nLAB_00133e49:\n          lVar13 = uVar9 + 6;\n          bVar21 = *(byte *)((long)&DAT_001e3bc0 + lVar13 * 8 + 4);\n          if ((((bVar21 & 1) == 0) ||\n              ((-1 < *(char *)((long)&DAT_001e3bc0 + lVar13 * 8 + 7) &&\n               ((*(byte *)(&DAT_001e3bc8 + lVar13 * 2) & 2) == 0)))) &&\n             (((bVar21 & 4) == 0 &&\n              ((*(uint *)(&DAT_001e3bf8 + uVar9 * 8) != DAT_00153a54 ||\n               (*(int *)(&DAT_001e3bf4 + uVar9 * 8) != DAT_00153a50)))))) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1c7b,"build_modrm_byte");\n          }\n          DAT_001e3d18 = (&DAT_001e3c60)[uVar9];\n          uVar20 = uVar18;\n          goto LAB_00133b96;\n        }\n        if (bVar21 == 0x10) {\n          if (DAT_001e3c30 == 0) {\n            if (DAT_001e3c24 != uVar15 + 2) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c65,"build_modrm_byte");\n            }\n            uVar9 = (ulong)(uVar15 + 1);\n            uVar15 = uVar15 + 1;\n          }\n          else {\n            if ((DAT_001e3c34 + 2 <= uVar15) || (DAT_001e3c24 != DAT_001e3c34 + 2)) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c6c,"build_modrm_byte");\n            }\n            uVar15 = DAT_001e3c34 + 1;\n            if (uVar15 == 0xffffffff) goto LAB_001336a6;\n            uVar9 = (ulong)uVar15;\n          }\n          goto LAB_00133e49;\n        }\n        if (DAT_001e3c24 <= uVar15) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0011dd00("../../gas/config/tc-i386.c",0x1c71,"build_modrm_byte");\n        }\nLAB_001336a6:\n        if (DAT_001e3bd0 == 0xffff) {\n          DAT_001e3cf0 = (uint)*(byte *)((&DAT_001e3c60)[uVar20] + 0x11);\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar20] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 4;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 4;\n          }\n          if (DAT_001e3c30 == 0) {\n            DAT_001e3cf4 = 3;\n            return puVar10;\n          }\n          return puVar10;\n        }\n        DAT_001e3cec = (uint)*(byte *)((&DAT_001e3c60)[uVar20] + 0x11);\n        bVar21 = *(byte *)((&DAT_001e3c60)[uVar20] + 0x10);\n        if ((bVar21 & 1) != 0) {\n          DAT_001e3cf8 = DAT_001e3cf8 | 1;\n        }\n        if ((bVar21 & 4) != 0) {\n          DAT_001e3cfc = DAT_001e3cfc | 1;\n        }\n        if (DAT_001e3c30 != 0) {\n          DAT_001e3cf0 = DAT_001e3bd0;\n          return puVar10;\n        }\n      }" if (parenthesized_expression "(bVar19 == 8)" ( (binary_expression "bVar19 == 8" identifier == number_literal) )) (compound_statement "{\n        uVar15 = 0xffffffff;\n        uVar20 = uVar18;\nLAB_00133b96:\n        if (uVar15 != (uint)uVar20) goto LAB_001336a6;\n        if (DAT_001e3c30 != 0) goto LAB_001330bc;\n      }" { (expression_statement "uVar15 = 0xffffffff;" (assignment_expression "uVar15 = 0xffffffff" identifier = number_literal) ;) (expression_statement "uVar20 = uVar18;" (assignment_expression "uVar20 = uVar18" identifier = identifier) ;) (labeled_statement "LAB_00133b96:\n        if (uVar15 != (uint)uVar20) goto LAB_001336a6;" statement_identifier : (if_statement "if (uVar15 != (uint)uVar20) goto LAB_001336a6;" if (parenthesized_expression "(uVar15 != (uint)uVar20)" ( (binary_expression "uVar15 != (uint)uVar20" identifier != (cast_expression "(uint)uVar20" ( (type_descriptor "uint" type_identifier) ) identifier)) )) (goto_statement "goto LAB_001336a6;" goto statement_identifier ;))) (if_statement "if (DAT_001e3c30 != 0) goto LAB_001330bc;" if (parenthesized_expression "(DAT_001e3c30 != 0)" ( (binary_expression "DAT_001e3c30 != 0" identifier != number_literal) )) (goto_statement "goto LAB_001330bc;" goto statement_identifier ;)) }) (else_clause "else {\n        uVar18 = uVar20;\n        if (bVar21 == 8) {\n          if (uVar22 == 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1c44,"build_modrm_byte");\n          }\n          uVar17 = uVar15 + 1;\n          uVar18 = (ulong)uVar17;\n          uVar9 = uVar20;\n          if (uVar22 < uVar15) {\n            if (DAT_001e3c24 <= uVar17) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c49,"build_modrm_byte");\n            }\n          }\n          else if ((((&DAT_001e3bf6)[uVar20 * 8] & 0x40) == 0) &&\n                  (((&DAT_001e3bf6)[uVar18 * 8] & 0x40) != 0)) {\n            if ((DAT_001e3c24 <= uVar15 + 2) || (uVar22 != uVar17)) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c55,"build_modrm_byte");\n            }\n            uVar18 = (ulong)(uVar15 + 2);\n          }\n          else {\n            uVar9 = uVar18;\n            uVar18 = uVar20;\n            uVar15 = uVar17;\n            if (DAT_001e3c24 <= uVar17) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c5a,"build_modrm_byte");\n            }\n          }\nLAB_00133e49:\n          lVar13 = uVar9 + 6;\n          bVar21 = *(byte *)((long)&DAT_001e3bc0 + lVar13 * 8 + 4);\n          if ((((bVar21 & 1) == 0) ||\n              ((-1 < *(char *)((long)&DAT_001e3bc0 + lVar13 * 8 + 7) &&\n               ((*(byte *)(&DAT_001e3bc8 + lVar13 * 2) & 2) == 0)))) &&\n             (((bVar21 & 4) == 0 &&\n              ((*(uint *)(&DAT_001e3bf8 + uVar9 * 8) != DAT_00153a54 ||\n               (*(int *)(&DAT_001e3bf4 + uVar9 * 8) != DAT_00153a50)))))) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1c7b,"build_modrm_byte");\n          }\n          DAT_001e3d18 = (&DAT_001e3c60)[uVar9];\n          uVar20 = uVar18;\n          goto LAB_00133b96;\n        }\n        if (bVar21 == 0x10) {\n          if (DAT_001e3c30 == 0) {\n            if (DAT_001e3c24 != uVar15 + 2) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c65,"build_modrm_byte");\n            }\n            uVar9 = (ulong)(uVar15 + 1);\n            uVar15 = uVar15 + 1;\n          }\n          else {\n            if ((DAT_001e3c34 + 2 <= uVar15) || (DAT_001e3c24 != DAT_001e3c34 + 2)) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c6c,"build_modrm_byte");\n            }\n            uVar15 = DAT_001e3c34 + 1;\n            if (uVar15 == 0xffffffff) goto LAB_001336a6;\n            uVar9 = (ulong)uVar15;\n          }\n          goto LAB_00133e49;\n        }\n        if (DAT_001e3c24 <= uVar15) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0011dd00("../../gas/config/tc-i386.c",0x1c71,"build_modrm_byte");\n        }\nLAB_001336a6:\n        if (DAT_001e3bd0 == 0xffff) {\n          DAT_001e3cf0 = (uint)*(byte *)((&DAT_001e3c60)[uVar20] + 0x11);\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar20] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 4;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 4;\n          }\n          if (DAT_001e3c30 == 0) {\n            DAT_001e3cf4 = 3;\n            return puVar10;\n          }\n          return puVar10;\n        }\n        DAT_001e3cec = (uint)*(byte *)((&DAT_001e3c60)[uVar20] + 0x11);\n        bVar21 = *(byte *)((&DAT_001e3c60)[uVar20] + 0x10);\n        if ((bVar21 & 1) != 0) {\n          DAT_001e3cf8 = DAT_001e3cf8 | 1;\n        }\n        if ((bVar21 & 4) != 0) {\n          DAT_001e3cfc = DAT_001e3cfc | 1;\n        }\n        if (DAT_001e3c30 != 0) {\n          DAT_001e3cf0 = DAT_001e3bd0;\n          return puVar10;\n        }\n      }" else (compound_statement "{\n        uVar18 = uVar20;\n        if (bVar21 == 8) {\n          if (uVar22 == 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1c44,"build_modrm_byte");\n          }\n          uVar17 = uVar15 + 1;\n          uVar18 = (ulong)uVar17;\n          uVar9 = uVar20;\n          if (uVar22 < uVar15) {\n            if (DAT_001e3c24 <= uVar17) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c49,"build_modrm_byte");\n            }\n          }\n          else if ((((&DAT_001e3bf6)[uVar20 * 8] & 0x40) == 0) &&\n                  (((&DAT_001e3bf6)[uVar18 * 8] & 0x40) != 0)) {\n            if ((DAT_001e3c24 <= uVar15 + 2) || (uVar22 != uVar17)) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c55,"build_modrm_byte");\n            }\n            uVar18 = (ulong)(uVar15 + 2);\n          }\n          else {\n            uVar9 = uVar18;\n            uVar18 = uVar20;\n            uVar15 = uVar17;\n            if (DAT_001e3c24 <= uVar17) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c5a,"build_modrm_byte");\n            }\n          }\nLAB_00133e49:\n          lVar13 = uVar9 + 6;\n          bVar21 = *(byte *)((long)&DAT_001e3bc0 + lVar13 * 8 + 4);\n          if ((((bVar21 & 1) == 0) ||\n              ((-1 < *(char *)((long)&DAT_001e3bc0 + lVar13 * 8 + 7) &&\n               ((*(byte *)(&DAT_001e3bc8 + lVar13 * 2) & 2) == 0)))) &&\n             (((bVar21 & 4) == 0 &&\n              ((*(uint *)(&DAT_001e3bf8 + uVar9 * 8) != DAT_00153a54 ||\n               (*(int *)(&DAT_001e3bf4 + uVar9 * 8) != DAT_00153a50)))))) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1c7b,"build_modrm_byte");\n          }\n          DAT_001e3d18 = (&DAT_001e3c60)[uVar9];\n          uVar20 = uVar18;\n          goto LAB_00133b96;\n        }\n        if (bVar21 == 0x10) {\n          if (DAT_001e3c30 == 0) {\n            if (DAT_001e3c24 != uVar15 + 2) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c65,"build_modrm_byte");\n            }\n            uVar9 = (ulong)(uVar15 + 1);\n            uVar15 = uVar15 + 1;\n          }\n          else {\n            if ((DAT_001e3c34 + 2 <= uVar15) || (DAT_001e3c24 != DAT_001e3c34 + 2)) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c6c,"build_modrm_byte");\n            }\n            uVar15 = DAT_001e3c34 + 1;\n            if (uVar15 == 0xffffffff) goto LAB_001336a6;\n            uVar9 = (ulong)uVar15;\n          }\n          goto LAB_00133e49;\n        }\n        if (DAT_001e3c24 <= uVar15) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0011dd00("../../gas/config/tc-i386.c",0x1c71,"build_modrm_byte");\n        }\nLAB_001336a6:\n        if (DAT_001e3bd0 == 0xffff) {\n          DAT_001e3cf0 = (uint)*(byte *)((&DAT_001e3c60)[uVar20] + 0x11);\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar20] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 4;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 4;\n          }\n          if (DAT_001e3c30 == 0) {\n            DAT_001e3cf4 = 3;\n            return puVar10;\n          }\n          return puVar10;\n        }\n        DAT_001e3cec = (uint)*(byte *)((&DAT_001e3c60)[uVar20] + 0x11);\n        bVar21 = *(byte *)((&DAT_001e3c60)[uVar20] + 0x10);\n        if ((bVar21 & 1) != 0) {\n          DAT_001e3cf8 = DAT_001e3cf8 | 1;\n        }\n        if ((bVar21 & 4) != 0) {\n          DAT_001e3cfc = DAT_001e3cfc | 1;\n        }\n        if (DAT_001e3c30 != 0) {\n          DAT_001e3cf0 = DAT_001e3bd0;\n          return puVar10;\n        }\n      }" { (expression_statement "uVar18 = uVar20;" (assignment_expression "uVar18 = uVar20" identifier = identifier) ;) (if_statement "if (bVar21 == 8) {\n          if (uVar22 == 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1c44,"build_modrm_byte");\n          }\n          uVar17 = uVar15 + 1;\n          uVar18 = (ulong)uVar17;\n          uVar9 = uVar20;\n          if (uVar22 < uVar15) {\n            if (DAT_001e3c24 <= uVar17) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c49,"build_modrm_byte");\n            }\n          }\n          else if ((((&DAT_001e3bf6)[uVar20 * 8] & 0x40) == 0) &&\n                  (((&DAT_001e3bf6)[uVar18 * 8] & 0x40) != 0)) {\n            if ((DAT_001e3c24 <= uVar15 + 2) || (uVar22 != uVar17)) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c55,"build_modrm_byte");\n            }\n            uVar18 = (ulong)(uVar15 + 2);\n          }\n          else {\n            uVar9 = uVar18;\n            uVar18 = uVar20;\n            uVar15 = uVar17;\n            if (DAT_001e3c24 <= uVar17) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c5a,"build_modrm_byte");\n            }\n          }\nLAB_00133e49:\n          lVar13 = uVar9 + 6;\n          bVar21 = *(byte *)((long)&DAT_001e3bc0 + lVar13 * 8 + 4);\n          if ((((bVar21 & 1) == 0) ||\n              ((-1 < *(char *)((long)&DAT_001e3bc0 + lVar13 * 8 + 7) &&\n               ((*(byte *)(&DAT_001e3bc8 + lVar13 * 2) & 2) == 0)))) &&\n             (((bVar21 & 4) == 0 &&\n              ((*(uint *)(&DAT_001e3bf8 + uVar9 * 8) != DAT_00153a54 ||\n               (*(int *)(&DAT_001e3bf4 + uVar9 * 8) != DAT_00153a50)))))) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1c7b,"build_modrm_byte");\n          }\n          DAT_001e3d18 = (&DAT_001e3c60)[uVar9];\n          uVar20 = uVar18;\n          goto LAB_00133b96;\n        }" if (parenthesized_expression "(bVar21 == 8)" ( (binary_expression "bVar21 == 8" identifier == number_literal) )) (compound_statement "{\n          if (uVar22 == 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1c44,"build_modrm_byte");\n          }\n          uVar17 = uVar15 + 1;\n          uVar18 = (ulong)uVar17;\n          uVar9 = uVar20;\n          if (uVar22 < uVar15) {\n            if (DAT_001e3c24 <= uVar17) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c49,"build_modrm_byte");\n            }\n          }\n          else if ((((&DAT_001e3bf6)[uVar20 * 8] & 0x40) == 0) &&\n                  (((&DAT_001e3bf6)[uVar18 * 8] & 0x40) != 0)) {\n            if ((DAT_001e3c24 <= uVar15 + 2) || (uVar22 != uVar17)) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c55,"build_modrm_byte");\n            }\n            uVar18 = (ulong)(uVar15 + 2);\n          }\n          else {\n            uVar9 = uVar18;\n            uVar18 = uVar20;\n            uVar15 = uVar17;\n            if (DAT_001e3c24 <= uVar17) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c5a,"build_modrm_byte");\n            }\n          }\nLAB_00133e49:\n          lVar13 = uVar9 + 6;\n          bVar21 = *(byte *)((long)&DAT_001e3bc0 + lVar13 * 8 + 4);\n          if ((((bVar21 & 1) == 0) ||\n              ((-1 < *(char *)((long)&DAT_001e3bc0 + lVar13 * 8 + 7) &&\n               ((*(byte *)(&DAT_001e3bc8 + lVar13 * 2) & 2) == 0)))) &&\n             (((bVar21 & 4) == 0 &&\n              ((*(uint *)(&DAT_001e3bf8 + uVar9 * 8) != DAT_00153a54 ||\n               (*(int *)(&DAT_001e3bf4 + uVar9 * 8) != DAT_00153a50)))))) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1c7b,"build_modrm_byte");\n          }\n          DAT_001e3d18 = (&DAT_001e3c60)[uVar9];\n          uVar20 = uVar18;\n          goto LAB_00133b96;\n        }" { (if_statement "if (uVar22 == 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1c44,"build_modrm_byte");\n          }" if (parenthesized_expression "(uVar22 == 0xffffffff)" ( (binary_expression "uVar22 == 0xffffffff" identifier == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1c44,"build_modrm_byte");\n          }" { comment (expression_statement "FUN_0011dd00("../../gas/config/tc-i386.c",0x1c44,"build_modrm_byte");" (call_expression "FUN_0011dd00("../../gas/config/tc-i386.c",0x1c44,"build_modrm_byte")" identifier (argument_list "("../../gas/config/tc-i386.c",0x1c44,"build_modrm_byte")" ( (string_literal ""../../gas/config/tc-i386.c"" " string_content ") , number_literal , (string_literal ""build_modrm_byte"" " string_content ") ))) ;) })) (expression_statement "uVar17 = uVar15 + 1;" (assignment_expression "uVar17 = uVar15 + 1" identifier = (binary_expression "uVar15 + 1" identifier + number_literal)) ;) (expression_statement "uVar18 = (ulong)uVar17;" (assignment_expression "uVar18 = (ulong)uVar17" identifier = (cast_expression "(ulong)uVar17" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "uVar9 = uVar20;" (assignment_expression "uVar9 = uVar20" identifier = identifier) ;) (if_statement "if (uVar22 < uVar15) {\n            if (DAT_001e3c24 <= uVar17) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c49,"build_modrm_byte");\n            }\n          }\n          else if ((((&DAT_001e3bf6)[uVar20 * 8] & 0x40) == 0) &&\n                  (((&DAT_001e3bf6)[uVar18 * 8] & 0x40) != 0)) {\n            if ((DAT_001e3c24 <= uVar15 + 2) || (uVar22 != uVar17)) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c55,"build_modrm_byte");\n            }\n            uVar18 = (ulong)(uVar15 + 2);\n          }\n          else {\n            uVar9 = uVar18;\n            uVar18 = uVar20;\n            uVar15 = uVar17;\n            if (DAT_001e3c24 <= uVar17) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c5a,"build_modrm_byte");\n            }\n          }" if (parenthesized_expression "(uVar22 < uVar15)" ( (binary_expression "uVar22 < uVar15" identifier < identifier) )) (compound_statement "{\n            if (DAT_001e3c24 <= uVar17) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c49,"build_modrm_byte");\n            }\n          }" { (if_statement "if (DAT_001e3c24 <= uVar17) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c49,"build_modrm_byte");\n            }" if (parenthesized_expression "(DAT_001e3c24 <= uVar17)" ( (binary_expression "DAT_001e3c24 <= uVar17" identifier <= identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c49,"build_modrm_byte");\n            }" { comment (expression_statement "FUN_0011dd00("../../gas/config/tc-i386.c",0x1c49,"build_modrm_byte");" (call_expression "FUN_0011dd00("../../gas/config/tc-i386.c",0x1c49,"build_modrm_byte")" identifier (argument_list "("../../gas/config/tc-i386.c",0x1c49,"build_modrm_byte")" ( (string_literal ""../../gas/config/tc-i386.c"" " string_content ") , number_literal , (string_literal ""build_modrm_byte"" " string_content ") ))) ;) })) }) (else_clause "else if ((((&DAT_001e3bf6)[uVar20 * 8] & 0x40) == 0) &&\n                  (((&DAT_001e3bf6)[uVar18 * 8] & 0x40) != 0)) {\n            if ((DAT_001e3c24 <= uVar15 + 2) || (uVar22 != uVar17)) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c55,"build_modrm_byte");\n            }\n            uVar18 = (ulong)(uVar15 + 2);\n          }\n          else {\n            uVar9 = uVar18;\n            uVar18 = uVar20;\n            uVar15 = uVar17;\n            if (DAT_001e3c24 <= uVar17) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c5a,"build_modrm_byte");\n            }\n          }" else (if_statement "if ((((&DAT_001e3bf6)[uVar20 * 8] & 0x40) == 0) &&\n                  (((&DAT_001e3bf6)[uVar18 * 8] & 0x40) != 0)) {\n            if ((DAT_001e3c24 <= uVar15 + 2) || (uVar22 != uVar17)) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c55,"build_modrm_byte");\n            }\n            uVar18 = (ulong)(uVar15 + 2);\n          }\n          else {\n            uVar9 = uVar18;\n            uVar18 = uVar20;\n            uVar15 = uVar17;\n            if (DAT_001e3c24 <= uVar17) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c5a,"build_modrm_byte");\n            }\n          }" if (parenthesized_expression "((((&DAT_001e3bf6)[uVar20 * 8] & 0x40) == 0) &&\n                  (((&DAT_001e3bf6)[uVar18 * 8] & 0x40) != 0))" ( (binary_expression "(((&DAT_001e3bf6)[uVar20 * 8] & 0x40) == 0) &&\n                  (((&DAT_001e3bf6)[uVar18 * 8] & 0x40) != 0)" (parenthesized_expression "(((&DAT_001e3bf6)[uVar20 * 8] & 0x40) == 0)" ( (binary_expression "((&DAT_001e3bf6)[uVar20 * 8] & 0x40) == 0" (parenthesized_expression "((&DAT_001e3bf6)[uVar20 * 8] & 0x40)" ( (binary_expression "(&DAT_001e3bf6)[uVar20 * 8] & 0x40" (subscript_expression "(&DAT_001e3bf6)[uVar20 * 8]" (parenthesized_expression "(&DAT_001e3bf6)" ( (pointer_expression "&DAT_001e3bf6" & identifier) )) [ (binary_expression "uVar20 * 8" identifier * number_literal) ]) & number_literal) )) == number_literal) )) && (parenthesized_expression "(((&DAT_001e3bf6)[uVar18 * 8] & 0x40) != 0)" ( (binary_expression "((&DAT_001e3bf6)[uVar18 * 8] & 0x40) != 0" (parenthesized_expression "((&DAT_001e3bf6)[uVar18 * 8] & 0x40)" ( (binary_expression "(&DAT_001e3bf6)[uVar18 * 8] & 0x40" (subscript_expression "(&DAT_001e3bf6)[uVar18 * 8]" (parenthesized_expression "(&DAT_001e3bf6)" ( (pointer_expression "&DAT_001e3bf6" & identifier) )) [ (binary_expression "uVar18 * 8" identifier * number_literal) ]) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n            if ((DAT_001e3c24 <= uVar15 + 2) || (uVar22 != uVar17)) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c55,"build_modrm_byte");\n            }\n            uVar18 = (ulong)(uVar15 + 2);\n          }" { (if_statement "if ((DAT_001e3c24 <= uVar15 + 2) || (uVar22 != uVar17)) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c55,"build_modrm_byte");\n            }" if (parenthesized_expression "((DAT_001e3c24 <= uVar15 + 2) || (uVar22 != uVar17))" ( (binary_expression "(DAT_001e3c24 <= uVar15 + 2) || (uVar22 != uVar17)" (parenthesized_expression "(DAT_001e3c24 <= uVar15 + 2)" ( (binary_expression "DAT_001e3c24 <= uVar15 + 2" identifier <= (binary_expression "uVar15 + 2" identifier + number_literal)) )) || (parenthesized_expression "(uVar22 != uVar17)" ( (binary_expression "uVar22 != uVar17" identifier != identifier) ))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c55,"build_modrm_byte");\n            }" { comment (expression_statement "FUN_0011dd00("../../gas/config/tc-i386.c",0x1c55,"build_modrm_byte");" (call_expression "FUN_0011dd00("../../gas/config/tc-i386.c",0x1c55,"build_modrm_byte")" identifier (argument_list "("../../gas/config/tc-i386.c",0x1c55,"build_modrm_byte")" ( (string_literal ""../../gas/config/tc-i386.c"" " string_content ") , number_literal , (string_literal ""build_modrm_byte"" " string_content ") ))) ;) })) (expression_statement "uVar18 = (ulong)(uVar15 + 2);" (assignment_expression "uVar18 = (ulong)(uVar15 + 2)" identifier = (call_expression "(ulong)(uVar15 + 2)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar15 + 2)" ( (binary_expression "uVar15 + 2" identifier + number_literal) )))) ;) }) (else_clause "else {\n            uVar9 = uVar18;\n            uVar18 = uVar20;\n            uVar15 = uVar17;\n            if (DAT_001e3c24 <= uVar17) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c5a,"build_modrm_byte");\n            }\n          }" else (compound_statement "{\n            uVar9 = uVar18;\n            uVar18 = uVar20;\n            uVar15 = uVar17;\n            if (DAT_001e3c24 <= uVar17) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c5a,"build_modrm_byte");\n            }\n          }" { (expression_statement "uVar9 = uVar18;" (assignment_expression "uVar9 = uVar18" identifier = identifier) ;) (expression_statement "uVar18 = uVar20;" (assignment_expression "uVar18 = uVar20" identifier = identifier) ;) (expression_statement "uVar15 = uVar17;" (assignment_expression "uVar15 = uVar17" identifier = identifier) ;) (if_statement "if (DAT_001e3c24 <= uVar17) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c5a,"build_modrm_byte");\n            }" if (parenthesized_expression "(DAT_001e3c24 <= uVar17)" ( (binary_expression "DAT_001e3c24 <= uVar17" identifier <= identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c5a,"build_modrm_byte");\n            }" { comment (expression_statement "FUN_0011dd00("../../gas/config/tc-i386.c",0x1c5a,"build_modrm_byte");" (call_expression "FUN_0011dd00("../../gas/config/tc-i386.c",0x1c5a,"build_modrm_byte")" identifier (argument_list "("../../gas/config/tc-i386.c",0x1c5a,"build_modrm_byte")" ( (string_literal ""../../gas/config/tc-i386.c"" " string_content ") , number_literal , (string_literal ""build_modrm_byte"" " string_content ") ))) ;) })) }))))) (labeled_statement "LAB_00133e49:\n          lVar13 = uVar9 + 6;" statement_identifier : (expression_statement "lVar13 = uVar9 + 6;" (assignment_expression "lVar13 = uVar9 + 6" identifier = (binary_expression "uVar9 + 6" identifier + number_literal)) ;)) (expression_statement "bVar21 = *(byte *)((long)&DAT_001e3bc0 + lVar13 * 8 + 4);" (assignment_expression "bVar21 = *(byte *)((long)&DAT_001e3bc0 + lVar13 * 8 + 4)" identifier = (pointer_expression "*(byte *)((long)&DAT_001e3bc0 + lVar13 * 8 + 4)" * (cast_expression "(byte *)((long)&DAT_001e3bc0 + lVar13 * 8 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&DAT_001e3bc0 + lVar13 * 8 + 4)" ( (binary_expression "(long)&DAT_001e3bc0 + lVar13 * 8 + 4" (binary_expression "(long)&DAT_001e3bc0 + lVar13 * 8" (cast_expression "(long)&DAT_001e3bc0" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&DAT_001e3bc0" & identifier)) + (binary_expression "lVar13 * 8" identifier * number_literal)) + number_literal) ))))) ;) (if_statement "if ((((bVar21 & 1) == 0) ||\n              ((-1 < *(char *)((long)&DAT_001e3bc0 + lVar13 * 8 + 7) &&\n               ((*(byte *)(&DAT_001e3bc8 + lVar13 * 2) & 2) == 0)))) &&\n             (((bVar21 & 4) == 0 &&\n              ((*(uint *)(&DAT_001e3bf8 + uVar9 * 8) != DAT_00153a54 ||\n               (*(int *)(&DAT_001e3bf4 + uVar9 * 8) != DAT_00153a50)))))) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1c7b,"build_modrm_byte");\n          }" if (parenthesized_expression "((((bVar21 & 1) == 0) ||\n              ((-1 < *(char *)((long)&DAT_001e3bc0 + lVar13 * 8 + 7) &&\n               ((*(byte *)(&DAT_001e3bc8 + lVar13 * 2) & 2) == 0)))) &&\n             (((bVar21 & 4) == 0 &&\n              ((*(uint *)(&DAT_001e3bf8 + uVar9 * 8) != DAT_00153a54 ||\n               (*(int *)(&DAT_001e3bf4 + uVar9 * 8) != DAT_00153a50))))))" ( (binary_expression "(((bVar21 & 1) == 0) ||\n              ((-1 < *(char *)((long)&DAT_001e3bc0 + lVar13 * 8 + 7) &&\n               ((*(byte *)(&DAT_001e3bc8 + lVar13 * 2) & 2) == 0)))) &&\n             (((bVar21 & 4) == 0 &&\n              ((*(uint *)(&DAT_001e3bf8 + uVar9 * 8) != DAT_00153a54 ||\n               (*(int *)(&DAT_001e3bf4 + uVar9 * 8) != DAT_00153a50)))))" (parenthesized_expression "(((bVar21 & 1) == 0) ||\n              ((-1 < *(char *)((long)&DAT_001e3bc0 + lVar13 * 8 + 7) &&\n               ((*(byte *)(&DAT_001e3bc8 + lVar13 * 2) & 2) == 0))))" ( (binary_expression "((bVar21 & 1) == 0) ||\n              ((-1 < *(char *)((long)&DAT_001e3bc0 + lVar13 * 8 + 7) &&\n               ((*(byte *)(&DAT_001e3bc8 + lVar13 * 2) & 2) == 0)))" (parenthesized_expression "((bVar21 & 1) == 0)" ( (binary_expression "(bVar21 & 1) == 0" (parenthesized_expression "(bVar21 & 1)" ( (binary_expression "bVar21 & 1" identifier & number_literal) )) == number_literal) )) || (parenthesized_expression "((-1 < *(char *)((long)&DAT_001e3bc0 + lVar13 * 8 + 7) &&\n               ((*(byte *)(&DAT_001e3bc8 + lVar13 * 2) & 2) == 0)))" ( (parenthesized_expression "(-1 < *(char *)((long)&DAT_001e3bc0 + lVar13 * 8 + 7) &&\n               ((*(byte *)(&DAT_001e3bc8 + lVar13 * 2) & 2) == 0))" ( (binary_expression "-1 < *(char *)((long)&DAT_001e3bc0 + lVar13 * 8 + 7) &&\n               ((*(byte *)(&DAT_001e3bc8 + lVar13 * 2) & 2) == 0)" (binary_expression "-1 < *(char *)((long)&DAT_001e3bc0 + lVar13 * 8 + 7)" number_literal < (pointer_expression "*(char *)((long)&DAT_001e3bc0 + lVar13 * 8 + 7)" * (cast_expression "(char *)((long)&DAT_001e3bc0 + lVar13 * 8 + 7)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&DAT_001e3bc0 + lVar13 * 8 + 7)" ( (binary_expression "(long)&DAT_001e3bc0 + lVar13 * 8 + 7" (binary_expression "(long)&DAT_001e3bc0 + lVar13 * 8" (cast_expression "(long)&DAT_001e3bc0" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&DAT_001e3bc0" & identifier)) + (binary_expression "lVar13 * 8" identifier * number_literal)) + number_literal) ))))) && (parenthesized_expression "((*(byte *)(&DAT_001e3bc8 + lVar13 * 2) & 2) == 0)" ( (binary_expression "(*(byte *)(&DAT_001e3bc8 + lVar13 * 2) & 2) == 0" (parenthesized_expression "(*(byte *)(&DAT_001e3bc8 + lVar13 * 2) & 2)" ( (binary_expression "*(byte *)(&DAT_001e3bc8 + lVar13 * 2) & 2" (pointer_expression "*(byte *)(&DAT_001e3bc8 + lVar13 * 2)" * (cast_expression "(byte *)(&DAT_001e3bc8 + lVar13 * 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001e3bc8 + lVar13 * 2)" ( (binary_expression "&DAT_001e3bc8 + lVar13 * 2" (pointer_expression "&DAT_001e3bc8" & identifier) + (binary_expression "lVar13 * 2" identifier * number_literal)) )))) & number_literal) )) == number_literal) ))) )) ))) )) && (parenthesized_expression "(((bVar21 & 4) == 0 &&\n              ((*(uint *)(&DAT_001e3bf8 + uVar9 * 8) != DAT_00153a54 ||\n               (*(int *)(&DAT_001e3bf4 + uVar9 * 8) != DAT_00153a50)))))" ( (parenthesized_expression "((bVar21 & 4) == 0 &&\n              ((*(uint *)(&DAT_001e3bf8 + uVar9 * 8) != DAT_00153a54 ||\n               (*(int *)(&DAT_001e3bf4 + uVar9 * 8) != DAT_00153a50))))" ( (binary_expression "(bVar21 & 4) == 0 &&\n              ((*(uint *)(&DAT_001e3bf8 + uVar9 * 8) != DAT_00153a54 ||\n               (*(int *)(&DAT_001e3bf4 + uVar9 * 8) != DAT_00153a50)))" (binary_expression "(bVar21 & 4) == 0" (parenthesized_expression "(bVar21 & 4)" ( (binary_expression "bVar21 & 4" identifier & number_literal) )) == number_literal) && (parenthesized_expression "((*(uint *)(&DAT_001e3bf8 + uVar9 * 8) != DAT_00153a54 ||\n               (*(int *)(&DAT_001e3bf4 + uVar9 * 8) != DAT_00153a50)))" ( (parenthesized_expression "(*(uint *)(&DAT_001e3bf8 + uVar9 * 8) != DAT_00153a54 ||\n               (*(int *)(&DAT_001e3bf4 + uVar9 * 8) != DAT_00153a50))" ( (binary_expression "*(uint *)(&DAT_001e3bf8 + uVar9 * 8) != DAT_00153a54 ||\n               (*(int *)(&DAT_001e3bf4 + uVar9 * 8) != DAT_00153a50)" (binary_expression "*(uint *)(&DAT_001e3bf8 + uVar9 * 8) != DAT_00153a54" (pointer_expression "*(uint *)(&DAT_001e3bf8 + uVar9 * 8)" * (cast_expression "(uint *)(&DAT_001e3bf8 + uVar9 * 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001e3bf8 + uVar9 * 8)" ( (binary_expression "&DAT_001e3bf8 + uVar9 * 8" (pointer_expression "&DAT_001e3bf8" & identifier) + (binary_expression "uVar9 * 8" identifier * number_literal)) )))) != identifier) || (parenthesized_expression "(*(int *)(&DAT_001e3bf4 + uVar9 * 8) != DAT_00153a50)" ( (binary_expression "*(int *)(&DAT_001e3bf4 + uVar9 * 8) != DAT_00153a50" (pointer_expression "*(int *)(&DAT_001e3bf4 + uVar9 * 8)" * (cast_expression "(int *)(&DAT_001e3bf4 + uVar9 * 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001e3bf4 + uVar9 * 8)" ( (binary_expression "&DAT_001e3bf4 + uVar9 * 8" (pointer_expression "&DAT_001e3bf4" & identifier) + (binary_expression "uVar9 * 8" identifier * number_literal)) )))) != identifier) ))) )) ))) )) ))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1c7b,"build_modrm_byte");\n          }" { comment (expression_statement "FUN_0011dd00("../../gas/config/tc-i386.c",0x1c7b,"build_modrm_byte");" (call_expression "FUN_0011dd00("../../gas/config/tc-i386.c",0x1c7b,"build_modrm_byte")" identifier (argument_list "("../../gas/config/tc-i386.c",0x1c7b,"build_modrm_byte")" ( (string_literal ""../../gas/config/tc-i386.c"" " string_content ") , number_literal , (string_literal ""build_modrm_byte"" " string_content ") ))) ;) })) (expression_statement "DAT_001e3d18 = (&DAT_001e3c60)[uVar9];" (assignment_expression "DAT_001e3d18 = (&DAT_001e3c60)[uVar9]" identifier = (subscript_expression "(&DAT_001e3c60)[uVar9]" (parenthesized_expression "(&DAT_001e3c60)" ( (pointer_expression "&DAT_001e3c60" & identifier) )) [ identifier ])) ;) (expression_statement "uVar20 = uVar18;" (assignment_expression "uVar20 = uVar18" identifier = identifier) ;) (goto_statement "goto LAB_00133b96;" goto statement_identifier ;) })) (if_statement "if (bVar21 == 0x10) {\n          if (DAT_001e3c30 == 0) {\n            if (DAT_001e3c24 != uVar15 + 2) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c65,"build_modrm_byte");\n            }\n            uVar9 = (ulong)(uVar15 + 1);\n            uVar15 = uVar15 + 1;\n          }\n          else {\n            if ((DAT_001e3c34 + 2 <= uVar15) || (DAT_001e3c24 != DAT_001e3c34 + 2)) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c6c,"build_modrm_byte");\n            }\n            uVar15 = DAT_001e3c34 + 1;\n            if (uVar15 == 0xffffffff) goto LAB_001336a6;\n            uVar9 = (ulong)uVar15;\n          }\n          goto LAB_00133e49;\n        }" if (parenthesized_expression "(bVar21 == 0x10)" ( (binary_expression "bVar21 == 0x10" identifier == number_literal) )) (compound_statement "{\n          if (DAT_001e3c30 == 0) {\n            if (DAT_001e3c24 != uVar15 + 2) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c65,"build_modrm_byte");\n            }\n            uVar9 = (ulong)(uVar15 + 1);\n            uVar15 = uVar15 + 1;\n          }\n          else {\n            if ((DAT_001e3c34 + 2 <= uVar15) || (DAT_001e3c24 != DAT_001e3c34 + 2)) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c6c,"build_modrm_byte");\n            }\n            uVar15 = DAT_001e3c34 + 1;\n            if (uVar15 == 0xffffffff) goto LAB_001336a6;\n            uVar9 = (ulong)uVar15;\n          }\n          goto LAB_00133e49;\n        }" { (if_statement "if (DAT_001e3c30 == 0) {\n            if (DAT_001e3c24 != uVar15 + 2) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c65,"build_modrm_byte");\n            }\n            uVar9 = (ulong)(uVar15 + 1);\n            uVar15 = uVar15 + 1;\n          }\n          else {\n            if ((DAT_001e3c34 + 2 <= uVar15) || (DAT_001e3c24 != DAT_001e3c34 + 2)) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c6c,"build_modrm_byte");\n            }\n            uVar15 = DAT_001e3c34 + 1;\n            if (uVar15 == 0xffffffff) goto LAB_001336a6;\n            uVar9 = (ulong)uVar15;\n          }" if (parenthesized_expression "(DAT_001e3c30 == 0)" ( (binary_expression "DAT_001e3c30 == 0" identifier == number_literal) )) (compound_statement "{\n            if (DAT_001e3c24 != uVar15 + 2) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c65,"build_modrm_byte");\n            }\n            uVar9 = (ulong)(uVar15 + 1);\n            uVar15 = uVar15 + 1;\n          }" { (if_statement "if (DAT_001e3c24 != uVar15 + 2) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c65,"build_modrm_byte");\n            }" if (parenthesized_expression "(DAT_001e3c24 != uVar15 + 2)" ( (binary_expression "DAT_001e3c24 != uVar15 + 2" identifier != (binary_expression "uVar15 + 2" identifier + number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c65,"build_modrm_byte");\n            }" { comment (expression_statement "FUN_0011dd00("../../gas/config/tc-i386.c",0x1c65,"build_modrm_byte");" (call_expression "FUN_0011dd00("../../gas/config/tc-i386.c",0x1c65,"build_modrm_byte")" identifier (argument_list "("../../gas/config/tc-i386.c",0x1c65,"build_modrm_byte")" ( (string_literal ""../../gas/config/tc-i386.c"" " string_content ") , number_literal , (string_literal ""build_modrm_byte"" " string_content ") ))) ;) })) (expression_statement "uVar9 = (ulong)(uVar15 + 1);" (assignment_expression "uVar9 = (ulong)(uVar15 + 1)" identifier = (call_expression "(ulong)(uVar15 + 1)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar15 + 1)" ( (binary_expression "uVar15 + 1" identifier + number_literal) )))) ;) (expression_statement "uVar15 = uVar15 + 1;" (assignment_expression "uVar15 = uVar15 + 1" identifier = (binary_expression "uVar15 + 1" identifier + number_literal)) ;) }) (else_clause "else {\n            if ((DAT_001e3c34 + 2 <= uVar15) || (DAT_001e3c24 != DAT_001e3c34 + 2)) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c6c,"build_modrm_byte");\n            }\n            uVar15 = DAT_001e3c34 + 1;\n            if (uVar15 == 0xffffffff) goto LAB_001336a6;\n            uVar9 = (ulong)uVar15;\n          }" else (compound_statement "{\n            if ((DAT_001e3c34 + 2 <= uVar15) || (DAT_001e3c24 != DAT_001e3c34 + 2)) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c6c,"build_modrm_byte");\n            }\n            uVar15 = DAT_001e3c34 + 1;\n            if (uVar15 == 0xffffffff) goto LAB_001336a6;\n            uVar9 = (ulong)uVar15;\n          }" { (if_statement "if ((DAT_001e3c34 + 2 <= uVar15) || (DAT_001e3c24 != DAT_001e3c34 + 2)) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c6c,"build_modrm_byte");\n            }" if (parenthesized_expression "((DAT_001e3c34 + 2 <= uVar15) || (DAT_001e3c24 != DAT_001e3c34 + 2))" ( (binary_expression "(DAT_001e3c34 + 2 <= uVar15) || (DAT_001e3c24 != DAT_001e3c34 + 2)" (parenthesized_expression "(DAT_001e3c34 + 2 <= uVar15)" ( (binary_expression "DAT_001e3c34 + 2 <= uVar15" (binary_expression "DAT_001e3c34 + 2" identifier + number_literal) <= identifier) )) || (parenthesized_expression "(DAT_001e3c24 != DAT_001e3c34 + 2)" ( (binary_expression "DAT_001e3c24 != DAT_001e3c34 + 2" identifier != (binary_expression "DAT_001e3c34 + 2" identifier + number_literal)) ))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c6c,"build_modrm_byte");\n            }" { comment (expression_statement "FUN_0011dd00("../../gas/config/tc-i386.c",0x1c6c,"build_modrm_byte");" (call_expression "FUN_0011dd00("../../gas/config/tc-i386.c",0x1c6c,"build_modrm_byte")" identifier (argument_list "("../../gas/config/tc-i386.c",0x1c6c,"build_modrm_byte")" ( (string_literal ""../../gas/config/tc-i386.c"" " string_content ") , number_literal , (string_literal ""build_modrm_byte"" " string_content ") ))) ;) })) (expression_statement "uVar15 = DAT_001e3c34 + 1;" (assignment_expression "uVar15 = DAT_001e3c34 + 1" identifier = (binary_expression "DAT_001e3c34 + 1" identifier + number_literal)) ;) (if_statement "if (uVar15 == 0xffffffff) goto LAB_001336a6;" if (parenthesized_expression "(uVar15 == 0xffffffff)" ( (binary_expression "uVar15 == 0xffffffff" identifier == number_literal) )) (goto_statement "goto LAB_001336a6;" goto statement_identifier ;)) (expression_statement "uVar9 = (ulong)uVar15;" (assignment_expression "uVar9 = (ulong)uVar15" identifier = (cast_expression "(ulong)uVar15" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) }))) (goto_statement "goto LAB_00133e49;" goto statement_identifier ;) })) (if_statement "if (DAT_001e3c24 <= uVar15) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0011dd00("../../gas/config/tc-i386.c",0x1c71,"build_modrm_byte");\n        }" if (parenthesized_expression "(DAT_001e3c24 <= uVar15)" ( (binary_expression "DAT_001e3c24 <= uVar15" identifier <= identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n          FUN_0011dd00("../../gas/config/tc-i386.c",0x1c71,"build_modrm_byte");\n        }" { comment (expression_statement "FUN_0011dd00("../../gas/config/tc-i386.c",0x1c71,"build_modrm_byte");" (call_expression "FUN_0011dd00("../../gas/config/tc-i386.c",0x1c71,"build_modrm_byte")" identifier (argument_list "("../../gas/config/tc-i386.c",0x1c71,"build_modrm_byte")" ( (string_literal ""../../gas/config/tc-i386.c"" " string_content ") , number_literal , (string_literal ""build_modrm_byte"" " string_content ") ))) ;) })) (labeled_statement "LAB_001336a6:\n        if (DAT_001e3bd0 == 0xffff) {\n          DAT_001e3cf0 = (uint)*(byte *)((&DAT_001e3c60)[uVar20] + 0x11);\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar20] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 4;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 4;\n          }\n          if (DAT_001e3c30 == 0) {\n            DAT_001e3cf4 = 3;\n            return puVar10;\n          }\n          return puVar10;\n        }" statement_identifier : (if_statement "if (DAT_001e3bd0 == 0xffff) {\n          DAT_001e3cf0 = (uint)*(byte *)((&DAT_001e3c60)[uVar20] + 0x11);\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar20] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 4;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 4;\n          }\n          if (DAT_001e3c30 == 0) {\n            DAT_001e3cf4 = 3;\n            return puVar10;\n          }\n          return puVar10;\n        }" if (parenthesized_expression "(DAT_001e3bd0 == 0xffff)" ( (binary_expression "DAT_001e3bd0 == 0xffff" identifier == number_literal) )) (compound_statement "{\n          DAT_001e3cf0 = (uint)*(byte *)((&DAT_001e3c60)[uVar20] + 0x11);\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar20] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 4;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 4;\n          }\n          if (DAT_001e3c30 == 0) {\n            DAT_001e3cf4 = 3;\n            return puVar10;\n          }\n          return puVar10;\n        }" { (expression_statement "DAT_001e3cf0 = (uint)*(byte *)((&DAT_001e3c60)[uVar20] + 0x11);" (assignment_expression "DAT_001e3cf0 = (uint)*(byte *)((&DAT_001e3c60)[uVar20] + 0x11)" identifier = (binary_expression "(uint)*(byte *)((&DAT_001e3c60)[uVar20] + 0x11)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)((&DAT_001e3c60)[uVar20] + 0x11)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((&DAT_001e3c60)[uVar20] + 0x11)" ( (binary_expression "(&DAT_001e3c60)[uVar20] + 0x11" (subscript_expression "(&DAT_001e3c60)[uVar20]" (parenthesized_expression "(&DAT_001e3c60)" ( (pointer_expression "&DAT_001e3c60" & identifier) )) [ identifier ]) + number_literal) ))))) ;) (expression_statement "bVar21 = *(byte *)((&DAT_001e3c60)[uVar20] + 0x10);" (assignment_expression "bVar21 = *(byte *)((&DAT_001e3c60)[uVar20] + 0x10)" identifier = (pointer_expression "*(byte *)((&DAT_001e3c60)[uVar20] + 0x10)" * (cast_expression "(byte *)((&DAT_001e3c60)[uVar20] + 0x10)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((&DAT_001e3c60)[uVar20] + 0x10)" ( (binary_expression "(&DAT_001e3c60)[uVar20] + 0x10" (subscript_expression "(&DAT_001e3c60)[uVar20]" (parenthesized_expression "(&DAT_001e3c60)" ( (pointer_expression "&DAT_001e3c60" & identifier) )) [ identifier ]) + number_literal) ))))) ;) (if_statement "if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 4;\n          }" if (parenthesized_expression "((bVar21 & 1) != 0)" ( (binary_expression "(bVar21 & 1) != 0" (parenthesized_expression "(bVar21 & 1)" ( (binary_expression "bVar21 & 1" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n            DAT_001e3cf8 = DAT_001e3cf8 | 4;\n          }" { (expression_statement "DAT_001e3cf8 = DAT_001e3cf8 | 4;" (assignment_expression "DAT_001e3cf8 = DAT_001e3cf8 | 4" identifier = (binary_expression "DAT_001e3cf8 | 4" identifier | number_literal)) ;) })) (if_statement "if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 4;\n          }" if (parenthesized_expression "((bVar21 & 4) != 0)" ( (binary_expression "(bVar21 & 4) != 0" (parenthesized_expression "(bVar21 & 4)" ( (binary_expression "bVar21 & 4" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n            DAT_001e3cfc = DAT_001e3cfc | 4;\n          }" { (expression_statement "DAT_001e3cfc = DAT_001e3cfc | 4;" (assignment_expression "DAT_001e3cfc = DAT_001e3cfc | 4" identifier = (binary_expression "DAT_001e3cfc | 4" identifier | number_literal)) ;) })) (if_statement "if (DAT_001e3c30 == 0) {\n            DAT_001e3cf4 = 3;\n            return puVar10;\n          }" if (parenthesized_expression "(DAT_001e3c30 == 0)" ( (binary_expression "DAT_001e3c30 == 0" identifier == number_literal) )) (compound_statement "{\n            DAT_001e3cf4 = 3;\n            return puVar10;\n          }" { (expression_statement "DAT_001e3cf4 = 3;" (assignment_expression "DAT_001e3cf4 = 3" identifier = number_literal) ;) (return_statement "return puVar10;" return identifier ;) })) (return_statement "return puVar10;" return identifier ;) }))) (expression_statement "DAT_001e3cec = (uint)*(byte *)((&DAT_001e3c60)[uVar20] + 0x11);" (assignment_expression "DAT_001e3cec = (uint)*(byte *)((&DAT_001e3c60)[uVar20] + 0x11)" identifier = (binary_expression "(uint)*(byte *)((&DAT_001e3c60)[uVar20] + 0x11)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)((&DAT_001e3c60)[uVar20] + 0x11)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((&DAT_001e3c60)[uVar20] + 0x11)" ( (binary_expression "(&DAT_001e3c60)[uVar20] + 0x11" (subscript_expression "(&DAT_001e3c60)[uVar20]" (parenthesized_expression "(&DAT_001e3c60)" ( (pointer_expression "&DAT_001e3c60" & identifier) )) [ identifier ]) + number_literal) ))))) ;) (expression_statement "bVar21 = *(byte *)((&DAT_001e3c60)[uVar20] + 0x10);" (assignment_expression "bVar21 = *(byte *)((&DAT_001e3c60)[uVar20] + 0x10)" identifier = (pointer_expression "*(byte *)((&DAT_001e3c60)[uVar20] + 0x10)" * (cast_expression "(byte *)((&DAT_001e3c60)[uVar20] + 0x10)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((&DAT_001e3c60)[uVar20] + 0x10)" ( (binary_expression "(&DAT_001e3c60)[uVar20] + 0x10" (subscript_expression "(&DAT_001e3c60)[uVar20]" (parenthesized_expression "(&DAT_001e3c60)" ( (pointer_expression "&DAT_001e3c60" & identifier) )) [ identifier ]) + number_literal) ))))) ;) (if_statement "if ((bVar21 & 1) != 0) {\n          DAT_001e3cf8 = DAT_001e3cf8 | 1;\n        }" if (parenthesized_expression "((bVar21 & 1) != 0)" ( (binary_expression "(bVar21 & 1) != 0" (parenthesized_expression "(bVar21 & 1)" ( (binary_expression "bVar21 & 1" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n          DAT_001e3cf8 = DAT_001e3cf8 | 1;\n        }" { (expression_statement "DAT_001e3cf8 = DAT_001e3cf8 | 1;" (assignment_expression "DAT_001e3cf8 = DAT_001e3cf8 | 1" identifier = (binary_expression "DAT_001e3cf8 | 1" identifier | number_literal)) ;) })) (if_statement "if ((bVar21 & 4) != 0) {\n          DAT_001e3cfc = DAT_001e3cfc | 1;\n        }" if (parenthesized_expression "((bVar21 & 4) != 0)" ( (binary_expression "(bVar21 & 4) != 0" (parenthesized_expression "(bVar21 & 4)" ( (binary_expression "bVar21 & 4" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n          DAT_001e3cfc = DAT_001e3cfc | 1;\n        }" { (expression_statement "DAT_001e3cfc = DAT_001e3cfc | 1;" (assignment_expression "DAT_001e3cfc = DAT_001e3cfc | 1" identifier = (binary_expression "DAT_001e3cfc | 1" identifier | number_literal)) ;) })) (if_statement "if (DAT_001e3c30 != 0) {\n          DAT_001e3cf0 = DAT_001e3bd0;\n          return puVar10;\n        }" if (parenthesized_expression "(DAT_001e3c30 != 0)" ( (binary_expression "DAT_001e3c30 != 0" identifier != number_literal) )) (compound_statement "{\n          DAT_001e3cf0 = DAT_001e3bd0;\n          return puVar10;\n        }" { (expression_statement "DAT_001e3cf0 = DAT_001e3bd0;" (assignment_expression "DAT_001e3cf0 = DAT_001e3bd0" identifier = identifier) ;) (return_statement "return puVar10;" return identifier ;) })) }))) (expression_statement "DAT_001e3cf4 = 3;" (assignment_expression "DAT_001e3cf4 = 3" identifier = number_literal) ;) (goto_statement "goto LAB_001330bc;" goto statement_identifier ;) })) (expression_statement "DAT_001e3d18 = DAT_001e3c70;" (assignment_expression "DAT_001e3d18 = DAT_001e3c70" identifier = identifier) ;) (if_statement "if (DAT_001e3c30 != 0) goto LAB_001330bc;" if (parenthesized_expression "(DAT_001e3c30 != 0)" ( (binary_expression "DAT_001e3c30 != 0" identifier != number_literal) )) (goto_statement "goto LAB_001330bc;" goto statement_identifier ;)) (expression_statement "bVar21 = *(byte *)(DAT_001e3c68 + 0x11);" (assignment_expression "bVar21 = *(byte *)(DAT_001e3c68 + 0x11)" identifier = (pointer_expression "*(byte *)(DAT_001e3c68 + 0x11)" * (cast_expression "(byte *)(DAT_001e3c68 + 0x11)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_001e3c68 + 0x11)" ( (binary_expression "DAT_001e3c68 + 0x11" identifier + number_literal) ))))) ;) (expression_statement "bVar19 = *(byte *)(DAT_001e3c68 + 0x10);" (assignment_expression "bVar19 = *(byte *)(DAT_001e3c68 + 0x10)" identifier = (pointer_expression "*(byte *)(DAT_001e3c68 + 0x10)" * (cast_expression "(byte *)(DAT_001e3c68 + 0x10)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_001e3c68 + 0x10)" ( (binary_expression "DAT_001e3c68 + 0x10" identifier + number_literal) ))))) ;) })))) (expression_statement "DAT_001e3cec = (uint)bVar21;" (assignment_expression "DAT_001e3cec = (uint)bVar21" identifier = (cast_expression "(uint)bVar21" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "DAT_001e3cf4 = 3;" (assignment_expression "DAT_001e3cf4 = 3" identifier = number_literal) ;) (if_statement "if ((bVar19 & 1) != 0) {\n    DAT_001e3cf4 = 3;\n    DAT_001e3cf8 = DAT_001e3cf8 | 1;\n  }" if (parenthesized_expression "((bVar19 & 1) != 0)" ( (binary_expression "(bVar19 & 1) != 0" (parenthesized_expression "(bVar19 & 1)" ( (binary_expression "bVar19 & 1" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n    DAT_001e3cf4 = 3;\n    DAT_001e3cf8 = DAT_001e3cf8 | 1;\n  }" { (expression_statement "DAT_001e3cf4 = 3;" (assignment_expression "DAT_001e3cf4 = 3" identifier = number_literal) ;) (expression_statement "DAT_001e3cf8 = DAT_001e3cf8 | 1;" (assignment_expression "DAT_001e3cf8 = DAT_001e3cf8 | 1" identifier = (binary_expression "DAT_001e3cf8 | 1" identifier | number_literal)) ;) })) (labeled_statement "LAB_001330bc:\n  if (DAT_001e3bd0 != 0xffff) {\n    DAT_001e3cf0 = DAT_001e3bd0;\n    return puVar10;\n  }" statement_identifier : (if_statement "if (DAT_001e3bd0 != 0xffff) {\n    DAT_001e3cf0 = DAT_001e3bd0;\n    return puVar10;\n  }" if (parenthesized_expression "(DAT_001e3bd0 != 0xffff)" ( (binary_expression "DAT_001e3bd0 != 0xffff" identifier != number_literal) )) (compound_statement "{\n    DAT_001e3cf0 = DAT_001e3bd0;\n    return puVar10;\n  }" { (expression_statement "DAT_001e3cf0 = DAT_001e3bd0;" (assignment_expression "DAT_001e3cf0 = DAT_001e3bd0" identifier = identifier) ;) (return_statement "return puVar10;" return identifier ;) }))) (return_statement "return puVar10;" return identifier ;) })))
(translation_unit "/* WARNING: Unknown calling convention */\n/* WARNING: Enum "anon_enum_32": Some values do not have unique names */\n\nseg_entry * build_modrm_byte(void)\n\n{\n  uint *puVar1;\n  i386_operand_type *piVar2;\n  long lVar3;\n  byte *pbVar4;\n  uchar uVar5;\n  byte bVar6;\n  expressionS *peVar7;\n  i386_operand_type iVar8;\n  undefined1 uVar9;\n  reg_entry *prVar10;\n  reg_entry *prVar11;\n  anon_enum_32 aVar12;\n  int iVar13;\n  ulong uVar14;\n  undefined1 *puVar15;\n  ulong uVar16;\n  byte bVar17;\n  uint uVar18;\n  anon_enum_32 aVar19;\n  uint uVar20;\n  ulong uVar21;\n  byte bVar22;\n  byte bVar23;\n  ulong uVar24;\n  byte bVar25;\n  uint uVar26;\n  uint uVar27;\n  bool bVar28;\n  \n  uVar9 = i.tm.opcode_modifier._6_1_;\n  uVar21 = 0;\n  uVar24 = 0;\n  bVar22 = i.tm.opcode_modifier._6_1_ & 0xc;\n  if (bVar22 == 8) {\n    uVar26 = i.operands - 1;\n    uVar21 = (ulong)uVar26;\n    uVar18 = i.operands - 2;\n    if (((i.reg_operands != 4) && ((i.reg_operands != 3 || (i.mem_operands != 1)))) ||\n       (((i.tm.opcode_modifier._5_1_ & 0x18) != 8 ||\n        (((i.tm.opcode_modifier._5_1_ & 0x60) == 0 || (((ulong)i.tm.operand_types[uVar21] & 4) == 0)\n         ))))) {\n                    /* WARNING: Subroutine does not return */\n      as_abort("../../gas/config/tc-i386.c",0x1a12,"build_modrm_byte");\n    }\n    uVar14 = (ulong)i.imm_operands;\n    uVar24 = (ulong)(i.imm_operands + 1);\n    if ((i.tm.opcode_modifier._5_1_ & 0x60) == 0x40) {\n      uVar24 = (ulong)i.imm_operands;\n      uVar14 = (ulong)(i.imm_operands + 1);\n    }\n    if (i.imm_operands == 0) {\n      uVar16 = (ulong)i.operands;\n      i.operands = i.operands + 1;\n      i.imm_operands = 1;\n      i.op[uVar16].disps = im_expressions;\n      i.types[uVar16] = (i386_operand_type)0x0;\n      *(undefined1 *)((long)i.types + uVar16 * 8 + 1) = 4;\n      if (((ulong)i.tm.operand_types[uVar14] & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/tc-i386.c",0x1a2a,"build_modrm_byte");\n      }\n      im_expressions[0]._24_1_ = 2;\n      bVar25 = (i.op[uVar14].regs)->reg_flags;\n      bVar23 = (i.op[uVar14].regs)->reg_num;\n      uVar26 = (uint)bVar23;\n      if ((bVar25 & 1) != 0) {\n        uVar26 = bVar23 + 8;\n      }\n      if ((bVar25 & 4) != 0) {\n        im_expressions[0].X_add_number = (offsetT)((uVar26 + 0x10) * 0x10);\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/tc-i386.c",0x1a2d,"build_modrm_byte");\n      }\n      im_expressions[0].X_add_number = (offsetT)(uVar26 << 4);\n    }\n    else {\n      if ((i.imm_operands != 1) || ((i.types[0].array[1]._1_1_ & 1) == 0)) {\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/tc-i386.c",0x1a33,"build_modrm_byte");\n      }\n      if ((i.tm.opcode_modifier._4_1_ & 0x20) == 0) {\n        i.types[0].array[0]._1_1_ = i.types[0].array[0]._1_1_ | 4;\n        uVar26 = 0;\n      }\n      else {\n        uVar24 = (ulong)((int)uVar24 - 1);\n        uVar14 = (ulong)((int)uVar14 - 1);\n      }\n      if (((ulong)i.tm.operand_types[uVar14] & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/tc-i386.c",0x1a45,"build_modrm_byte");\n      }\n      bVar25 = (i.op[uVar14].regs)->reg_flags;\n      bVar23 = (i.op[uVar14].regs)->reg_num;\n      uVar20 = (uint)bVar23;\n      if ((bVar25 & 1) != 0) {\n        uVar20 = bVar23 + 8;\n      }\n      peVar7 = i.op[uVar26].disps;\n      if ((bVar25 & 4) != 0) {\n        peVar7->X_add_number = (ulong)((uVar20 + 0x10) * 0x10) | peVar7->X_add_number;\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/tc-i386.c",0x1a48,"build_modrm_byte");\n      }\n      peVar7->X_add_number = (ulong)(uVar20 << 4) | peVar7->X_add_number;\n    }\n    if (((ulong)i.tm.operand_types[uVar18] & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n      as_abort("../../gas/config/tc-i386.c",0x1a4b,"build_modrm_byte");\n    }\n    i.vex.register_specifier = i.op[uVar18].regs;\n  }\n  prVar11 = i.index_reg;\n  prVar10 = i.base_reg;\n  uVar14 = (ulong)i.mem_operands;\n  bVar25 = bVar22;\n  if (i.mem_operands == 0) {\n    if (i.reg_operands == 2) {\n      if (((byte)i.tm.opcode_modifier._5_1_ >> 3 & 3) < 2) {\nLAB_0013335b:\n        if (i.operands == 3) {\nLAB_00133ea8:\n          if ((i.imm_operands != 1) &&\n             ((i.imm_operands != 0 ||\n              (((i.tm.opcode_modifier._5_1_ & 0x18) != 8 && ((i.types[0].array[0]._3_1_ & 1) == 0)))\n              ))) {\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/config/tc-i386.c",0x1a6b,"build_modrm_byte");\n          }\n          uVar14 = (ulong)((i.types[0].array[0]._1_1_ & 0xfc) != 0 ||\n                          (i.types[0].array[0]._3_1_ & 1) != 0);\n          uVar26 = 3;\n        }\n        else if (i.operands < 4) {\n          uVar26 = i.operands;\n          if (i.operands != 2) goto LAB_00133dcf;\n        }\n        else {\n          if (i.operands != 4) goto joined_r0x00133753;\nLAB_00133379:\n          uVar14 = (ulong)i.imm_operands;\n          if (i.imm_operands == 2) {\n            if (((i.types[0].array[0]._1_1_ & 4) == 0) || ((i.types[1].array[0]._1_1_ & 4) == 0))\n            goto LAB_00133d61;\n          }\n          else {\n            if ((((i.tm.opcode_modifier._5_1_ & 0x18) != 8) || (i.imm_operands != 1)) ||\n               ((((i.types[0].array[0]._1_1_ & 4) == 0 && ((i.types[3].array[0]._1_1_ & 4) == 0)) &&\n                (i.rounding == (RC_Operation *)0x0)))) {\nLAB_00133d61:\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1a81,"build_modrm_byte");\n            }\n            uVar14 = (ulong)((i.types[0].array[0]._1_1_ & 4) != 0);\n          }\n          uVar26 = 4;\n        }\nLAB_001337c1:\n        if (bVar22 != 8) {\n          uVar18 = (int)uVar14 + 1;\n          uVar21 = (ulong)uVar18;\n          if ((i.rounding != (RC_Operation *)0x0) && ((i.rounding)->operand == uVar18)) {\n            uVar21 = (ulong)((int)uVar14 + 2);\n          }\n          if ((i.tm.opcode_modifier._5_1_ & 0x18) == 8) {\n            uVar24 = uVar14;\n            uVar16 = uVar21;\n            if (((*(byte *)((long)i.tm.operand_types + uVar14 * 8 + 2) & 0x40) == 0) &&\n               ((*(byte *)((long)i.tm.operand_types + uVar21 * 8 + 2) & 0x40) != 0)) {\n              uVar24 = uVar21;\n              uVar16 = uVar14;\n            }\n            uVar20 = (int)uVar21 + 1;\n            uVar21 = (ulong)uVar20;\n            uVar14 = *(ulong *)i.tm.operand_types[uVar16].array;\n            uVar18 = *(uint *)((long)i.tm.operand_types + uVar16 * 8 + 4);\n            if ((uVar26 <= uVar20) ||\n               ((((uVar14 & 1) == 0 ||\n                 ((-1 < (char)((uVar14 & 0xfffffffff7ffffff) >> 0x18) && ((uVar18 & 2) == 0)))) &&\n                (((uVar14 & 4) == 0 &&\n                 ((regmask.array[0] != (uint)(uVar14 & 0xfffffffff7ffffff) ||\n                  (regmask.array[1] != uVar18)))))))) {\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1ac9,"build_modrm_byte");\n            }\n            i.vex.register_specifier = i.op[uVar16].regs;\n            uVar14 = uVar24;\n          }\n        }\nLAB_001337ff:\n        i.rm.mode = 3;\n        if (((*(byte *)((long)i.tm.operand_types + uVar21 * 8 + 3) & 8) == 0) &&\n           (((ulong)i.tm.operand_types[uVar21] & 0x5f0000) == 0)) {\n          i.rm.reg = (uint)(i.op[uVar21].regs)->reg_num;\n          i.rm.regmem = (uint)(i.op[uVar14].regs)->reg_num;\n          bVar22 = (i.op[uVar21].regs)->reg_flags;\n          if ((bVar22 & 1) != 0) {\n            i.rex = i.rex | 4;\n          }\n          if ((bVar22 & 4) != 0) {\n            i.vrex = i.vrex | 4;\n          }\n          bVar22 = (i.op[uVar14].regs)->reg_flags;\n          if ((bVar22 & 1) != 0) {\n            i.rex = i.rex | 1;\n          }\n          if ((bVar22 & 4) != 0) {\n            i.vrex = i.vrex | 1;\n          }\n        }\n        else {\n          i.rm.reg = (uint)(i.op[uVar14].regs)->reg_num;\n          i.rm.regmem = (uint)(i.op[uVar21].regs)->reg_num;\n          bVar22 = (i.op[uVar21].regs)->reg_flags;\n          if ((bVar22 & 1) != 0) {\n            i.rex = i.rex | 1;\n          }\n          if ((bVar22 & 4) != 0) {\n            i.vrex = i.vrex | 1;\n          }\n          bVar22 = (i.op[uVar14].regs)->reg_flags;\n          if ((bVar22 & 1) != 0) {\n            i.rex = i.rex | 4;\n          }\n          if ((bVar22 & 4) != 0) {\n            i.vrex = i.vrex | 4;\n          }\n        }\n        if ((flag_code != CODE_64BIT) && ((i.rex & 4U) != 0)) {\n          if (((ulong)i.types[(byte)i.tm.operand_types[0].array[0]._3_1_ >> 3 & 1] & 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/config/tc-i386.c",0x1af4,"build_modrm_byte");\n          }\n          i.rex = i.rex & 0xfffffffb;\n          add_prefix(0xf0);\n          return (seg_entry *)0x0;\n        }\n        i.rm.mode = 3;\n        return (seg_entry *)0x0;\n      }\n    }\n    else if (i.reg_operands == 3) {\n      if ((i.tm.opcode_modifier._5_1_ & 0x18) == 8) goto LAB_0013335b;\n    }\n    else if ((i.reg_operands == 4) && (bVar22 == 8)) {\n      if (i.operands == 3) goto LAB_00133ea8;\n      if (i.operands < 4) {\n        if (i.operands != 2) goto LAB_00133dcf;\n        goto LAB_001337ff;\n      }\n      if (i.operands == 4) goto LAB_00133379;\njoined_r0x00133753:\n      if (i.operands != 5) {\nLAB_00133dcf:\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/tc-i386.c",0x1aa0,"build_modrm_byte");\n      }\n      if (i.tm.opcode_modifier._7_1_ == '\0') {\n        uVar14 = uVar24;\n        uVar26 = 5;\n      }\n      else {\n        if (((i.imm_operands != 2) || (-1 < (char)i.tm.opcode_modifier._7_1_)) ||\n           ((i.types[0].array[0]._1_1_ & 0xfc) == 0)) {\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/config/tc-i386.c",0x1a96,"build_modrm_byte");\n        }\n        if ((i.types[1].array[0]._1_1_ & 0xfc) == 0) {\n          if ((i.types[4].array[0]._1_1_ & 0xfc) == 0) {\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/config/tc-i386.c",0x1a9c,"build_modrm_byte");\n          }\n          uVar14 = 1;\n          uVar26 = 5;\n        }\n        else {\n          uVar14 = (ulong)i.imm_operands;\n          uVar26 = 5;\n        }\n      }\n      goto LAB_001337c1;\n    }\n    uVar26 = 0xffffffff;\n    puVar15 = (undefined1 *)0x0;\n  }\n  else {\n    if (i.operands == 0) {\nLAB_0013303b:\n                    /* WARNING: Subroutine does not return */\n      as_abort("../../gas/config/tc-i386.c",0x1b05,"build_modrm_byte");\n    }\n    if ((i.types[0].array[0]._2_1_ & 0x5f) == 0) {\n      uVar14 = 1;\n      do {\n        uVar24 = uVar14 & 0xffffffff;\n        if (i.operands <= (uint)uVar14) goto LAB_0013303b;\n        piVar2 = i.types + uVar14;\n        uVar14 = uVar14 + 1;\n      } while (((ulong)*piVar2 & 0x5f0000) == 0);\n    }\n    else {\n      uVar24 = 0;\n    }\n    bVar23 = uVar9 & 0x30;\n    uVar26 = (uint)uVar24;\n    if (bVar23 == 0) {\nLAB_0013313d:\n      if (prVar10 != (reg_entry *)0x0) goto LAB_00133146;\nLAB_00133448:\n      prVar10 = i.index_reg;\n      i.rm.mode = 0;\n      if (i.disp_operands == 0) {\n        if (i.index_reg == (reg_entry *)0x0) {\n          aVar19 = Cpu286;\n          goto LAB_00133cae;\n        }\n        if (bVar23 == 0) {\n          aVar19 = Cpu286;\n          goto LAB_00133af0;\n        }\n        goto LAB_00133a60;\n      }\n      if (i.index_reg != (reg_entry *)0x0) {\n        if (bVar23 == 0) {\n          aVar19 = Cpu186;\nLAB_00133af0:\n          i.sib.index = (uint)(i.index_reg)->reg_num;\n          i.rm.regmem = 4;\n          if ((byte)((i.index_reg)->reg_num + 4) < 2) {\n            i.sib.index = 4;\n          }\n          i.sib.base = 5;\n          i.sib.scale = i.log2_scale_factor;\n          lVar3 = uVar24 * 8;\n          bVar25 = *(byte *)((long)i.types + lVar3 + 2);\n          bVar28 = flag_code == CODE_64BIT;\n          *(byte *)((long)i.types + lVar3 + 2) = bVar25 & 0xec;\n          if ((bVar28) && (i.prefix[2] == '\0')) {\n            *(byte *)((long)i.types + lVar3 + 2) = bVar25 & 0xe0 | 8;\n          }\n          else {\n            *(byte *)((long)i.types + uVar24 * 8 + 2) =\n                 *(byte *)((long)i.types + uVar24 * 8 + 2) & 0xf3 | 4;\n          }\n          puVar15 = ds;\n          if ((prVar10->reg_flags & 1) != 0) {\n            i.rex = i.rex | 2;\n          }\n          goto LAB_00133b80;\n        }\n        goto LAB_00133424;\n      }\n      aVar19 = Cpu186;\nLAB_00133cae:\n      if (bVar23 != 0) {\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/tc-i386.c",0x1b33,"build_modrm_byte");\n      }\n      if (flag_code == CODE_64BIT) {\n        i.rm.regmem = 4;\n        uVar20 = (uint)(i.prefix[2] == '\0');\n        uVar18 = (uint)(i.prefix[2] != '\0');\n        i.sib.base = 5;\n        i.sib.index = 4;\n        iVar13 = 0;\n      }\n      else if ((flag_code == CODE_16BIT) == (i.prefix[2] != '\0')) {\n        i.rm.regmem = 5;\n        uVar20 = 0;\n        uVar18 = 1;\n        iVar13 = 0;\n      }\n      else {\n        i.rm.regmem = 6;\n        uVar20 = 0;\n        uVar18 = 0;\n        iVar13 = 1;\n      }\n      uVar27 = ~anydisp.array[1];\n      i.types[uVar24].array[0] =\n           iVar13 << 0x11 | uVar18 << 0x12 | uVar20 << 0x13 |\n           ~anydisp.array[0] & i.types[uVar24].array[0];\n      puVar15 = ds;\n      puVar1 = (uint *)((long)i.types + uVar24 * 8 + 4);\n      *puVar1 = *puVar1 & uVar27;\nLAB_00133b80:\n      if (aVar19 != Cpu186) goto LAB_00133a67;\n    }\n    else {\n      uVar5 = (i.index_reg)->reg_num;\n      if ((byte)(uVar5 + 4) < 2) {\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/tc-i386.c",0x1b0b,"build_modrm_byte");\n      }\n      i.rm.regmem = 4;\n      if (i.base_reg == (reg_entry *)0x0) {\n        i.sib.base = 5;\n        i.sib.index = 0;\n        i.sib.scale = i.log2_scale_factor;\n        lVar3 = uVar24 * 8;\n        bVar6 = *(byte *)((long)i.types + lVar3 + 2);\n        bVar28 = flag_code == CODE_64BIT;\n        *(byte *)((long)i.types + lVar3 + 2) = bVar6 & 0xec;\n        if ((bVar28) && (i.prefix[2] == '\0')) {\n          *(byte *)((long)i.types + lVar3 + 2) = bVar6 & 0xe0 | 8;\n        }\n        else {\n          *(byte *)((long)i.types + uVar24 * 8 + 2) =\n               *(byte *)((long)i.types + uVar24 * 8 + 2) & 0xf3 | 4;\n        }\n      }\n      i.sib.index._0_1_ = uVar5;\n      i.sib.index._1_3_ = 0;\n      if ((prVar11->reg_flags & 1) != 0) {\n        i.rex = i.rex | 2;\n      }\n      if ((prVar11->reg_flags & 4) == 0) goto LAB_0013313d;\n      i.vrex = i.vrex | 2;\n      if (prVar10 == (reg_entry *)0x0) goto LAB_00133448;\nLAB_00133146:\n      bVar6 = prVar10->reg_num;\n      if (bVar6 < 0xfe) {\n        if (((ulong)prVar10->reg_type & 0x40000000) == 0) {\n          if ((flag_code == CODE_64BIT) && ((*(byte *)((long)i.types + uVar24 * 8 + 2) & 0x1f) != 0)\n             ) {\n            lVar3 = uVar24 * 8;\n            bVar25 = *(byte *)((long)i.types + lVar3 + 2);\n            bVar17 = bVar25 & 0xe1;\n            *(byte *)((long)i.types + lVar3 + 2) = bVar25 & 0xed;\n            if (i.prefix[2] == '\0') {\n              *(byte *)((long)i.types + lVar3 + 2) = bVar17 | 8;\n            }\n            else {\n              *(byte *)((long)i.types + lVar3 + 2) = bVar17 | 4;\n            }\n          }\n          if (bVar23 == 0) {\n            i.rm.regmem = (uint)bVar6;\n          }\n          if ((prVar10->reg_flags & 1) == 0) {\n            puVar15 = ss;\n            if (1 < (byte)(bVar6 - 4)) {\n              puVar15 = ds;\n            }\n          }\n          else {\n            i.rex = i.rex | 1;\n            puVar15 = ds;\n          }\n          i.sib.base = (uint)bVar6;\n          aVar19 = Cpu186;\n          if ((bVar6 == 5) && (aVar19 = Cpu186, i.disp_operands == 0)) {\n            aVar19 = Cpu286;\n            pbVar4 = (byte *)((long)i.types + uVar24 * 8 + 2);\n            *pbVar4 = *pbVar4 | 1;\n          }\n          aVar12 = i.disp_encoding;\n          i.sib.scale = i.log2_scale_factor;\n          if (i.index_reg == (reg_entry *)0x0) {\n            if (bVar23 != 0) {\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1bbf,"build_modrm_byte");\n            }\n            i.sib.index = 4;\n          }\n          else if (bVar23 == 0) {\n            i.rm.regmem = 4;\n            i.sib.index = (uint)(i.index_reg)->reg_num;\n            if ((byte)((i.index_reg)->reg_num + 4) < 2) {\n              i.sib.index = 4;\n            }\n            if (((i.index_reg)->reg_flags & 1) != 0) {\n              i.rex = i.rex | 2;\n            }\n          }\n          if (i.disp_operands == 0) {\n            if ((aVar19 == Cpu186) && (aVar19 = aVar12, i.disp_encoding != Cpu186)) {\n              if (i.disp_encoding == Cpu286) {\n                pbVar4 = (byte *)((long)i.types + uVar24 * 8 + 2);\n                *pbVar4 = *pbVar4 | 1;\n              }\n              else {\n                pbVar4 = (byte *)((long)i.types + uVar24 * 8 + 2);\n                *pbVar4 = *pbVar4 | 4;\n                aVar19 = Cpu286;\n              }\n            }\n          }\n          else if ((i.reloc[uVar24] == BFD_RELOC_386_TLS_DESC_CALL) ||\n                  (i.reloc[uVar24] == BFD_RELOC_X86_64_TLSDESC_CALL)) {\n            i.rm.mode = 0;\n            goto LAB_00133b80;\n          }\n        }\n        else {\n          if (bVar23 != 0) {\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/config/tc-i386.c",0x1b7c,"build_modrm_byte");\n          }\n          if (bVar6 == 3) {\n            if (i.index_reg != (reg_entry *)0x0) {\n              i.rm.regmem = (i.index_reg)->reg_num - 6;\n              goto LAB_0013317e;\n            }\n            i.rm.regmem = 7;\n            puVar15 = ds;\n            aVar19 = Cpu186;\n          }\n          else if (bVar6 == 5) {\n            if (i.index_reg == (reg_entry *)0x0) {\n              puVar15 = ss;\n              i.rm.regmem = 6;\n              aVar19 = Cpu186;\n              if ((*(byte *)((long)i.types + uVar24 * 8 + 2) & 0x1f) == 0) {\n                pbVar4 = (byte *)((long)i.types + uVar24 * 8 + 2);\n                *pbVar4 = *pbVar4 | 1;\n                aVar19 = Cpu286;\n              }\n            }\n            else {\n              i.rm.regmem = (i.index_reg)->reg_num - 4;\n              puVar15 = ss;\n              aVar19 = Cpu186;\n            }\n          }\n          else {\n            i.rm.regmem = bVar6 - 2;\nLAB_0013317e:\n            aVar19 = Cpu186;\n            puVar15 = ds;\n          }\n        }\n        i.rm.mode = 1;\n        if (((ulong)i.types[uVar24] >> 0x10 & 1) == 0) {\n          i.rm.mode = (uint)(((ulong)i.types[uVar24] & 0xe0000) != 0) * 2;\n        }\n        goto LAB_00133b80;\n      }\n      if (bVar23 != 0) {\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/tc-i386.c",0x1b6f,"build_modrm_byte");\n      }\n      i.rm.regmem = 5;\n      *(byte *)((long)i.types + uVar24 * 8 + 2) =\n           *(byte *)((long)i.types + uVar24 * 8 + 2) & 0xe0 | 8;\n      uVar18 = i.disp_operands;\n      i.flags[uVar24] = i.flags[uVar24] | 1;\n      if (uVar18 != 0) {\nLAB_00133424:\n        puVar15 = ds;\n        goto LAB_00133089;\n      }\nLAB_00133a60:\n      puVar15 = ds;\nLAB_00133a67:\n      if (i.op[uVar24].disps != (expressionS *)0x0) {\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/tc-i386.c",0x1bed,"build_modrm_byte");\n      }\n      uVar14 = (ulong)i.disp_operands;\n      i.disp_operands = i.disp_operands + 1;\n      i.op[uVar24].disps = disp_expressions + uVar14;\n      disp_expressions[uVar14].field_0x18 = 2;\n      disp_expressions[uVar14].X_add_number = 0;\n      disp_expressions[uVar14].X_add_symbol = (symbolS *)0x0;\n      disp_expressions[uVar14].X_op_symbol = (symbolS *)0x0;\n    }\n    bVar25 = i.tm.opcode_modifier._6_1_ & 0xc;\n  }\nLAB_00133089:\n  if (bVar25 == 4) {\n    if ((i.types[0].array[0]._1_1_ & 0xfc) == 0) {\n      if ((i.tm.opcode_modifier._5_1_ & 0x60) == 0x20) {\n        i.vex.register_specifier = i.op[0].regs;\n      }\n      else {\n        i.vex.register_specifier = i.op[1].regs;\n      }\n    }\n    else {\n      i.vex.register_specifier = (reg_entry *)0x0;\n    }\n    i.rm.reg = (uint)(i.op[2].regs)->reg_num;\n    if (((i.op[2].regs)->reg_flags & 1) != 0) {\n      i.rex = i.rex | 4;\n    }\n    if (i.mem_operands != 0) goto LAB_001330bc;\n    if ((i.tm.opcode_modifier._5_1_ & 0x60) == 0x20) {\n      bVar22 = (i.op[1].regs)->reg_num;\n    }\n    else {\n      bVar22 = (i.op[0].regs)->reg_num;\n    }\n    bVar25 = (i.op[1].regs)->reg_flags;\n  }\n  else {\n    bVar25 = i.tm.opcode_modifier._5_1_ & 0x18;\n    if (bVar25 != 0x18) {\n      if (i.reg_operands == 0) goto LAB_001330bc;\n      if ((((i.operands == 0) || ((i.types[0].array[0]._0_1_ & 1) != 0)) ||\n          ((i.types[0].array[0]._0_1_ & 2) != 0)) ||\n         (((i.types[0].array[0]._0_1_ & 4) != 0 || ((i.types[0].array[1]._1_1_ & 2) != 0)))) {\n        uVar24 = 0;\n      }\n      else {\n        uVar24 = 0;\n        if ((i.types[0].array[0]._0_1_ & 8) == 0) {\n          uVar14 = 0;\n          while( true ) {\n            bVar23 = *(byte *)(i.types + uVar14);\n            if ((((char)bVar23 < '\0') || ((*(byte *)((long)i.types + uVar14 * 8 + 1) & 1) != 0)) ||\n               (((bVar23 & 0x10) != 0 || (((bVar23 & 0x20) != 0 || ((bVar23 & 0x40) != 0))))))\n            goto LAB_00133670;\n            uVar18 = (int)uVar24 + 1;\n            uVar24 = (ulong)uVar18;\n            if (i.operands == uVar18) break;\n            uVar14 = (ulong)uVar18;\n            iVar8 = i.types[uVar14];\n            if ((((((ulong)iVar8 & 1) != 0) || (((ulong)iVar8 & 2) != 0)) ||\n                (((ulong)iVar8 & 4) != 0)) ||\n               (((*(byte *)((long)i.types + uVar14 * 8 + 5) & 2) != 0 ||\n                (((ulong)i.types[uVar14] & 8) != 0)))) goto LAB_00133670;\n          }\n          uVar24 = (ulong)i.operands;\n        }\n      }\nLAB_00133670:\n      uVar18 = (uint)uVar24;\n      if (bVar22 == 8) {\n        uVar18 = 0xffffffff;\n        uVar24 = uVar21;\nLAB_00133b96:\n        if (uVar18 != (uint)uVar24) goto LAB_001336a6;\n        if (i.mem_operands != 0) goto LAB_001330bc;\n      }\n      else {\n        uVar21 = uVar24;\n        if (bVar25 == 8) {\n          if (uVar26 == 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/config/tc-i386.c",0x1c44,"build_modrm_byte");\n          }\n          uVar20 = uVar18 + 1;\n          uVar21 = (ulong)uVar20;\n          uVar14 = uVar24;\n          if (uVar26 < uVar18) {\n            if (i.operands <= uVar20) {\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1c49,"build_modrm_byte");\n            }\n          }\n          else if (((*(byte *)((long)i.tm.operand_types + uVar24 * 8 + 2) & 0x40) == 0) &&\n                  ((*(byte *)((long)i.tm.operand_types + uVar21 * 8 + 2) & 0x40) != 0)) {\n            if ((i.operands <= uVar18 + 2) || (uVar26 != uVar20)) {\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1c55,"build_modrm_byte");\n            }\n            uVar21 = (ulong)(uVar18 + 2);\n          }\n          else {\n            uVar14 = uVar21;\n            uVar21 = uVar24;\n            uVar18 = uVar20;\n            if (i.operands <= uVar20) {\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1c5a,"build_modrm_byte");\n            }\n          }\nLAB_00133e49:\n          iVar8 = i.tm.operand_types[uVar14];\n          if (((((ulong)iVar8 & 1) == 0) ||\n              ((-1 < *(char *)((long)i.tm.operand_types + uVar14 * 8 + 3) &&\n               ((*(byte *)((long)i.tm.operand_types + uVar14 * 8 + 4) & 2) == 0)))) &&\n             ((((ulong)iVar8 & 4) == 0 &&\n              ((*(uint *)((long)i.tm.operand_types + uVar14 * 8 + 4) != regmask.array[1] ||\n               (i.tm.operand_types[uVar14].array[0] != regmask.array[0])))))) {\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/config/tc-i386.c",0x1c7b,"build_modrm_byte");\n          }\n          i.vex.register_specifier = i.op[uVar14].regs;\n          uVar24 = uVar21;\n          goto LAB_00133b96;\n        }\n        if (bVar25 == 0x10) {\n          if (i.mem_operands == 0) {\n            if (i.operands != uVar18 + 2) {\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1c65,"build_modrm_byte");\n            }\n            uVar14 = (ulong)(uVar18 + 1);\n            uVar18 = uVar18 + 1;\n          }\n          else {\n            if ((i.imm_operands + 2 <= uVar18) || (i.operands != i.imm_operands + 2)) {\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1c6c,"build_modrm_byte");\n            }\n            uVar18 = i.imm_operands + 1;\n            if (uVar18 == 0xffffffff) goto LAB_001336a6;\n            uVar14 = (ulong)uVar18;\n          }\n          goto LAB_00133e49;\n        }\n        if (i.operands <= uVar18) {\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/config/tc-i386.c",0x1c71,"build_modrm_byte");\n        }\nLAB_001336a6:\n        if (i.tm.extension_opcode == 0xffff) {\n          i.rm.reg = (uint)(i.op[uVar24].regs)->reg_num;\n          bVar22 = (i.op[uVar24].regs)->reg_flags;\n          if ((bVar22 & 1) != 0) {\n            i.rex = i.rex | 4;\n          }\n          if ((bVar22 & 4) != 0) {\n            i.vrex = i.vrex | 4;\n          }\n          if (i.mem_operands == 0) {\n            i.rm.mode = 3;\n            return (seg_entry *)puVar15;\n          }\n          return (seg_entry *)puVar15;\n        }\n        i.rm.regmem = (uint)(i.op[uVar24].regs)->reg_num;\n        bVar22 = (i.op[uVar24].regs)->reg_flags;\n        if ((bVar22 & 1) != 0) {\n          i.rex = i.rex | 1;\n        }\n        if ((bVar22 & 4) != 0) {\n          i.vrex = i.vrex | 1;\n        }\n        if (i.mem_operands != 0) {\n          i.rm.reg = i.tm.extension_opcode;\n          return (seg_entry *)puVar15;\n        }\n      }\n      i.rm.mode = 3;\n      goto LAB_001330bc;\n    }\n    i.vex.register_specifier = i.op[2].regs;\n    if (i.mem_operands != 0) goto LAB_001330bc;\n    bVar22 = (i.op[1].regs)->reg_num;\n    bVar25 = (i.op[1].regs)->reg_flags;\n  }\n  i.rm.regmem = (uint)bVar22;\n  i.rm.mode = 3;\n  if ((bVar25 & 1) != 0) {\n    i.rm.mode = 3;\n    i.rex = i.rex | 1;\n  }\nLAB_001330bc:\n  if (i.tm.extension_opcode != 0xffff) {\n    i.rm.reg = i.tm.extension_opcode;\n    return (seg_entry *)puVar15;\n  }\n  return (seg_entry *)puVar15;\n}\n\n" comment comment (function_definition "seg_entry * build_modrm_byte(void)\n\n{\n  uint *puVar1;\n  i386_operand_type *piVar2;\n  long lVar3;\n  byte *pbVar4;\n  uchar uVar5;\n  byte bVar6;\n  expressionS *peVar7;\n  i386_operand_type iVar8;\n  undefined1 uVar9;\n  reg_entry *prVar10;\n  reg_entry *prVar11;\n  anon_enum_32 aVar12;\n  int iVar13;\n  ulong uVar14;\n  undefined1 *puVar15;\n  ulong uVar16;\n  byte bVar17;\n  uint uVar18;\n  anon_enum_32 aVar19;\n  uint uVar20;\n  ulong uVar21;\n  byte bVar22;\n  byte bVar23;\n  ulong uVar24;\n  byte bVar25;\n  uint uVar26;\n  uint uVar27;\n  bool bVar28;\n  \n  uVar9 = i.tm.opcode_modifier._6_1_;\n  uVar21 = 0;\n  uVar24 = 0;\n  bVar22 = i.tm.opcode_modifier._6_1_ & 0xc;\n  if (bVar22 == 8) {\n    uVar26 = i.operands - 1;\n    uVar21 = (ulong)uVar26;\n    uVar18 = i.operands - 2;\n    if (((i.reg_operands != 4) && ((i.reg_operands != 3 || (i.mem_operands != 1)))) ||\n       (((i.tm.opcode_modifier._5_1_ & 0x18) != 8 ||\n        (((i.tm.opcode_modifier._5_1_ & 0x60) == 0 || (((ulong)i.tm.operand_types[uVar21] & 4) == 0)\n         ))))) {\n                    /* WARNING: Subroutine does not return */\n      as_abort("../../gas/config/tc-i386.c",0x1a12,"build_modrm_byte");\n    }\n    uVar14 = (ulong)i.imm_operands;\n    uVar24 = (ulong)(i.imm_operands + 1);\n    if ((i.tm.opcode_modifier._5_1_ & 0x60) == 0x40) {\n      uVar24 = (ulong)i.imm_operands;\n      uVar14 = (ulong)(i.imm_operands + 1);\n    }\n    if (i.imm_operands == 0) {\n      uVar16 = (ulong)i.operands;\n      i.operands = i.operands + 1;\n      i.imm_operands = 1;\n      i.op[uVar16].disps = im_expressions;\n      i.types[uVar16] = (i386_operand_type)0x0;\n      *(undefined1 *)((long)i.types + uVar16 * 8 + 1) = 4;\n      if (((ulong)i.tm.operand_types[uVar14] & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/tc-i386.c",0x1a2a,"build_modrm_byte");\n      }\n      im_expressions[0]._24_1_ = 2;\n      bVar25 = (i.op[uVar14].regs)->reg_flags;\n      bVar23 = (i.op[uVar14].regs)->reg_num;\n      uVar26 = (uint)bVar23;\n      if ((bVar25 & 1) != 0) {\n        uVar26 = bVar23 + 8;\n      }\n      if ((bVar25 & 4) != 0) {\n        im_expressions[0].X_add_number = (offsetT)((uVar26 + 0x10) * 0x10);\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/tc-i386.c",0x1a2d,"build_modrm_byte");\n      }\n      im_expressions[0].X_add_number = (offsetT)(uVar26 << 4);\n    }\n    else {\n      if ((i.imm_operands != 1) || ((i.types[0].array[1]._1_1_ & 1) == 0)) {\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/tc-i386.c",0x1a33,"build_modrm_byte");\n      }\n      if ((i.tm.opcode_modifier._4_1_ & 0x20) == 0) {\n        i.types[0].array[0]._1_1_ = i.types[0].array[0]._1_1_ | 4;\n        uVar26 = 0;\n      }\n      else {\n        uVar24 = (ulong)((int)uVar24 - 1);\n        uVar14 = (ulong)((int)uVar14 - 1);\n      }\n      if (((ulong)i.tm.operand_types[uVar14] & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/tc-i386.c",0x1a45,"build_modrm_byte");\n      }\n      bVar25 = (i.op[uVar14].regs)->reg_flags;\n      bVar23 = (i.op[uVar14].regs)->reg_num;\n      uVar20 = (uint)bVar23;\n      if ((bVar25 & 1) != 0) {\n        uVar20 = bVar23 + 8;\n      }\n      peVar7 = i.op[uVar26].disps;\n      if ((bVar25 & 4) != 0) {\n        peVar7->X_add_number = (ulong)((uVar20 + 0x10) * 0x10) | peVar7->X_add_number;\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/tc-i386.c",0x1a48,"build_modrm_byte");\n      }\n      peVar7->X_add_number = (ulong)(uVar20 << 4) | peVar7->X_add_number;\n    }\n    if (((ulong)i.tm.operand_types[uVar18] & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n      as_abort("../../gas/config/tc-i386.c",0x1a4b,"build_modrm_byte");\n    }\n    i.vex.register_specifier = i.op[uVar18].regs;\n  }\n  prVar11 = i.index_reg;\n  prVar10 = i.base_reg;\n  uVar14 = (ulong)i.mem_operands;\n  bVar25 = bVar22;\n  if (i.mem_operands == 0) {\n    if (i.reg_operands == 2) {\n      if (((byte)i.tm.opcode_modifier._5_1_ >> 3 & 3) < 2) {\nLAB_0013335b:\n        if (i.operands == 3) {\nLAB_00133ea8:\n          if ((i.imm_operands != 1) &&\n             ((i.imm_operands != 0 ||\n              (((i.tm.opcode_modifier._5_1_ & 0x18) != 8 && ((i.types[0].array[0]._3_1_ & 1) == 0)))\n              ))) {\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/config/tc-i386.c",0x1a6b,"build_modrm_byte");\n          }\n          uVar14 = (ulong)((i.types[0].array[0]._1_1_ & 0xfc) != 0 ||\n                          (i.types[0].array[0]._3_1_ & 1) != 0);\n          uVar26 = 3;\n        }\n        else if (i.operands < 4) {\n          uVar26 = i.operands;\n          if (i.operands != 2) goto LAB_00133dcf;\n        }\n        else {\n          if (i.operands != 4) goto joined_r0x00133753;\nLAB_00133379:\n          uVar14 = (ulong)i.imm_operands;\n          if (i.imm_operands == 2) {\n            if (((i.types[0].array[0]._1_1_ & 4) == 0) || ((i.types[1].array[0]._1_1_ & 4) == 0))\n            goto LAB_00133d61;\n          }\n          else {\n            if ((((i.tm.opcode_modifier._5_1_ & 0x18) != 8) || (i.imm_operands != 1)) ||\n               ((((i.types[0].array[0]._1_1_ & 4) == 0 && ((i.types[3].array[0]._1_1_ & 4) == 0)) &&\n                (i.rounding == (RC_Operation *)0x0)))) {\nLAB_00133d61:\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1a81,"build_modrm_byte");\n            }\n            uVar14 = (ulong)((i.types[0].array[0]._1_1_ & 4) != 0);\n          }\n          uVar26 = 4;\n        }\nLAB_001337c1:\n        if (bVar22 != 8) {\n          uVar18 = (int)uVar14 + 1;\n          uVar21 = (ulong)uVar18;\n          if ((i.rounding != (RC_Operation *)0x0) && ((i.rounding)->operand == uVar18)) {\n            uVar21 = (ulong)((int)uVar14 + 2);\n          }\n          if ((i.tm.opcode_modifier._5_1_ & 0x18) == 8) {\n            uVar24 = uVar14;\n            uVar16 = uVar21;\n            if (((*(byte *)((long)i.tm.operand_types + uVar14 * 8 + 2) & 0x40) == 0) &&\n               ((*(byte *)((long)i.tm.operand_types + uVar21 * 8 + 2) & 0x40) != 0)) {\n              uVar24 = uVar21;\n              uVar16 = uVar14;\n            }\n            uVar20 = (int)uVar21 + 1;\n            uVar21 = (ulong)uVar20;\n            uVar14 = *(ulong *)i.tm.operand_types[uVar16].array;\n            uVar18 = *(uint *)((long)i.tm.operand_types + uVar16 * 8 + 4);\n            if ((uVar26 <= uVar20) ||\n               ((((uVar14 & 1) == 0 ||\n                 ((-1 < (char)((uVar14 & 0xfffffffff7ffffff) >> 0x18) && ((uVar18 & 2) == 0)))) &&\n                (((uVar14 & 4) == 0 &&\n                 ((regmask.array[0] != (uint)(uVar14 & 0xfffffffff7ffffff) ||\n                  (regmask.array[1] != uVar18)))))))) {\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1ac9,"build_modrm_byte");\n            }\n            i.vex.register_specifier = i.op[uVar16].regs;\n            uVar14 = uVar24;\n          }\n        }\nLAB_001337ff:\n        i.rm.mode = 3;\n        if (((*(byte *)((long)i.tm.operand_types + uVar21 * 8 + 3) & 8) == 0) &&\n           (((ulong)i.tm.operand_types[uVar21] & 0x5f0000) == 0)) {\n          i.rm.reg = (uint)(i.op[uVar21].regs)->reg_num;\n          i.rm.regmem = (uint)(i.op[uVar14].regs)->reg_num;\n          bVar22 = (i.op[uVar21].regs)->reg_flags;\n          if ((bVar22 & 1) != 0) {\n            i.rex = i.rex | 4;\n          }\n          if ((bVar22 & 4) != 0) {\n            i.vrex = i.vrex | 4;\n          }\n          bVar22 = (i.op[uVar14].regs)->reg_flags;\n          if ((bVar22 & 1) != 0) {\n            i.rex = i.rex | 1;\n          }\n          if ((bVar22 & 4) != 0) {\n            i.vrex = i.vrex | 1;\n          }\n        }\n        else {\n          i.rm.reg = (uint)(i.op[uVar14].regs)->reg_num;\n          i.rm.regmem = (uint)(i.op[uVar21].regs)->reg_num;\n          bVar22 = (i.op[uVar21].regs)->reg_flags;\n          if ((bVar22 & 1) != 0) {\n            i.rex = i.rex | 1;\n          }\n          if ((bVar22 & 4) != 0) {\n            i.vrex = i.vrex | 1;\n          }\n          bVar22 = (i.op[uVar14].regs)->reg_flags;\n          if ((bVar22 & 1) != 0) {\n            i.rex = i.rex | 4;\n          }\n          if ((bVar22 & 4) != 0) {\n            i.vrex = i.vrex | 4;\n          }\n        }\n        if ((flag_code != CODE_64BIT) && ((i.rex & 4U) != 0)) {\n          if (((ulong)i.types[(byte)i.tm.operand_types[0].array[0]._3_1_ >> 3 & 1] & 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/config/tc-i386.c",0x1af4,"build_modrm_byte");\n          }\n          i.rex = i.rex & 0xfffffffb;\n          add_prefix(0xf0);\n          return (seg_entry *)0x0;\n        }\n        i.rm.mode = 3;\n        return (seg_entry *)0x0;\n      }\n    }\n    else if (i.reg_operands == 3) {\n      if ((i.tm.opcode_modifier._5_1_ & 0x18) == 8) goto LAB_0013335b;\n    }\n    else if ((i.reg_operands == 4) && (bVar22 == 8)) {\n      if (i.operands == 3) goto LAB_00133ea8;\n      if (i.operands < 4) {\n        if (i.operands != 2) goto LAB_00133dcf;\n        goto LAB_001337ff;\n      }\n      if (i.operands == 4) goto LAB_00133379;\njoined_r0x00133753:\n      if (i.operands != 5) {\nLAB_00133dcf:\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/tc-i386.c",0x1aa0,"build_modrm_byte");\n      }\n      if (i.tm.opcode_modifier._7_1_ == '\0') {\n        uVar14 = uVar24;\n        uVar26 = 5;\n      }\n      else {\n        if (((i.imm_operands != 2) || (-1 < (char)i.tm.opcode_modifier._7_1_)) ||\n           ((i.types[0].array[0]._1_1_ & 0xfc) == 0)) {\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/config/tc-i386.c",0x1a96,"build_modrm_byte");\n        }\n        if ((i.types[1].array[0]._1_1_ & 0xfc) == 0) {\n          if ((i.types[4].array[0]._1_1_ & 0xfc) == 0) {\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/config/tc-i386.c",0x1a9c,"build_modrm_byte");\n          }\n          uVar14 = 1;\n          uVar26 = 5;\n        }\n        else {\n          uVar14 = (ulong)i.imm_operands;\n          uVar26 = 5;\n        }\n      }\n      goto LAB_001337c1;\n    }\n    uVar26 = 0xffffffff;\n    puVar15 = (undefined1 *)0x0;\n  }\n  else {\n    if (i.operands == 0) {\nLAB_0013303b:\n                    /* WARNING: Subroutine does not return */\n      as_abort("../../gas/config/tc-i386.c",0x1b05,"build_modrm_byte");\n    }\n    if ((i.types[0].array[0]._2_1_ & 0x5f) == 0) {\n      uVar14 = 1;\n      do {\n        uVar24 = uVar14 & 0xffffffff;\n        if (i.operands <= (uint)uVar14) goto LAB_0013303b;\n        piVar2 = i.types + uVar14;\n        uVar14 = uVar14 + 1;\n      } while (((ulong)*piVar2 & 0x5f0000) == 0);\n    }\n    else {\n      uVar24 = 0;\n    }\n    bVar23 = uVar9 & 0x30;\n    uVar26 = (uint)uVar24;\n    if (bVar23 == 0) {\nLAB_0013313d:\n      if (prVar10 != (reg_entry *)0x0) goto LAB_00133146;\nLAB_00133448:\n      prVar10 = i.index_reg;\n      i.rm.mode = 0;\n      if (i.disp_operands == 0) {\n        if (i.index_reg == (reg_entry *)0x0) {\n          aVar19 = Cpu286;\n          goto LAB_00133cae;\n        }\n        if (bVar23 == 0) {\n          aVar19 = Cpu286;\n          goto LAB_00133af0;\n        }\n        goto LAB_00133a60;\n      }\n      if (i.index_reg != (reg_entry *)0x0) {\n        if (bVar23 == 0) {\n          aVar19 = Cpu186;\nLAB_00133af0:\n          i.sib.index = (uint)(i.index_reg)->reg_num;\n          i.rm.regmem = 4;\n          if ((byte)((i.index_reg)->reg_num + 4) < 2) {\n            i.sib.index = 4;\n          }\n          i.sib.base = 5;\n          i.sib.scale = i.log2_scale_factor;\n          lVar3 = uVar24 * 8;\n          bVar25 = *(byte *)((long)i.types + lVar3 + 2);\n          bVar28 = flag_code == CODE_64BIT;\n          *(byte *)((long)i.types + lVar3 + 2) = bVar25 & 0xec;\n          if ((bVar28) && (i.prefix[2] == '\0')) {\n            *(byte *)((long)i.types + lVar3 + 2) = bVar25 & 0xe0 | 8;\n          }\n          else {\n            *(byte *)((long)i.types + uVar24 * 8 + 2) =\n                 *(byte *)((long)i.types + uVar24 * 8 + 2) & 0xf3 | 4;\n          }\n          puVar15 = ds;\n          if ((prVar10->reg_flags & 1) != 0) {\n            i.rex = i.rex | 2;\n          }\n          goto LAB_00133b80;\n        }\n        goto LAB_00133424;\n      }\n      aVar19 = Cpu186;\nLAB_00133cae:\n      if (bVar23 != 0) {\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/tc-i386.c",0x1b33,"build_modrm_byte");\n      }\n      if (flag_code == CODE_64BIT) {\n        i.rm.regmem = 4;\n        uVar20 = (uint)(i.prefix[2] == '\0');\n        uVar18 = (uint)(i.prefix[2] != '\0');\n        i.sib.base = 5;\n        i.sib.index = 4;\n        iVar13 = 0;\n      }\n      else if ((flag_code == CODE_16BIT) == (i.prefix[2] != '\0')) {\n        i.rm.regmem = 5;\n        uVar20 = 0;\n        uVar18 = 1;\n        iVar13 = 0;\n      }\n      else {\n        i.rm.regmem = 6;\n        uVar20 = 0;\n        uVar18 = 0;\n        iVar13 = 1;\n      }\n      uVar27 = ~anydisp.array[1];\n      i.types[uVar24].array[0] =\n           iVar13 << 0x11 | uVar18 << 0x12 | uVar20 << 0x13 |\n           ~anydisp.array[0] & i.types[uVar24].array[0];\n      puVar15 = ds;\n      puVar1 = (uint *)((long)i.types + uVar24 * 8 + 4);\n      *puVar1 = *puVar1 & uVar27;\nLAB_00133b80:\n      if (aVar19 != Cpu186) goto LAB_00133a67;\n    }\n    else {\n      uVar5 = (i.index_reg)->reg_num;\n      if ((byte)(uVar5 + 4) < 2) {\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/tc-i386.c",0x1b0b,"build_modrm_byte");\n      }\n      i.rm.regmem = 4;\n      if (i.base_reg == (reg_entry *)0x0) {\n        i.sib.base = 5;\n        i.sib.index = 0;\n        i.sib.scale = i.log2_scale_factor;\n        lVar3 = uVar24 * 8;\n        bVar6 = *(byte *)((long)i.types + lVar3 + 2);\n        bVar28 = flag_code == CODE_64BIT;\n        *(byte *)((long)i.types + lVar3 + 2) = bVar6 & 0xec;\n        if ((bVar28) && (i.prefix[2] == '\0')) {\n          *(byte *)((long)i.types + lVar3 + 2) = bVar6 & 0xe0 | 8;\n        }\n        else {\n          *(byte *)((long)i.types + uVar24 * 8 + 2) =\n               *(byte *)((long)i.types + uVar24 * 8 + 2) & 0xf3 | 4;\n        }\n      }\n      i.sib.index._0_1_ = uVar5;\n      i.sib.index._1_3_ = 0;\n      if ((prVar11->reg_flags & 1) != 0) {\n        i.rex = i.rex | 2;\n      }\n      if ((prVar11->reg_flags & 4) == 0) goto LAB_0013313d;\n      i.vrex = i.vrex | 2;\n      if (prVar10 == (reg_entry *)0x0) goto LAB_00133448;\nLAB_00133146:\n      bVar6 = prVar10->reg_num;\n      if (bVar6 < 0xfe) {\n        if (((ulong)prVar10->reg_type & 0x40000000) == 0) {\n          if ((flag_code == CODE_64BIT) && ((*(byte *)((long)i.types + uVar24 * 8 + 2) & 0x1f) != 0)\n             ) {\n            lVar3 = uVar24 * 8;\n            bVar25 = *(byte *)((long)i.types + lVar3 + 2);\n            bVar17 = bVar25 & 0xe1;\n            *(byte *)((long)i.types + lVar3 + 2) = bVar25 & 0xed;\n            if (i.prefix[2] == '\0') {\n              *(byte *)((long)i.types + lVar3 + 2) = bVar17 | 8;\n            }\n            else {\n              *(byte *)((long)i.types + lVar3 + 2) = bVar17 | 4;\n            }\n          }\n          if (bVar23 == 0) {\n            i.rm.regmem = (uint)bVar6;\n          }\n          if ((prVar10->reg_flags & 1) == 0) {\n            puVar15 = ss;\n            if (1 < (byte)(bVar6 - 4)) {\n              puVar15 = ds;\n            }\n          }\n          else {\n            i.rex = i.rex | 1;\n            puVar15 = ds;\n          }\n          i.sib.base = (uint)bVar6;\n          aVar19 = Cpu186;\n          if ((bVar6 == 5) && (aVar19 = Cpu186, i.disp_operands == 0)) {\n            aVar19 = Cpu286;\n            pbVar4 = (byte *)((long)i.types + uVar24 * 8 + 2);\n            *pbVar4 = *pbVar4 | 1;\n          }\n          aVar12 = i.disp_encoding;\n          i.sib.scale = i.log2_scale_factor;\n          if (i.index_reg == (reg_entry *)0x0) {\n            if (bVar23 != 0) {\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1bbf,"build_modrm_byte");\n            }\n            i.sib.index = 4;\n          }\n          else if (bVar23 == 0) {\n            i.rm.regmem = 4;\n            i.sib.index = (uint)(i.index_reg)->reg_num;\n            if ((byte)((i.index_reg)->reg_num + 4) < 2) {\n              i.sib.index = 4;\n            }\n            if (((i.index_reg)->reg_flags & 1) != 0) {\n              i.rex = i.rex | 2;\n            }\n          }\n          if (i.disp_operands == 0) {\n            if ((aVar19 == Cpu186) && (aVar19 = aVar12, i.disp_encoding != Cpu186)) {\n              if (i.disp_encoding == Cpu286) {\n                pbVar4 = (byte *)((long)i.types + uVar24 * 8 + 2);\n                *pbVar4 = *pbVar4 | 1;\n              }\n              else {\n                pbVar4 = (byte *)((long)i.types + uVar24 * 8 + 2);\n                *pbVar4 = *pbVar4 | 4;\n                aVar19 = Cpu286;\n              }\n            }\n          }\n          else if ((i.reloc[uVar24] == BFD_RELOC_386_TLS_DESC_CALL) ||\n                  (i.reloc[uVar24] == BFD_RELOC_X86_64_TLSDESC_CALL)) {\n            i.rm.mode = 0;\n            goto LAB_00133b80;\n          }\n        }\n        else {\n          if (bVar23 != 0) {\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/config/tc-i386.c",0x1b7c,"build_modrm_byte");\n          }\n          if (bVar6 == 3) {\n            if (i.index_reg != (reg_entry *)0x0) {\n              i.rm.regmem = (i.index_reg)->reg_num - 6;\n              goto LAB_0013317e;\n            }\n            i.rm.regmem = 7;\n            puVar15 = ds;\n            aVar19 = Cpu186;\n          }\n          else if (bVar6 == 5) {\n            if (i.index_reg == (reg_entry *)0x0) {\n              puVar15 = ss;\n              i.rm.regmem = 6;\n              aVar19 = Cpu186;\n              if ((*(byte *)((long)i.types + uVar24 * 8 + 2) & 0x1f) == 0) {\n                pbVar4 = (byte *)((long)i.types + uVar24 * 8 + 2);\n                *pbVar4 = *pbVar4 | 1;\n                aVar19 = Cpu286;\n              }\n            }\n            else {\n              i.rm.regmem = (i.index_reg)->reg_num - 4;\n              puVar15 = ss;\n              aVar19 = Cpu186;\n            }\n          }\n          else {\n            i.rm.regmem = bVar6 - 2;\nLAB_0013317e:\n            aVar19 = Cpu186;\n            puVar15 = ds;\n          }\n        }\n        i.rm.mode = 1;\n        if (((ulong)i.types[uVar24] >> 0x10 & 1) == 0) {\n          i.rm.mode = (uint)(((ulong)i.types[uVar24] & 0xe0000) != 0) * 2;\n        }\n        goto LAB_00133b80;\n      }\n      if (bVar23 != 0) {\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/tc-i386.c",0x1b6f,"build_modrm_byte");\n      }\n      i.rm.regmem = 5;\n      *(byte *)((long)i.types + uVar24 * 8 + 2) =\n           *(byte *)((long)i.types + uVar24 * 8 + 2) & 0xe0 | 8;\n      uVar18 = i.disp_operands;\n      i.flags[uVar24] = i.flags[uVar24] | 1;\n      if (uVar18 != 0) {\nLAB_00133424:\n        puVar15 = ds;\n        goto LAB_00133089;\n      }\nLAB_00133a60:\n      puVar15 = ds;\nLAB_00133a67:\n      if (i.op[uVar24].disps != (expressionS *)0x0) {\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/tc-i386.c",0x1bed,"build_modrm_byte");\n      }\n      uVar14 = (ulong)i.disp_operands;\n      i.disp_operands = i.disp_operands + 1;\n      i.op[uVar24].disps = disp_expressions + uVar14;\n      disp_expressions[uVar14].field_0x18 = 2;\n      disp_expressions[uVar14].X_add_number = 0;\n      disp_expressions[uVar14].X_add_symbol = (symbolS *)0x0;\n      disp_expressions[uVar14].X_op_symbol = (symbolS *)0x0;\n    }\n    bVar25 = i.tm.opcode_modifier._6_1_ & 0xc;\n  }\nLAB_00133089:\n  if (bVar25 == 4) {\n    if ((i.types[0].array[0]._1_1_ & 0xfc) == 0) {\n      if ((i.tm.opcode_modifier._5_1_ & 0x60) == 0x20) {\n        i.vex.register_specifier = i.op[0].regs;\n      }\n      else {\n        i.vex.register_specifier = i.op[1].regs;\n      }\n    }\n    else {\n      i.vex.register_specifier = (reg_entry *)0x0;\n    }\n    i.rm.reg = (uint)(i.op[2].regs)->reg_num;\n    if (((i.op[2].regs)->reg_flags & 1) != 0) {\n      i.rex = i.rex | 4;\n    }\n    if (i.mem_operands != 0) goto LAB_001330bc;\n    if ((i.tm.opcode_modifier._5_1_ & 0x60) == 0x20) {\n      bVar22 = (i.op[1].regs)->reg_num;\n    }\n    else {\n      bVar22 = (i.op[0].regs)->reg_num;\n    }\n    bVar25 = (i.op[1].regs)->reg_flags;\n  }\n  else {\n    bVar25 = i.tm.opcode_modifier._5_1_ & 0x18;\n    if (bVar25 != 0x18) {\n      if (i.reg_operands == 0) goto LAB_001330bc;\n      if ((((i.operands == 0) || ((i.types[0].array[0]._0_1_ & 1) != 0)) ||\n          ((i.types[0].array[0]._0_1_ & 2) != 0)) ||\n         (((i.types[0].array[0]._0_1_ & 4) != 0 || ((i.types[0].array[1]._1_1_ & 2) != 0)))) {\n        uVar24 = 0;\n      }\n      else {\n        uVar24 = 0;\n        if ((i.types[0].array[0]._0_1_ & 8) == 0) {\n          uVar14 = 0;\n          while( true ) {\n            bVar23 = *(byte *)(i.types + uVar14);\n            if ((((char)bVar23 < '\0') || ((*(byte *)((long)i.types + uVar14 * 8 + 1) & 1) != 0)) ||\n               (((bVar23 & 0x10) != 0 || (((bVar23 & 0x20) != 0 || ((bVar23 & 0x40) != 0))))))\n            goto LAB_00133670;\n            uVar18 = (int)uVar24 + 1;\n            uVar24 = (ulong)uVar18;\n            if (i.operands == uVar18) break;\n            uVar14 = (ulong)uVar18;\n            iVar8 = i.types[uVar14];\n            if ((((((ulong)iVar8 & 1) != 0) || (((ulong)iVar8 & 2) != 0)) ||\n                (((ulong)iVar8 & 4) != 0)) ||\n               (((*(byte *)((long)i.types + uVar14 * 8 + 5) & 2) != 0 ||\n                (((ulong)i.types[uVar14] & 8) != 0)))) goto LAB_00133670;\n          }\n          uVar24 = (ulong)i.operands;\n        }\n      }\nLAB_00133670:\n      uVar18 = (uint)uVar24;\n      if (bVar22 == 8) {\n        uVar18 = 0xffffffff;\n        uVar24 = uVar21;\nLAB_00133b96:\n        if (uVar18 != (uint)uVar24) goto LAB_001336a6;\n        if (i.mem_operands != 0) goto LAB_001330bc;\n      }\n      else {\n        uVar21 = uVar24;\n        if (bVar25 == 8) {\n          if (uVar26 == 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/config/tc-i386.c",0x1c44,"build_modrm_byte");\n          }\n          uVar20 = uVar18 + 1;\n          uVar21 = (ulong)uVar20;\n          uVar14 = uVar24;\n          if (uVar26 < uVar18) {\n            if (i.operands <= uVar20) {\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1c49,"build_modrm_byte");\n            }\n          }\n          else if (((*(byte *)((long)i.tm.operand_types + uVar24 * 8 + 2) & 0x40) == 0) &&\n                  ((*(byte *)((long)i.tm.operand_types + uVar21 * 8 + 2) & 0x40) != 0)) {\n            if ((i.operands <= uVar18 + 2) || (uVar26 != uVar20)) {\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1c55,"build_modrm_byte");\n            }\n            uVar21 = (ulong)(uVar18 + 2);\n          }\n          else {\n            uVar14 = uVar21;\n            uVar21 = uVar24;\n            uVar18 = uVar20;\n            if (i.operands <= uVar20) {\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1c5a,"build_modrm_byte");\n            }\n          }\nLAB_00133e49:\n          iVar8 = i.tm.operand_types[uVar14];\n          if (((((ulong)iVar8 & 1) == 0) ||\n              ((-1 < *(char *)((long)i.tm.operand_types + uVar14 * 8 + 3) &&\n               ((*(byte *)((long)i.tm.operand_types + uVar14 * 8 + 4) & 2) == 0)))) &&\n             ((((ulong)iVar8 & 4) == 0 &&\n              ((*(uint *)((long)i.tm.operand_types + uVar14 * 8 + 4) != regmask.array[1] ||\n               (i.tm.operand_types[uVar14].array[0] != regmask.array[0])))))) {\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/config/tc-i386.c",0x1c7b,"build_modrm_byte");\n          }\n          i.vex.register_specifier = i.op[uVar14].regs;\n          uVar24 = uVar21;\n          goto LAB_00133b96;\n        }\n        if (bVar25 == 0x10) {\n          if (i.mem_operands == 0) {\n            if (i.operands != uVar18 + 2) {\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1c65,"build_modrm_byte");\n            }\n            uVar14 = (ulong)(uVar18 + 1);\n            uVar18 = uVar18 + 1;\n          }\n          else {\n            if ((i.imm_operands + 2 <= uVar18) || (i.operands != i.imm_operands + 2)) {\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1c6c,"build_modrm_byte");\n            }\n            uVar18 = i.imm_operands + 1;\n            if (uVar18 == 0xffffffff) goto LAB_001336a6;\n            uVar14 = (ulong)uVar18;\n          }\n          goto LAB_00133e49;\n        }\n        if (i.operands <= uVar18) {\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/config/tc-i386.c",0x1c71,"build_modrm_byte");\n        }\nLAB_001336a6:\n        if (i.tm.extension_opcode == 0xffff) {\n          i.rm.reg = (uint)(i.op[uVar24].regs)->reg_num;\n          bVar22 = (i.op[uVar24].regs)->reg_flags;\n          if ((bVar22 & 1) != 0) {\n            i.rex = i.rex | 4;\n          }\n          if ((bVar22 & 4) != 0) {\n            i.vrex = i.vrex | 4;\n          }\n          if (i.mem_operands == 0) {\n            i.rm.mode = 3;\n            return (seg_entry *)puVar15;\n          }\n          return (seg_entry *)puVar15;\n        }\n        i.rm.regmem = (uint)(i.op[uVar24].regs)->reg_num;\n        bVar22 = (i.op[uVar24].regs)->reg_flags;\n        if ((bVar22 & 1) != 0) {\n          i.rex = i.rex | 1;\n        }\n        if ((bVar22 & 4) != 0) {\n          i.vrex = i.vrex | 1;\n        }\n        if (i.mem_operands != 0) {\n          i.rm.reg = i.tm.extension_opcode;\n          return (seg_entry *)puVar15;\n        }\n      }\n      i.rm.mode = 3;\n      goto LAB_001330bc;\n    }\n    i.vex.register_specifier = i.op[2].regs;\n    if (i.mem_operands != 0) goto LAB_001330bc;\n    bVar22 = (i.op[1].regs)->reg_num;\n    bVar25 = (i.op[1].regs)->reg_flags;\n  }\n  i.rm.regmem = (uint)bVar22;\n  i.rm.mode = 3;\n  if ((bVar25 & 1) != 0) {\n    i.rm.mode = 3;\n    i.rex = i.rex | 1;\n  }\nLAB_001330bc:\n  if (i.tm.extension_opcode != 0xffff) {\n    i.rm.reg = i.tm.extension_opcode;\n    return (seg_entry *)puVar15;\n  }\n  return (seg_entry *)puVar15;\n}" type_identifier (pointer_declarator "* build_modrm_byte(void)" * (function_declarator "build_modrm_byte(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) )))) (compound_statement "{\n  uint *puVar1;\n  i386_operand_type *piVar2;\n  long lVar3;\n  byte *pbVar4;\n  uchar uVar5;\n  byte bVar6;\n  expressionS *peVar7;\n  i386_operand_type iVar8;\n  undefined1 uVar9;\n  reg_entry *prVar10;\n  reg_entry *prVar11;\n  anon_enum_32 aVar12;\n  int iVar13;\n  ulong uVar14;\n  undefined1 *puVar15;\n  ulong uVar16;\n  byte bVar17;\n  uint uVar18;\n  anon_enum_32 aVar19;\n  uint uVar20;\n  ulong uVar21;\n  byte bVar22;\n  byte bVar23;\n  ulong uVar24;\n  byte bVar25;\n  uint uVar26;\n  uint uVar27;\n  bool bVar28;\n  \n  uVar9 = i.tm.opcode_modifier._6_1_;\n  uVar21 = 0;\n  uVar24 = 0;\n  bVar22 = i.tm.opcode_modifier._6_1_ & 0xc;\n  if (bVar22 == 8) {\n    uVar26 = i.operands - 1;\n    uVar21 = (ulong)uVar26;\n    uVar18 = i.operands - 2;\n    if (((i.reg_operands != 4) && ((i.reg_operands != 3 || (i.mem_operands != 1)))) ||\n       (((i.tm.opcode_modifier._5_1_ & 0x18) != 8 ||\n        (((i.tm.opcode_modifier._5_1_ & 0x60) == 0 || (((ulong)i.tm.operand_types[uVar21] & 4) == 0)\n         ))))) {\n                    /* WARNING: Subroutine does not return */\n      as_abort("../../gas/config/tc-i386.c",0x1a12,"build_modrm_byte");\n    }\n    uVar14 = (ulong)i.imm_operands;\n    uVar24 = (ulong)(i.imm_operands + 1);\n    if ((i.tm.opcode_modifier._5_1_ & 0x60) == 0x40) {\n      uVar24 = (ulong)i.imm_operands;\n      uVar14 = (ulong)(i.imm_operands + 1);\n    }\n    if (i.imm_operands == 0) {\n      uVar16 = (ulong)i.operands;\n      i.operands = i.operands + 1;\n      i.imm_operands = 1;\n      i.op[uVar16].disps = im_expressions;\n      i.types[uVar16] = (i386_operand_type)0x0;\n      *(undefined1 *)((long)i.types + uVar16 * 8 + 1) = 4;\n      if (((ulong)i.tm.operand_types[uVar14] & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/tc-i386.c",0x1a2a,"build_modrm_byte");\n      }\n      im_expressions[0]._24_1_ = 2;\n      bVar25 = (i.op[uVar14].regs)->reg_flags;\n      bVar23 = (i.op[uVar14].regs)->reg_num;\n      uVar26 = (uint)bVar23;\n      if ((bVar25 & 1) != 0) {\n        uVar26 = bVar23 + 8;\n      }\n      if ((bVar25 & 4) != 0) {\n        im_expressions[0].X_add_number = (offsetT)((uVar26 + 0x10) * 0x10);\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/tc-i386.c",0x1a2d,"build_modrm_byte");\n      }\n      im_expressions[0].X_add_number = (offsetT)(uVar26 << 4);\n    }\n    else {\n      if ((i.imm_operands != 1) || ((i.types[0].array[1]._1_1_ & 1) == 0)) {\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/tc-i386.c",0x1a33,"build_modrm_byte");\n      }\n      if ((i.tm.opcode_modifier._4_1_ & 0x20) == 0) {\n        i.types[0].array[0]._1_1_ = i.types[0].array[0]._1_1_ | 4;\n        uVar26 = 0;\n      }\n      else {\n        uVar24 = (ulong)((int)uVar24 - 1);\n        uVar14 = (ulong)((int)uVar14 - 1);\n      }\n      if (((ulong)i.tm.operand_types[uVar14] & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/tc-i386.c",0x1a45,"build_modrm_byte");\n      }\n      bVar25 = (i.op[uVar14].regs)->reg_flags;\n      bVar23 = (i.op[uVar14].regs)->reg_num;\n      uVar20 = (uint)bVar23;\n      if ((bVar25 & 1) != 0) {\n        uVar20 = bVar23 + 8;\n      }\n      peVar7 = i.op[uVar26].disps;\n      if ((bVar25 & 4) != 0) {\n        peVar7->X_add_number = (ulong)((uVar20 + 0x10) * 0x10) | peVar7->X_add_number;\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/tc-i386.c",0x1a48,"build_modrm_byte");\n      }\n      peVar7->X_add_number = (ulong)(uVar20 << 4) | peVar7->X_add_number;\n    }\n    if (((ulong)i.tm.operand_types[uVar18] & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n      as_abort("../../gas/config/tc-i386.c",0x1a4b,"build_modrm_byte");\n    }\n    i.vex.register_specifier = i.op[uVar18].regs;\n  }\n  prVar11 = i.index_reg;\n  prVar10 = i.base_reg;\n  uVar14 = (ulong)i.mem_operands;\n  bVar25 = bVar22;\n  if (i.mem_operands == 0) {\n    if (i.reg_operands == 2) {\n      if (((byte)i.tm.opcode_modifier._5_1_ >> 3 & 3) < 2) {\nLAB_0013335b:\n        if (i.operands == 3) {\nLAB_00133ea8:\n          if ((i.imm_operands != 1) &&\n             ((i.imm_operands != 0 ||\n              (((i.tm.opcode_modifier._5_1_ & 0x18) != 8 && ((i.types[0].array[0]._3_1_ & 1) == 0)))\n              ))) {\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/config/tc-i386.c",0x1a6b,"build_modrm_byte");\n          }\n          uVar14 = (ulong)((i.types[0].array[0]._1_1_ & 0xfc) != 0 ||\n                          (i.types[0].array[0]._3_1_ & 1) != 0);\n          uVar26 = 3;\n        }\n        else if (i.operands < 4) {\n          uVar26 = i.operands;\n          if (i.operands != 2) goto LAB_00133dcf;\n        }\n        else {\n          if (i.operands != 4) goto joined_r0x00133753;\nLAB_00133379:\n          uVar14 = (ulong)i.imm_operands;\n          if (i.imm_operands == 2) {\n            if (((i.types[0].array[0]._1_1_ & 4) == 0) || ((i.types[1].array[0]._1_1_ & 4) == 0))\n            goto LAB_00133d61;\n          }\n          else {\n            if ((((i.tm.opcode_modifier._5_1_ & 0x18) != 8) || (i.imm_operands != 1)) ||\n               ((((i.types[0].array[0]._1_1_ & 4) == 0 && ((i.types[3].array[0]._1_1_ & 4) == 0)) &&\n                (i.rounding == (RC_Operation *)0x0)))) {\nLAB_00133d61:\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1a81,"build_modrm_byte");\n            }\n            uVar14 = (ulong)((i.types[0].array[0]._1_1_ & 4) != 0);\n          }\n          uVar26 = 4;\n        }\nLAB_001337c1:\n        if (bVar22 != 8) {\n          uVar18 = (int)uVar14 + 1;\n          uVar21 = (ulong)uVar18;\n          if ((i.rounding != (RC_Operation *)0x0) && ((i.rounding)->operand == uVar18)) {\n            uVar21 = (ulong)((int)uVar14 + 2);\n          }\n          if ((i.tm.opcode_modifier._5_1_ & 0x18) == 8) {\n            uVar24 = uVar14;\n            uVar16 = uVar21;\n            if (((*(byte *)((long)i.tm.operand_types + uVar14 * 8 + 2) & 0x40) == 0) &&\n               ((*(byte *)((long)i.tm.operand_types + uVar21 * 8 + 2) & 0x40) != 0)) {\n              uVar24 = uVar21;\n              uVar16 = uVar14;\n            }\n            uVar20 = (int)uVar21 + 1;\n            uVar21 = (ulong)uVar20;\n            uVar14 = *(ulong *)i.tm.operand_types[uVar16].array;\n            uVar18 = *(uint *)((long)i.tm.operand_types + uVar16 * 8 + 4);\n            if ((uVar26 <= uVar20) ||\n               ((((uVar14 & 1) == 0 ||\n                 ((-1 < (char)((uVar14 & 0xfffffffff7ffffff) >> 0x18) && ((uVar18 & 2) == 0)))) &&\n                (((uVar14 & 4) == 0 &&\n                 ((regmask.array[0] != (uint)(uVar14 & 0xfffffffff7ffffff) ||\n                  (regmask.array[1] != uVar18)))))))) {\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1ac9,"build_modrm_byte");\n            }\n            i.vex.register_specifier = i.op[uVar16].regs;\n            uVar14 = uVar24;\n          }\n        }\nLAB_001337ff:\n        i.rm.mode = 3;\n        if (((*(byte *)((long)i.tm.operand_types + uVar21 * 8 + 3) & 8) == 0) &&\n           (((ulong)i.tm.operand_types[uVar21] & 0x5f0000) == 0)) {\n          i.rm.reg = (uint)(i.op[uVar21].regs)->reg_num;\n          i.rm.regmem = (uint)(i.op[uVar14].regs)->reg_num;\n          bVar22 = (i.op[uVar21].regs)->reg_flags;\n          if ((bVar22 & 1) != 0) {\n            i.rex = i.rex | 4;\n          }\n          if ((bVar22 & 4) != 0) {\n            i.vrex = i.vrex | 4;\n          }\n          bVar22 = (i.op[uVar14].regs)->reg_flags;\n          if ((bVar22 & 1) != 0) {\n            i.rex = i.rex | 1;\n          }\n          if ((bVar22 & 4) != 0) {\n            i.vrex = i.vrex | 1;\n          }\n        }\n        else {\n          i.rm.reg = (uint)(i.op[uVar14].regs)->reg_num;\n          i.rm.regmem = (uint)(i.op[uVar21].regs)->reg_num;\n          bVar22 = (i.op[uVar21].regs)->reg_flags;\n          if ((bVar22 & 1) != 0) {\n            i.rex = i.rex | 1;\n          }\n          if ((bVar22 & 4) != 0) {\n            i.vrex = i.vrex | 1;\n          }\n          bVar22 = (i.op[uVar14].regs)->reg_flags;\n          if ((bVar22 & 1) != 0) {\n            i.rex = i.rex | 4;\n          }\n          if ((bVar22 & 4) != 0) {\n            i.vrex = i.vrex | 4;\n          }\n        }\n        if ((flag_code != CODE_64BIT) && ((i.rex & 4U) != 0)) {\n          if (((ulong)i.types[(byte)i.tm.operand_types[0].array[0]._3_1_ >> 3 & 1] & 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/config/tc-i386.c",0x1af4,"build_modrm_byte");\n          }\n          i.rex = i.rex & 0xfffffffb;\n          add_prefix(0xf0);\n          return (seg_entry *)0x0;\n        }\n        i.rm.mode = 3;\n        return (seg_entry *)0x0;\n      }\n    }\n    else if (i.reg_operands == 3) {\n      if ((i.tm.opcode_modifier._5_1_ & 0x18) == 8) goto LAB_0013335b;\n    }\n    else if ((i.reg_operands == 4) && (bVar22 == 8)) {\n      if (i.operands == 3) goto LAB_00133ea8;\n      if (i.operands < 4) {\n        if (i.operands != 2) goto LAB_00133dcf;\n        goto LAB_001337ff;\n      }\n      if (i.operands == 4) goto LAB_00133379;\njoined_r0x00133753:\n      if (i.operands != 5) {\nLAB_00133dcf:\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/tc-i386.c",0x1aa0,"build_modrm_byte");\n      }\n      if (i.tm.opcode_modifier._7_1_ == '\0') {\n        uVar14 = uVar24;\n        uVar26 = 5;\n      }\n      else {\n        if (((i.imm_operands != 2) || (-1 < (char)i.tm.opcode_modifier._7_1_)) ||\n           ((i.types[0].array[0]._1_1_ & 0xfc) == 0)) {\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/config/tc-i386.c",0x1a96,"build_modrm_byte");\n        }\n        if ((i.types[1].array[0]._1_1_ & 0xfc) == 0) {\n          if ((i.types[4].array[0]._1_1_ & 0xfc) == 0) {\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/config/tc-i386.c",0x1a9c,"build_modrm_byte");\n          }\n          uVar14 = 1;\n          uVar26 = 5;\n        }\n        else {\n          uVar14 = (ulong)i.imm_operands;\n          uVar26 = 5;\n        }\n      }\n      goto LAB_001337c1;\n    }\n    uVar26 = 0xffffffff;\n    puVar15 = (undefined1 *)0x0;\n  }\n  else {\n    if (i.operands == 0) {\nLAB_0013303b:\n                    /* WARNING: Subroutine does not return */\n      as_abort("../../gas/config/tc-i386.c",0x1b05,"build_modrm_byte");\n    }\n    if ((i.types[0].array[0]._2_1_ & 0x5f) == 0) {\n      uVar14 = 1;\n      do {\n        uVar24 = uVar14 & 0xffffffff;\n        if (i.operands <= (uint)uVar14) goto LAB_0013303b;\n        piVar2 = i.types + uVar14;\n        uVar14 = uVar14 + 1;\n      } while (((ulong)*piVar2 & 0x5f0000) == 0);\n    }\n    else {\n      uVar24 = 0;\n    }\n    bVar23 = uVar9 & 0x30;\n    uVar26 = (uint)uVar24;\n    if (bVar23 == 0) {\nLAB_0013313d:\n      if (prVar10 != (reg_entry *)0x0) goto LAB_00133146;\nLAB_00133448:\n      prVar10 = i.index_reg;\n      i.rm.mode = 0;\n      if (i.disp_operands == 0) {\n        if (i.index_reg == (reg_entry *)0x0) {\n          aVar19 = Cpu286;\n          goto LAB_00133cae;\n        }\n        if (bVar23 == 0) {\n          aVar19 = Cpu286;\n          goto LAB_00133af0;\n        }\n        goto LAB_00133a60;\n      }\n      if (i.index_reg != (reg_entry *)0x0) {\n        if (bVar23 == 0) {\n          aVar19 = Cpu186;\nLAB_00133af0:\n          i.sib.index = (uint)(i.index_reg)->reg_num;\n          i.rm.regmem = 4;\n          if ((byte)((i.index_reg)->reg_num + 4) < 2) {\n            i.sib.index = 4;\n          }\n          i.sib.base = 5;\n          i.sib.scale = i.log2_scale_factor;\n          lVar3 = uVar24 * 8;\n          bVar25 = *(byte *)((long)i.types + lVar3 + 2);\n          bVar28 = flag_code == CODE_64BIT;\n          *(byte *)((long)i.types + lVar3 + 2) = bVar25 & 0xec;\n          if ((bVar28) && (i.prefix[2] == '\0')) {\n            *(byte *)((long)i.types + lVar3 + 2) = bVar25 & 0xe0 | 8;\n          }\n          else {\n            *(byte *)((long)i.types + uVar24 * 8 + 2) =\n                 *(byte *)((long)i.types + uVar24 * 8 + 2) & 0xf3 | 4;\n          }\n          puVar15 = ds;\n          if ((prVar10->reg_flags & 1) != 0) {\n            i.rex = i.rex | 2;\n          }\n          goto LAB_00133b80;\n        }\n        goto LAB_00133424;\n      }\n      aVar19 = Cpu186;\nLAB_00133cae:\n      if (bVar23 != 0) {\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/tc-i386.c",0x1b33,"build_modrm_byte");\n      }\n      if (flag_code == CODE_64BIT) {\n        i.rm.regmem = 4;\n        uVar20 = (uint)(i.prefix[2] == '\0');\n        uVar18 = (uint)(i.prefix[2] != '\0');\n        i.sib.base = 5;\n        i.sib.index = 4;\n        iVar13 = 0;\n      }\n      else if ((flag_code == CODE_16BIT) == (i.prefix[2] != '\0')) {\n        i.rm.regmem = 5;\n        uVar20 = 0;\n        uVar18 = 1;\n        iVar13 = 0;\n      }\n      else {\n        i.rm.regmem = 6;\n        uVar20 = 0;\n        uVar18 = 0;\n        iVar13 = 1;\n      }\n      uVar27 = ~anydisp.array[1];\n      i.types[uVar24].array[0] =\n           iVar13 << 0x11 | uVar18 << 0x12 | uVar20 << 0x13 |\n           ~anydisp.array[0] & i.types[uVar24].array[0];\n      puVar15 = ds;\n      puVar1 = (uint *)((long)i.types + uVar24 * 8 + 4);\n      *puVar1 = *puVar1 & uVar27;\nLAB_00133b80:\n      if (aVar19 != Cpu186) goto LAB_00133a67;\n    }\n    else {\n      uVar5 = (i.index_reg)->reg_num;\n      if ((byte)(uVar5 + 4) < 2) {\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/tc-i386.c",0x1b0b,"build_modrm_byte");\n      }\n      i.rm.regmem = 4;\n      if (i.base_reg == (reg_entry *)0x0) {\n        i.sib.base = 5;\n        i.sib.index = 0;\n        i.sib.scale = i.log2_scale_factor;\n        lVar3 = uVar24 * 8;\n        bVar6 = *(byte *)((long)i.types + lVar3 + 2);\n        bVar28 = flag_code == CODE_64BIT;\n        *(byte *)((long)i.types + lVar3 + 2) = bVar6 & 0xec;\n        if ((bVar28) && (i.prefix[2] == '\0')) {\n          *(byte *)((long)i.types + lVar3 + 2) = bVar6 & 0xe0 | 8;\n        }\n        else {\n          *(byte *)((long)i.types + uVar24 * 8 + 2) =\n               *(byte *)((long)i.types + uVar24 * 8 + 2) & 0xf3 | 4;\n        }\n      }\n      i.sib.index._0_1_ = uVar5;\n      i.sib.index._1_3_ = 0;\n      if ((prVar11->reg_flags & 1) != 0) {\n        i.rex = i.rex | 2;\n      }\n      if ((prVar11->reg_flags & 4) == 0) goto LAB_0013313d;\n      i.vrex = i.vrex | 2;\n      if (prVar10 == (reg_entry *)0x0) goto LAB_00133448;\nLAB_00133146:\n      bVar6 = prVar10->reg_num;\n      if (bVar6 < 0xfe) {\n        if (((ulong)prVar10->reg_type & 0x40000000) == 0) {\n          if ((flag_code == CODE_64BIT) && ((*(byte *)((long)i.types + uVar24 * 8 + 2) & 0x1f) != 0)\n             ) {\n            lVar3 = uVar24 * 8;\n            bVar25 = *(byte *)((long)i.types + lVar3 + 2);\n            bVar17 = bVar25 & 0xe1;\n            *(byte *)((long)i.types + lVar3 + 2) = bVar25 & 0xed;\n            if (i.prefix[2] == '\0') {\n              *(byte *)((long)i.types + lVar3 + 2) = bVar17 | 8;\n            }\n            else {\n              *(byte *)((long)i.types + lVar3 + 2) = bVar17 | 4;\n            }\n          }\n          if (bVar23 == 0) {\n            i.rm.regmem = (uint)bVar6;\n          }\n          if ((prVar10->reg_flags & 1) == 0) {\n            puVar15 = ss;\n            if (1 < (byte)(bVar6 - 4)) {\n              puVar15 = ds;\n            }\n          }\n          else {\n            i.rex = i.rex | 1;\n            puVar15 = ds;\n          }\n          i.sib.base = (uint)bVar6;\n          aVar19 = Cpu186;\n          if ((bVar6 == 5) && (aVar19 = Cpu186, i.disp_operands == 0)) {\n            aVar19 = Cpu286;\n            pbVar4 = (byte *)((long)i.types + uVar24 * 8 + 2);\n            *pbVar4 = *pbVar4 | 1;\n          }\n          aVar12 = i.disp_encoding;\n          i.sib.scale = i.log2_scale_factor;\n          if (i.index_reg == (reg_entry *)0x0) {\n            if (bVar23 != 0) {\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1bbf,"build_modrm_byte");\n            }\n            i.sib.index = 4;\n          }\n          else if (bVar23 == 0) {\n            i.rm.regmem = 4;\n            i.sib.index = (uint)(i.index_reg)->reg_num;\n            if ((byte)((i.index_reg)->reg_num + 4) < 2) {\n              i.sib.index = 4;\n            }\n            if (((i.index_reg)->reg_flags & 1) != 0) {\n              i.rex = i.rex | 2;\n            }\n          }\n          if (i.disp_operands == 0) {\n            if ((aVar19 == Cpu186) && (aVar19 = aVar12, i.disp_encoding != Cpu186)) {\n              if (i.disp_encoding == Cpu286) {\n                pbVar4 = (byte *)((long)i.types + uVar24 * 8 + 2);\n                *pbVar4 = *pbVar4 | 1;\n              }\n              else {\n                pbVar4 = (byte *)((long)i.types + uVar24 * 8 + 2);\n                *pbVar4 = *pbVar4 | 4;\n                aVar19 = Cpu286;\n              }\n            }\n          }\n          else if ((i.reloc[uVar24] == BFD_RELOC_386_TLS_DESC_CALL) ||\n                  (i.reloc[uVar24] == BFD_RELOC_X86_64_TLSDESC_CALL)) {\n            i.rm.mode = 0;\n            goto LAB_00133b80;\n          }\n        }\n        else {\n          if (bVar23 != 0) {\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/config/tc-i386.c",0x1b7c,"build_modrm_byte");\n          }\n          if (bVar6 == 3) {\n            if (i.index_reg != (reg_entry *)0x0) {\n              i.rm.regmem = (i.index_reg)->reg_num - 6;\n              goto LAB_0013317e;\n            }\n            i.rm.regmem = 7;\n            puVar15 = ds;\n            aVar19 = Cpu186;\n          }\n          else if (bVar6 == 5) {\n            if (i.index_reg == (reg_entry *)0x0) {\n              puVar15 = ss;\n              i.rm.regmem = 6;\n              aVar19 = Cpu186;\n              if ((*(byte *)((long)i.types + uVar24 * 8 + 2) & 0x1f) == 0) {\n                pbVar4 = (byte *)((long)i.types + uVar24 * 8 + 2);\n                *pbVar4 = *pbVar4 | 1;\n                aVar19 = Cpu286;\n              }\n            }\n            else {\n              i.rm.regmem = (i.index_reg)->reg_num - 4;\n              puVar15 = ss;\n              aVar19 = Cpu186;\n            }\n          }\n          else {\n            i.rm.regmem = bVar6 - 2;\nLAB_0013317e:\n            aVar19 = Cpu186;\n            puVar15 = ds;\n          }\n        }\n        i.rm.mode = 1;\n        if (((ulong)i.types[uVar24] >> 0x10 & 1) == 0) {\n          i.rm.mode = (uint)(((ulong)i.types[uVar24] & 0xe0000) != 0) * 2;\n        }\n        goto LAB_00133b80;\n      }\n      if (bVar23 != 0) {\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/tc-i386.c",0x1b6f,"build_modrm_byte");\n      }\n      i.rm.regmem = 5;\n      *(byte *)((long)i.types + uVar24 * 8 + 2) =\n           *(byte *)((long)i.types + uVar24 * 8 + 2) & 0xe0 | 8;\n      uVar18 = i.disp_operands;\n      i.flags[uVar24] = i.flags[uVar24] | 1;\n      if (uVar18 != 0) {\nLAB_00133424:\n        puVar15 = ds;\n        goto LAB_00133089;\n      }\nLAB_00133a60:\n      puVar15 = ds;\nLAB_00133a67:\n      if (i.op[uVar24].disps != (expressionS *)0x0) {\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/tc-i386.c",0x1bed,"build_modrm_byte");\n      }\n      uVar14 = (ulong)i.disp_operands;\n      i.disp_operands = i.disp_operands + 1;\n      i.op[uVar24].disps = disp_expressions + uVar14;\n      disp_expressions[uVar14].field_0x18 = 2;\n      disp_expressions[uVar14].X_add_number = 0;\n      disp_expressions[uVar14].X_add_symbol = (symbolS *)0x0;\n      disp_expressions[uVar14].X_op_symbol = (symbolS *)0x0;\n    }\n    bVar25 = i.tm.opcode_modifier._6_1_ & 0xc;\n  }\nLAB_00133089:\n  if (bVar25 == 4) {\n    if ((i.types[0].array[0]._1_1_ & 0xfc) == 0) {\n      if ((i.tm.opcode_modifier._5_1_ & 0x60) == 0x20) {\n        i.vex.register_specifier = i.op[0].regs;\n      }\n      else {\n        i.vex.register_specifier = i.op[1].regs;\n      }\n    }\n    else {\n      i.vex.register_specifier = (reg_entry *)0x0;\n    }\n    i.rm.reg = (uint)(i.op[2].regs)->reg_num;\n    if (((i.op[2].regs)->reg_flags & 1) != 0) {\n      i.rex = i.rex | 4;\n    }\n    if (i.mem_operands != 0) goto LAB_001330bc;\n    if ((i.tm.opcode_modifier._5_1_ & 0x60) == 0x20) {\n      bVar22 = (i.op[1].regs)->reg_num;\n    }\n    else {\n      bVar22 = (i.op[0].regs)->reg_num;\n    }\n    bVar25 = (i.op[1].regs)->reg_flags;\n  }\n  else {\n    bVar25 = i.tm.opcode_modifier._5_1_ & 0x18;\n    if (bVar25 != 0x18) {\n      if (i.reg_operands == 0) goto LAB_001330bc;\n      if ((((i.operands == 0) || ((i.types[0].array[0]._0_1_ & 1) != 0)) ||\n          ((i.types[0].array[0]._0_1_ & 2) != 0)) ||\n         (((i.types[0].array[0]._0_1_ & 4) != 0 || ((i.types[0].array[1]._1_1_ & 2) != 0)))) {\n        uVar24 = 0;\n      }\n      else {\n        uVar24 = 0;\n        if ((i.types[0].array[0]._0_1_ & 8) == 0) {\n          uVar14 = 0;\n          while( true ) {\n            bVar23 = *(byte *)(i.types + uVar14);\n            if ((((char)bVar23 < '\0') || ((*(byte *)((long)i.types + uVar14 * 8 + 1) & 1) != 0)) ||\n               (((bVar23 & 0x10) != 0 || (((bVar23 & 0x20) != 0 || ((bVar23 & 0x40) != 0))))))\n            goto LAB_00133670;\n            uVar18 = (int)uVar24 + 1;\n            uVar24 = (ulong)uVar18;\n            if (i.operands == uVar18) break;\n            uVar14 = (ulong)uVar18;\n            iVar8 = i.types[uVar14];\n            if ((((((ulong)iVar8 & 1) != 0) || (((ulong)iVar8 & 2) != 0)) ||\n                (((ulong)iVar8 & 4) != 0)) ||\n               (((*(byte *)((long)i.types + uVar14 * 8 + 5) & 2) != 0 ||\n                (((ulong)i.types[uVar14] & 8) != 0)))) goto LAB_00133670;\n          }\n          uVar24 = (ulong)i.operands;\n        }\n      }\nLAB_00133670:\n      uVar18 = (uint)uVar24;\n      if (bVar22 == 8) {\n        uVar18 = 0xffffffff;\n        uVar24 = uVar21;\nLAB_00133b96:\n        if (uVar18 != (uint)uVar24) goto LAB_001336a6;\n        if (i.mem_operands != 0) goto LAB_001330bc;\n      }\n      else {\n        uVar21 = uVar24;\n        if (bVar25 == 8) {\n          if (uVar26 == 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/config/tc-i386.c",0x1c44,"build_modrm_byte");\n          }\n          uVar20 = uVar18 + 1;\n          uVar21 = (ulong)uVar20;\n          uVar14 = uVar24;\n          if (uVar26 < uVar18) {\n            if (i.operands <= uVar20) {\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1c49,"build_modrm_byte");\n            }\n          }\n          else if (((*(byte *)((long)i.tm.operand_types + uVar24 * 8 + 2) & 0x40) == 0) &&\n                  ((*(byte *)((long)i.tm.operand_types + uVar21 * 8 + 2) & 0x40) != 0)) {\n            if ((i.operands <= uVar18 + 2) || (uVar26 != uVar20)) {\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1c55,"build_modrm_byte");\n            }\n            uVar21 = (ulong)(uVar18 + 2);\n          }\n          else {\n            uVar14 = uVar21;\n            uVar21 = uVar24;\n            uVar18 = uVar20;\n            if (i.operands <= uVar20) {\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1c5a,"build_modrm_byte");\n            }\n          }\nLAB_00133e49:\n          iVar8 = i.tm.operand_types[uVar14];\n          if (((((ulong)iVar8 & 1) == 0) ||\n              ((-1 < *(char *)((long)i.tm.operand_types + uVar14 * 8 + 3) &&\n               ((*(byte *)((long)i.tm.operand_types + uVar14 * 8 + 4) & 2) == 0)))) &&\n             ((((ulong)iVar8 & 4) == 0 &&\n              ((*(uint *)((long)i.tm.operand_types + uVar14 * 8 + 4) != regmask.array[1] ||\n               (i.tm.operand_types[uVar14].array[0] != regmask.array[0])))))) {\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/config/tc-i386.c",0x1c7b,"build_modrm_byte");\n          }\n          i.vex.register_specifier = i.op[uVar14].regs;\n          uVar24 = uVar21;\n          goto LAB_00133b96;\n        }\n        if (bVar25 == 0x10) {\n          if (i.mem_operands == 0) {\n            if (i.operands != uVar18 + 2) {\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1c65,"build_modrm_byte");\n            }\n            uVar14 = (ulong)(uVar18 + 1);\n            uVar18 = uVar18 + 1;\n          }\n          else {\n            if ((i.imm_operands + 2 <= uVar18) || (i.operands != i.imm_operands + 2)) {\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1c6c,"build_modrm_byte");\n            }\n            uVar18 = i.imm_operands + 1;\n            if (uVar18 == 0xffffffff) goto LAB_001336a6;\n            uVar14 = (ulong)uVar18;\n          }\n          goto LAB_00133e49;\n        }\n        if (i.operands <= uVar18) {\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/config/tc-i386.c",0x1c71,"build_modrm_byte");\n        }\nLAB_001336a6:\n        if (i.tm.extension_opcode == 0xffff) {\n          i.rm.reg = (uint)(i.op[uVar24].regs)->reg_num;\n          bVar22 = (i.op[uVar24].regs)->reg_flags;\n          if ((bVar22 & 1) != 0) {\n            i.rex = i.rex | 4;\n          }\n          if ((bVar22 & 4) != 0) {\n            i.vrex = i.vrex | 4;\n          }\n          if (i.mem_operands == 0) {\n            i.rm.mode = 3;\n            return (seg_entry *)puVar15;\n          }\n          return (seg_entry *)puVar15;\n        }\n        i.rm.regmem = (uint)(i.op[uVar24].regs)->reg_num;\n        bVar22 = (i.op[uVar24].regs)->reg_flags;\n        if ((bVar22 & 1) != 0) {\n          i.rex = i.rex | 1;\n        }\n        if ((bVar22 & 4) != 0) {\n          i.vrex = i.vrex | 1;\n        }\n        if (i.mem_operands != 0) {\n          i.rm.reg = i.tm.extension_opcode;\n          return (seg_entry *)puVar15;\n        }\n      }\n      i.rm.mode = 3;\n      goto LAB_001330bc;\n    }\n    i.vex.register_specifier = i.op[2].regs;\n    if (i.mem_operands != 0) goto LAB_001330bc;\n    bVar22 = (i.op[1].regs)->reg_num;\n    bVar25 = (i.op[1].regs)->reg_flags;\n  }\n  i.rm.regmem = (uint)bVar22;\n  i.rm.mode = 3;\n  if ((bVar25 & 1) != 0) {\n    i.rm.mode = 3;\n    i.rex = i.rex | 1;\n  }\nLAB_001330bc:\n  if (i.tm.extension_opcode != 0xffff) {\n    i.rm.reg = i.tm.extension_opcode;\n    return (seg_entry *)puVar15;\n  }\n  return (seg_entry *)puVar15;\n}" { (declaration "uint *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "i386_operand_type *piVar2;" type_identifier (pointer_declarator "*piVar2" * identifier) ;) (declaration "long lVar3;" (sized_type_specifier "long" long) identifier ;) (declaration "byte *pbVar4;" type_identifier (pointer_declarator "*pbVar4" * identifier) ;) (declaration "uchar uVar5;" type_identifier identifier ;) (declaration "byte bVar6;" type_identifier identifier ;) (declaration "expressionS *peVar7;" type_identifier (pointer_declarator "*peVar7" * identifier) ;) (declaration "i386_operand_type iVar8;" type_identifier identifier ;) (declaration "undefined1 uVar9;" type_identifier identifier ;) (declaration "reg_entry *prVar10;" type_identifier (pointer_declarator "*prVar10" * identifier) ;) (declaration "reg_entry *prVar11;" type_identifier (pointer_declarator "*prVar11" * identifier) ;) (declaration "anon_enum_32 aVar12;" type_identifier identifier ;) (declaration "int iVar13;" primitive_type identifier ;) (declaration "ulong uVar14;" type_identifier identifier ;) (declaration "undefined1 *puVar15;" type_identifier (pointer_declarator "*puVar15" * identifier) ;) (declaration "ulong uVar16;" type_identifier identifier ;) (declaration "byte bVar17;" type_identifier identifier ;) (declaration "uint uVar18;" type_identifier identifier ;) (declaration "anon_enum_32 aVar19;" type_identifier identifier ;) (declaration "uint uVar20;" type_identifier identifier ;) (declaration "ulong uVar21;" type_identifier identifier ;) (declaration "byte bVar22;" type_identifier identifier ;) (declaration "byte bVar23;" type_identifier identifier ;) (declaration "ulong uVar24;" type_identifier identifier ;) (declaration "byte bVar25;" type_identifier identifier ;) (declaration "uint uVar26;" type_identifier identifier ;) (declaration "uint uVar27;" type_identifier identifier ;) (declaration "bool bVar28;" primitive_type identifier ;) (expression_statement "uVar9 = i.tm.opcode_modifier._6_1_;" (assignment_expression "uVar9 = i.tm.opcode_modifier._6_1_" identifier = (field_expression "i.tm.opcode_modifier._6_1_" (field_expression "i.tm.opcode_modifier" (field_expression "i.tm" identifier . field_identifier) . field_identifier) . field_identifier)) ;) (expression_statement "uVar21 = 0;" (assignment_expression "uVar21 = 0" identifier = number_literal) ;) (expression_statement "uVar24 = 0;" (assignment_expression "uVar24 = 0" identifier = number_literal) ;) (expression_statement "bVar22 = i.tm.opcode_modifier._6_1_ & 0xc;" (assignment_expression "bVar22 = i.tm.opcode_modifier._6_1_ & 0xc" identifier = (binary_expression "i.tm.opcode_modifier._6_1_ & 0xc" (field_expression "i.tm.opcode_modifier._6_1_" (field_expression "i.tm.opcode_modifier" (field_expression "i.tm" identifier . field_identifier) . field_identifier) . field_identifier) & number_literal)) ;) (if_statement "if (bVar22 == 8) {\n    uVar26 = i.operands - 1;\n    uVar21 = (ulong)uVar26;\n    uVar18 = i.operands - 2;\n    if (((i.reg_operands != 4) && ((i.reg_operands != 3 || (i.mem_operands != 1)))) ||\n       (((i.tm.opcode_modifier._5_1_ & 0x18) != 8 ||\n        (((i.tm.opcode_modifier._5_1_ & 0x60) == 0 || (((ulong)i.tm.operand_types[uVar21] & 4) == 0)\n         ))))) {\n                    /* WARNING: Subroutine does not return */\n      as_abort("../../gas/config/tc-i386.c",0x1a12,"build_modrm_byte");\n    }\n    uVar14 = (ulong)i.imm_operands;\n    uVar24 = (ulong)(i.imm_operands + 1);\n    if ((i.tm.opcode_modifier._5_1_ & 0x60) == 0x40) {\n      uVar24 = (ulong)i.imm_operands;\n      uVar14 = (ulong)(i.imm_operands + 1);\n    }\n    if (i.imm_operands == 0) {\n      uVar16 = (ulong)i.operands;\n      i.operands = i.operands + 1;\n      i.imm_operands = 1;\n      i.op[uVar16].disps = im_expressions;\n      i.types[uVar16] = (i386_operand_type)0x0;\n      *(undefined1 *)((long)i.types + uVar16 * 8 + 1) = 4;\n      if (((ulong)i.tm.operand_types[uVar14] & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/tc-i386.c",0x1a2a,"build_modrm_byte");\n      }\n      im_expressions[0]._24_1_ = 2;\n      bVar25 = (i.op[uVar14].regs)->reg_flags;\n      bVar23 = (i.op[uVar14].regs)->reg_num;\n      uVar26 = (uint)bVar23;\n      if ((bVar25 & 1) != 0) {\n        uVar26 = bVar23 + 8;\n      }\n      if ((bVar25 & 4) != 0) {\n        im_expressions[0].X_add_number = (offsetT)((uVar26 + 0x10) * 0x10);\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/tc-i386.c",0x1a2d,"build_modrm_byte");\n      }\n      im_expressions[0].X_add_number = (offsetT)(uVar26 << 4);\n    }\n    else {\n      if ((i.imm_operands != 1) || ((i.types[0].array[1]._1_1_ & 1) == 0)) {\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/tc-i386.c",0x1a33,"build_modrm_byte");\n      }\n      if ((i.tm.opcode_modifier._4_1_ & 0x20) == 0) {\n        i.types[0].array[0]._1_1_ = i.types[0].array[0]._1_1_ | 4;\n        uVar26 = 0;\n      }\n      else {\n        uVar24 = (ulong)((int)uVar24 - 1);\n        uVar14 = (ulong)((int)uVar14 - 1);\n      }\n      if (((ulong)i.tm.operand_types[uVar14] & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/tc-i386.c",0x1a45,"build_modrm_byte");\n      }\n      bVar25 = (i.op[uVar14].regs)->reg_flags;\n      bVar23 = (i.op[uVar14].regs)->reg_num;\n      uVar20 = (uint)bVar23;\n      if ((bVar25 & 1) != 0) {\n        uVar20 = bVar23 + 8;\n      }\n      peVar7 = i.op[uVar26].disps;\n      if ((bVar25 & 4) != 0) {\n        peVar7->X_add_number = (ulong)((uVar20 + 0x10) * 0x10) | peVar7->X_add_number;\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/tc-i386.c",0x1a48,"build_modrm_byte");\n      }\n      peVar7->X_add_number = (ulong)(uVar20 << 4) | peVar7->X_add_number;\n    }\n    if (((ulong)i.tm.operand_types[uVar18] & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n      as_abort("../../gas/config/tc-i386.c",0x1a4b,"build_modrm_byte");\n    }\n    i.vex.register_specifier = i.op[uVar18].regs;\n  }" if (parenthesized_expression "(bVar22 == 8)" ( (binary_expression "bVar22 == 8" identifier == number_literal) )) (compound_statement "{\n    uVar26 = i.operands - 1;\n    uVar21 = (ulong)uVar26;\n    uVar18 = i.operands - 2;\n    if (((i.reg_operands != 4) && ((i.reg_operands != 3 || (i.mem_operands != 1)))) ||\n       (((i.tm.opcode_modifier._5_1_ & 0x18) != 8 ||\n        (((i.tm.opcode_modifier._5_1_ & 0x60) == 0 || (((ulong)i.tm.operand_types[uVar21] & 4) == 0)\n         ))))) {\n                    /* WARNING: Subroutine does not return */\n      as_abort("../../gas/config/tc-i386.c",0x1a12,"build_modrm_byte");\n    }\n    uVar14 = (ulong)i.imm_operands;\n    uVar24 = (ulong)(i.imm_operands + 1);\n    if ((i.tm.opcode_modifier._5_1_ & 0x60) == 0x40) {\n      uVar24 = (ulong)i.imm_operands;\n      uVar14 = (ulong)(i.imm_operands + 1);\n    }\n    if (i.imm_operands == 0) {\n      uVar16 = (ulong)i.operands;\n      i.operands = i.operands + 1;\n      i.imm_operands = 1;\n      i.op[uVar16].disps = im_expressions;\n      i.types[uVar16] = (i386_operand_type)0x0;\n      *(undefined1 *)((long)i.types + uVar16 * 8 + 1) = 4;\n      if (((ulong)i.tm.operand_types[uVar14] & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/tc-i386.c",0x1a2a,"build_modrm_byte");\n      }\n      im_expressions[0]._24_1_ = 2;\n      bVar25 = (i.op[uVar14].regs)->reg_flags;\n      bVar23 = (i.op[uVar14].regs)->reg_num;\n      uVar26 = (uint)bVar23;\n      if ((bVar25 & 1) != 0) {\n        uVar26 = bVar23 + 8;\n      }\n      if ((bVar25 & 4) != 0) {\n        im_expressions[0].X_add_number = (offsetT)((uVar26 + 0x10) * 0x10);\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/tc-i386.c",0x1a2d,"build_modrm_byte");\n      }\n      im_expressions[0].X_add_number = (offsetT)(uVar26 << 4);\n    }\n    else {\n      if ((i.imm_operands != 1) || ((i.types[0].array[1]._1_1_ & 1) == 0)) {\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/tc-i386.c",0x1a33,"build_modrm_byte");\n      }\n      if ((i.tm.opcode_modifier._4_1_ & 0x20) == 0) {\n        i.types[0].array[0]._1_1_ = i.types[0].array[0]._1_1_ | 4;\n        uVar26 = 0;\n      }\n      else {\n        uVar24 = (ulong)((int)uVar24 - 1);\n        uVar14 = (ulong)((int)uVar14 - 1);\n      }\n      if (((ulong)i.tm.operand_types[uVar14] & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/tc-i386.c",0x1a45,"build_modrm_byte");\n      }\n      bVar25 = (i.op[uVar14].regs)->reg_flags;\n      bVar23 = (i.op[uVar14].regs)->reg_num;\n      uVar20 = (uint)bVar23;\n      if ((bVar25 & 1) != 0) {\n        uVar20 = bVar23 + 8;\n      }\n      peVar7 = i.op[uVar26].disps;\n      if ((bVar25 & 4) != 0) {\n        peVar7->X_add_number = (ulong)((uVar20 + 0x10) * 0x10) | peVar7->X_add_number;\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/tc-i386.c",0x1a48,"build_modrm_byte");\n      }\n      peVar7->X_add_number = (ulong)(uVar20 << 4) | peVar7->X_add_number;\n    }\n    if (((ulong)i.tm.operand_types[uVar18] & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n      as_abort("../../gas/config/tc-i386.c",0x1a4b,"build_modrm_byte");\n    }\n    i.vex.register_specifier = i.op[uVar18].regs;\n  }" { (expression_statement "uVar26 = i.operands - 1;" (assignment_expression "uVar26 = i.operands - 1" identifier = (binary_expression "i.operands - 1" (field_expression "i.operands" identifier . field_identifier) - number_literal)) ;) (expression_statement "uVar21 = (ulong)uVar26;" (assignment_expression "uVar21 = (ulong)uVar26" identifier = (cast_expression "(ulong)uVar26" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "uVar18 = i.operands - 2;" (assignment_expression "uVar18 = i.operands - 2" identifier = (binary_expression "i.operands - 2" (field_expression "i.operands" identifier . field_identifier) - number_literal)) ;) (if_statement "if (((i.reg_operands != 4) && ((i.reg_operands != 3 || (i.mem_operands != 1)))) ||\n       (((i.tm.opcode_modifier._5_1_ & 0x18) != 8 ||\n        (((i.tm.opcode_modifier._5_1_ & 0x60) == 0 || (((ulong)i.tm.operand_types[uVar21] & 4) == 0)\n         ))))) {\n                    /* WARNING: Subroutine does not return */\n      as_abort("../../gas/config/tc-i386.c",0x1a12,"build_modrm_byte");\n    }" if (parenthesized_expression "(((i.reg_operands != 4) && ((i.reg_operands != 3 || (i.mem_operands != 1)))) ||\n       (((i.tm.opcode_modifier._5_1_ & 0x18) != 8 ||\n        (((i.tm.opcode_modifier._5_1_ & 0x60) == 0 || (((ulong)i.tm.operand_types[uVar21] & 4) == 0)\n         )))))" ( (binary_expression "((i.reg_operands != 4) && ((i.reg_operands != 3 || (i.mem_operands != 1)))) ||\n       (((i.tm.opcode_modifier._5_1_ & 0x18) != 8 ||\n        (((i.tm.opcode_modifier._5_1_ & 0x60) == 0 || (((ulong)i.tm.operand_types[uVar21] & 4) == 0)\n         ))))" (parenthesized_expression "((i.reg_operands != 4) && ((i.reg_operands != 3 || (i.mem_operands != 1))))" ( (binary_expression "(i.reg_operands != 4) && ((i.reg_operands != 3 || (i.mem_operands != 1)))" (parenthesized_expression "(i.reg_operands != 4)" ( (binary_expression "i.reg_operands != 4" (field_expression "i.reg_operands" identifier . field_identifier) != number_literal) )) && (parenthesized_expression "((i.reg_operands != 3 || (i.mem_operands != 1)))" ( (parenthesized_expression "(i.reg_operands != 3 || (i.mem_operands != 1))" ( (binary_expression "i.reg_operands != 3 || (i.mem_operands != 1)" (binary_expression "i.reg_operands != 3" (field_expression "i.reg_operands" identifier . field_identifier) != number_literal) || (parenthesized_expression "(i.mem_operands != 1)" ( (binary_expression "i.mem_operands != 1" (field_expression "i.mem_operands" identifier . field_identifier) != number_literal) ))) )) ))) )) || (parenthesized_expression "(((i.tm.opcode_modifier._5_1_ & 0x18) != 8 ||\n        (((i.tm.opcode_modifier._5_1_ & 0x60) == 0 || (((ulong)i.tm.operand_types[uVar21] & 4) == 0)\n         ))))" ( (parenthesized_expression "((i.tm.opcode_modifier._5_1_ & 0x18) != 8 ||\n        (((i.tm.opcode_modifier._5_1_ & 0x60) == 0 || (((ulong)i.tm.operand_types[uVar21] & 4) == 0)\n         )))" ( (binary_expression "(i.tm.opcode_modifier._5_1_ & 0x18) != 8 ||\n        (((i.tm.opcode_modifier._5_1_ & 0x60) == 0 || (((ulong)i.tm.operand_types[uVar21] & 4) == 0)\n         ))" (binary_expression "(i.tm.opcode_modifier._5_1_ & 0x18) != 8" (parenthesized_expression "(i.tm.opcode_modifier._5_1_ & 0x18)" ( (binary_expression "i.tm.opcode_modifier._5_1_ & 0x18" (field_expression "i.tm.opcode_modifier._5_1_" (field_expression "i.tm.opcode_modifier" (field_expression "i.tm" identifier . field_identifier) . field_identifier) . field_identifier) & number_literal) )) != number_literal) || (parenthesized_expression "(((i.tm.opcode_modifier._5_1_ & 0x60) == 0 || (((ulong)i.tm.operand_types[uVar21] & 4) == 0)\n         ))" ( (parenthesized_expression "((i.tm.opcode_modifier._5_1_ & 0x60) == 0 || (((ulong)i.tm.operand_types[uVar21] & 4) == 0)\n         )" ( (binary_expression "(i.tm.opcode_modifier._5_1_ & 0x60) == 0 || (((ulong)i.tm.operand_types[uVar21] & 4) == 0)" (binary_expression "(i.tm.opcode_modifier._5_1_ & 0x60) == 0" (parenthesized_expression "(i.tm.opcode_modifier._5_1_ & 0x60)" ( (binary_expression "i.tm.opcode_modifier._5_1_ & 0x60" (field_expression "i.tm.opcode_modifier._5_1_" (field_expression "i.tm.opcode_modifier" (field_expression "i.tm" identifier . field_identifier) . field_identifier) . field_identifier) & number_literal) )) == number_literal) || (parenthesized_expression "(((ulong)i.tm.operand_types[uVar21] & 4) == 0)" ( (binary_expression "((ulong)i.tm.operand_types[uVar21] & 4) == 0" (parenthesized_expression "((ulong)i.tm.operand_types[uVar21] & 4)" ( (binary_expression "(ulong)i.tm.operand_types[uVar21] & 4" (cast_expression "(ulong)i.tm.operand_types[uVar21]" ( (type_descriptor "ulong" type_identifier) ) (subscript_expression "i.tm.operand_types[uVar21]" (field_expression "i.tm.operand_types" (field_expression "i.tm" identifier . field_identifier) . field_identifier) [ identifier ])) & number_literal) )) == number_literal) ))) )) ))) )) ))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      as_abort("../../gas/config/tc-i386.c",0x1a12,"build_modrm_byte");\n    }" { comment (expression_statement "as_abort("../../gas/config/tc-i386.c",0x1a12,"build_modrm_byte");" (call_expression "as_abort("../../gas/config/tc-i386.c",0x1a12,"build_modrm_byte")" identifier (argument_list "("../../gas/config/tc-i386.c",0x1a12,"build_modrm_byte")" ( (string_literal ""../../gas/config/tc-i386.c"" " string_content ") , number_literal , (string_literal ""build_modrm_byte"" " string_content ") ))) ;) })) (expression_statement "uVar14 = (ulong)i.imm_operands;" (assignment_expression "uVar14 = (ulong)i.imm_operands" identifier = (cast_expression "(ulong)i.imm_operands" ( (type_descriptor "ulong" type_identifier) ) (field_expression "i.imm_operands" identifier . field_identifier))) ;) (expression_statement "uVar24 = (ulong)(i.imm_operands + 1);" (assignment_expression "uVar24 = (ulong)(i.imm_operands + 1)" identifier = (call_expression "(ulong)(i.imm_operands + 1)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(i.imm_operands + 1)" ( (binary_expression "i.imm_operands + 1" (field_expression "i.imm_operands" identifier . field_identifier) + number_literal) )))) ;) (if_statement "if ((i.tm.opcode_modifier._5_1_ & 0x60) == 0x40) {\n      uVar24 = (ulong)i.imm_operands;\n      uVar14 = (ulong)(i.imm_operands + 1);\n    }" if (parenthesized_expression "((i.tm.opcode_modifier._5_1_ & 0x60) == 0x40)" ( (binary_expression "(i.tm.opcode_modifier._5_1_ & 0x60) == 0x40" (parenthesized_expression "(i.tm.opcode_modifier._5_1_ & 0x60)" ( (binary_expression "i.tm.opcode_modifier._5_1_ & 0x60" (field_expression "i.tm.opcode_modifier._5_1_" (field_expression "i.tm.opcode_modifier" (field_expression "i.tm" identifier . field_identifier) . field_identifier) . field_identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n      uVar24 = (ulong)i.imm_operands;\n      uVar14 = (ulong)(i.imm_operands + 1);\n    }" { (expression_statement "uVar24 = (ulong)i.imm_operands;" (assignment_expression "uVar24 = (ulong)i.imm_operands" identifier = (cast_expression "(ulong)i.imm_operands" ( (type_descriptor "ulong" type_identifier) ) (field_expression "i.imm_operands" identifier . field_identifier))) ;) (expression_statement "uVar14 = (ulong)(i.imm_operands + 1);" (assignment_expression "uVar14 = (ulong)(i.imm_operands + 1)" identifier = (call_expression "(ulong)(i.imm_operands + 1)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(i.imm_operands + 1)" ( (binary_expression "i.imm_operands + 1" (field_expression "i.imm_operands" identifier . field_identifier) + number_literal) )))) ;) })) (if_statement "if (i.imm_operands == 0) {\n      uVar16 = (ulong)i.operands;\n      i.operands = i.operands + 1;\n      i.imm_operands = 1;\n      i.op[uVar16].disps = im_expressions;\n      i.types[uVar16] = (i386_operand_type)0x0;\n      *(undefined1 *)((long)i.types + uVar16 * 8 + 1) = 4;\n      if (((ulong)i.tm.operand_types[uVar14] & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/tc-i386.c",0x1a2a,"build_modrm_byte");\n      }\n      im_expressions[0]._24_1_ = 2;\n      bVar25 = (i.op[uVar14].regs)->reg_flags;\n      bVar23 = (i.op[uVar14].regs)->reg_num;\n      uVar26 = (uint)bVar23;\n      if ((bVar25 & 1) != 0) {\n        uVar26 = bVar23 + 8;\n      }\n      if ((bVar25 & 4) != 0) {\n        im_expressions[0].X_add_number = (offsetT)((uVar26 + 0x10) * 0x10);\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/tc-i386.c",0x1a2d,"build_modrm_byte");\n      }\n      im_expressions[0].X_add_number = (offsetT)(uVar26 << 4);\n    }\n    else {\n      if ((i.imm_operands != 1) || ((i.types[0].array[1]._1_1_ & 1) == 0)) {\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/tc-i386.c",0x1a33,"build_modrm_byte");\n      }\n      if ((i.tm.opcode_modifier._4_1_ & 0x20) == 0) {\n        i.types[0].array[0]._1_1_ = i.types[0].array[0]._1_1_ | 4;\n        uVar26 = 0;\n      }\n      else {\n        uVar24 = (ulong)((int)uVar24 - 1);\n        uVar14 = (ulong)((int)uVar14 - 1);\n      }\n      if (((ulong)i.tm.operand_types[uVar14] & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/tc-i386.c",0x1a45,"build_modrm_byte");\n      }\n      bVar25 = (i.op[uVar14].regs)->reg_flags;\n      bVar23 = (i.op[uVar14].regs)->reg_num;\n      uVar20 = (uint)bVar23;\n      if ((bVar25 & 1) != 0) {\n        uVar20 = bVar23 + 8;\n      }\n      peVar7 = i.op[uVar26].disps;\n      if ((bVar25 & 4) != 0) {\n        peVar7->X_add_number = (ulong)((uVar20 + 0x10) * 0x10) | peVar7->X_add_number;\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/tc-i386.c",0x1a48,"build_modrm_byte");\n      }\n      peVar7->X_add_number = (ulong)(uVar20 << 4) | peVar7->X_add_number;\n    }" if (parenthesized_expression "(i.imm_operands == 0)" ( (binary_expression "i.imm_operands == 0" (field_expression "i.imm_operands" identifier . field_identifier) == number_literal) )) (compound_statement "{\n      uVar16 = (ulong)i.operands;\n      i.operands = i.operands + 1;\n      i.imm_operands = 1;\n      i.op[uVar16].disps = im_expressions;\n      i.types[uVar16] = (i386_operand_type)0x0;\n      *(undefined1 *)((long)i.types + uVar16 * 8 + 1) = 4;\n      if (((ulong)i.tm.operand_types[uVar14] & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/tc-i386.c",0x1a2a,"build_modrm_byte");\n      }\n      im_expressions[0]._24_1_ = 2;\n      bVar25 = (i.op[uVar14].regs)->reg_flags;\n      bVar23 = (i.op[uVar14].regs)->reg_num;\n      uVar26 = (uint)bVar23;\n      if ((bVar25 & 1) != 0) {\n        uVar26 = bVar23 + 8;\n      }\n      if ((bVar25 & 4) != 0) {\n        im_expressions[0].X_add_number = (offsetT)((uVar26 + 0x10) * 0x10);\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/tc-i386.c",0x1a2d,"build_modrm_byte");\n      }\n      im_expressions[0].X_add_number = (offsetT)(uVar26 << 4);\n    }" { (expression_statement "uVar16 = (ulong)i.operands;" (assignment_expression "uVar16 = (ulong)i.operands" identifier = (cast_expression "(ulong)i.operands" ( (type_descriptor "ulong" type_identifier) ) (field_expression "i.operands" identifier . field_identifier))) ;) (expression_statement "i.operands = i.operands + 1;" (assignment_expression "i.operands = i.operands + 1" (field_expression "i.operands" identifier . field_identifier) = (binary_expression "i.operands + 1" (field_expression "i.operands" identifier . field_identifier) + number_literal)) ;) (expression_statement "i.imm_operands = 1;" (assignment_expression "i.imm_operands = 1" (field_expression "i.imm_operands" identifier . field_identifier) = number_literal) ;) (expression_statement "i.op[uVar16].disps = im_expressions;" (assignment_expression "i.op[uVar16].disps = im_expressions" (field_expression "i.op[uVar16].disps" (subscript_expression "i.op[uVar16]" (field_expression "i.op" identifier . field_identifier) [ identifier ]) . field_identifier) = identifier) ;) (expression_statement "i.types[uVar16] = (i386_operand_type)0x0;" (assignment_expression "i.types[uVar16] = (i386_operand_type)0x0" (subscript_expression "i.types[uVar16]" (field_expression "i.types" identifier . field_identifier) [ identifier ]) = (cast_expression "(i386_operand_type)0x0" ( (type_descriptor "i386_operand_type" type_identifier) ) number_literal)) ;) (expression_statement "*(undefined1 *)((long)i.types + uVar16 * 8 + 1) = 4;" (assignment_expression "*(undefined1 *)((long)i.types + uVar16 * 8 + 1) = 4" (pointer_expression "*(undefined1 *)((long)i.types + uVar16 * 8 + 1)" * (cast_expression "(undefined1 *)((long)i.types + uVar16 * 8 + 1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)i.types + uVar16 * 8 + 1)" ( (binary_expression "(long)i.types + uVar16 * 8 + 1" (binary_expression "(long)i.types + uVar16 * 8" (cast_expression "(long)i.types" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (field_expression "i.types" identifier . field_identifier)) + (binary_expression "uVar16 * 8" identifier * number_literal)) + number_literal) )))) = number_literal) ;) (if_statement "if (((ulong)i.tm.operand_types[uVar14] & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/tc-i386.c",0x1a2a,"build_modrm_byte");\n      }" if (parenthesized_expression "(((ulong)i.tm.operand_types[uVar14] & 4) == 0)" ( (binary_expression "((ulong)i.tm.operand_types[uVar14] & 4) == 0" (parenthesized_expression "((ulong)i.tm.operand_types[uVar14] & 4)" ( (binary_expression "(ulong)i.tm.operand_types[uVar14] & 4" (cast_expression "(ulong)i.tm.operand_types[uVar14]" ( (type_descriptor "ulong" type_identifier) ) (subscript_expression "i.tm.operand_types[uVar14]" (field_expression "i.tm.operand_types" (field_expression "i.tm" identifier . field_identifier) . field_identifier) [ identifier ])) & number_literal) )) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/tc-i386.c",0x1a2a,"build_modrm_byte");\n      }" { comment (expression_statement "as_abort("../../gas/config/tc-i386.c",0x1a2a,"build_modrm_byte");" (call_expression "as_abort("../../gas/config/tc-i386.c",0x1a2a,"build_modrm_byte")" identifier (argument_list "("../../gas/config/tc-i386.c",0x1a2a,"build_modrm_byte")" ( (string_literal ""../../gas/config/tc-i386.c"" " string_content ") , number_literal , (string_literal ""build_modrm_byte"" " string_content ") ))) ;) })) (expression_statement "im_expressions[0]._24_1_ = 2;" (assignment_expression "im_expressions[0]._24_1_ = 2" (field_expression "im_expressions[0]._24_1_" (subscript_expression "im_expressions[0]" identifier [ number_literal ]) . field_identifier) = number_literal) ;) (expression_statement "bVar25 = (i.op[uVar14].regs)->reg_flags;" (assignment_expression "bVar25 = (i.op[uVar14].regs)->reg_flags" identifier = (field_expression "(i.op[uVar14].regs)->reg_flags" (parenthesized_expression "(i.op[uVar14].regs)" ( (field_expression "i.op[uVar14].regs" (subscript_expression "i.op[uVar14]" (field_expression "i.op" identifier . field_identifier) [ identifier ]) . field_identifier) )) -> field_identifier)) ;) (expression_statement "bVar23 = (i.op[uVar14].regs)->reg_num;" (assignment_expression "bVar23 = (i.op[uVar14].regs)->reg_num" identifier = (field_expression "(i.op[uVar14].regs)->reg_num" (parenthesized_expression "(i.op[uVar14].regs)" ( (field_expression "i.op[uVar14].regs" (subscript_expression "i.op[uVar14]" (field_expression "i.op" identifier . field_identifier) [ identifier ]) . field_identifier) )) -> field_identifier)) ;) (expression_statement "uVar26 = (uint)bVar23;" (assignment_expression "uVar26 = (uint)bVar23" identifier = (cast_expression "(uint)bVar23" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if ((bVar25 & 1) != 0) {\n        uVar26 = bVar23 + 8;\n      }" if (parenthesized_expression "((bVar25 & 1) != 0)" ( (binary_expression "(bVar25 & 1) != 0" (parenthesized_expression "(bVar25 & 1)" ( (binary_expression "bVar25 & 1" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n        uVar26 = bVar23 + 8;\n      }" { (expression_statement "uVar26 = bVar23 + 8;" (assignment_expression "uVar26 = bVar23 + 8" identifier = (binary_expression "bVar23 + 8" identifier + number_literal)) ;) })) (if_statement "if ((bVar25 & 4) != 0) {\n        im_expressions[0].X_add_number = (offsetT)((uVar26 + 0x10) * 0x10);\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/tc-i386.c",0x1a2d,"build_modrm_byte");\n      }" if (parenthesized_expression "((bVar25 & 4) != 0)" ( (binary_expression "(bVar25 & 4) != 0" (parenthesized_expression "(bVar25 & 4)" ( (binary_expression "bVar25 & 4" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n        im_expressions[0].X_add_number = (offsetT)((uVar26 + 0x10) * 0x10);\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/tc-i386.c",0x1a2d,"build_modrm_byte");\n      }" { (expression_statement "im_expressions[0].X_add_number = (offsetT)((uVar26 + 0x10) * 0x10);" (assignment_expression "im_expressions[0].X_add_number = (offsetT)((uVar26 + 0x10) * 0x10)" (field_expression "im_expressions[0].X_add_number" (subscript_expression "im_expressions[0]" identifier [ number_literal ]) . field_identifier) = (call_expression "(offsetT)((uVar26 + 0x10) * 0x10)" (parenthesized_expression "(offsetT)" ( identifier )) (argument_list "((uVar26 + 0x10) * 0x10)" ( (binary_expression "(uVar26 + 0x10) * 0x10" (parenthesized_expression "(uVar26 + 0x10)" ( (binary_expression "uVar26 + 0x10" identifier + number_literal) )) * number_literal) )))) ;) comment (expression_statement "as_abort("../../gas/config/tc-i386.c",0x1a2d,"build_modrm_byte");" (call_expression "as_abort("../../gas/config/tc-i386.c",0x1a2d,"build_modrm_byte")" identifier (argument_list "("../../gas/config/tc-i386.c",0x1a2d,"build_modrm_byte")" ( (string_literal ""../../gas/config/tc-i386.c"" " string_content ") , number_literal , (string_literal ""build_modrm_byte"" " string_content ") ))) ;) })) (expression_statement "im_expressions[0].X_add_number = (offsetT)(uVar26 << 4);" (assignment_expression "im_expressions[0].X_add_number = (offsetT)(uVar26 << 4)" (field_expression "im_expressions[0].X_add_number" (subscript_expression "im_expressions[0]" identifier [ number_literal ]) . field_identifier) = (call_expression "(offsetT)(uVar26 << 4)" (parenthesized_expression "(offsetT)" ( identifier )) (argument_list "(uVar26 << 4)" ( (binary_expression "uVar26 << 4" identifier << number_literal) )))) ;) }) (else_clause "else {\n      if ((i.imm_operands != 1) || ((i.types[0].array[1]._1_1_ & 1) == 0)) {\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/tc-i386.c",0x1a33,"build_modrm_byte");\n      }\n      if ((i.tm.opcode_modifier._4_1_ & 0x20) == 0) {\n        i.types[0].array[0]._1_1_ = i.types[0].array[0]._1_1_ | 4;\n        uVar26 = 0;\n      }\n      else {\n        uVar24 = (ulong)((int)uVar24 - 1);\n        uVar14 = (ulong)((int)uVar14 - 1);\n      }\n      if (((ulong)i.tm.operand_types[uVar14] & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/tc-i386.c",0x1a45,"build_modrm_byte");\n      }\n      bVar25 = (i.op[uVar14].regs)->reg_flags;\n      bVar23 = (i.op[uVar14].regs)->reg_num;\n      uVar20 = (uint)bVar23;\n      if ((bVar25 & 1) != 0) {\n        uVar20 = bVar23 + 8;\n      }\n      peVar7 = i.op[uVar26].disps;\n      if ((bVar25 & 4) != 0) {\n        peVar7->X_add_number = (ulong)((uVar20 + 0x10) * 0x10) | peVar7->X_add_number;\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/tc-i386.c",0x1a48,"build_modrm_byte");\n      }\n      peVar7->X_add_number = (ulong)(uVar20 << 4) | peVar7->X_add_number;\n    }" else (compound_statement "{\n      if ((i.imm_operands != 1) || ((i.types[0].array[1]._1_1_ & 1) == 0)) {\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/tc-i386.c",0x1a33,"build_modrm_byte");\n      }\n      if ((i.tm.opcode_modifier._4_1_ & 0x20) == 0) {\n        i.types[0].array[0]._1_1_ = i.types[0].array[0]._1_1_ | 4;\n        uVar26 = 0;\n      }\n      else {\n        uVar24 = (ulong)((int)uVar24 - 1);\n        uVar14 = (ulong)((int)uVar14 - 1);\n      }\n      if (((ulong)i.tm.operand_types[uVar14] & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/tc-i386.c",0x1a45,"build_modrm_byte");\n      }\n      bVar25 = (i.op[uVar14].regs)->reg_flags;\n      bVar23 = (i.op[uVar14].regs)->reg_num;\n      uVar20 = (uint)bVar23;\n      if ((bVar25 & 1) != 0) {\n        uVar20 = bVar23 + 8;\n      }\n      peVar7 = i.op[uVar26].disps;\n      if ((bVar25 & 4) != 0) {\n        peVar7->X_add_number = (ulong)((uVar20 + 0x10) * 0x10) | peVar7->X_add_number;\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/tc-i386.c",0x1a48,"build_modrm_byte");\n      }\n      peVar7->X_add_number = (ulong)(uVar20 << 4) | peVar7->X_add_number;\n    }" { (if_statement "if ((i.imm_operands != 1) || ((i.types[0].array[1]._1_1_ & 1) == 0)) {\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/tc-i386.c",0x1a33,"build_modrm_byte");\n      }" if (parenthesized_expression "((i.imm_operands != 1) || ((i.types[0].array[1]._1_1_ & 1) == 0))" ( (binary_expression "(i.imm_operands != 1) || ((i.types[0].array[1]._1_1_ & 1) == 0)" (parenthesized_expression "(i.imm_operands != 1)" ( (binary_expression "i.imm_operands != 1" (field_expression "i.imm_operands" identifier . field_identifier) != number_literal) )) || (parenthesized_expression "((i.types[0].array[1]._1_1_ & 1) == 0)" ( (binary_expression "(i.types[0].array[1]._1_1_ & 1) == 0" (parenthesized_expression "(i.types[0].array[1]._1_1_ & 1)" ( (binary_expression "i.types[0].array[1]._1_1_ & 1" (field_expression "i.types[0].array[1]._1_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 ]) . field_identifier) & number_literal) )) == number_literal) ))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/tc-i386.c",0x1a33,"build_modrm_byte");\n      }" { comment (expression_statement "as_abort("../../gas/config/tc-i386.c",0x1a33,"build_modrm_byte");" (call_expression "as_abort("../../gas/config/tc-i386.c",0x1a33,"build_modrm_byte")" identifier (argument_list "("../../gas/config/tc-i386.c",0x1a33,"build_modrm_byte")" ( (string_literal ""../../gas/config/tc-i386.c"" " string_content ") , number_literal , (string_literal ""build_modrm_byte"" " string_content ") ))) ;) })) (if_statement "if ((i.tm.opcode_modifier._4_1_ & 0x20) == 0) {\n        i.types[0].array[0]._1_1_ = i.types[0].array[0]._1_1_ | 4;\n        uVar26 = 0;\n      }\n      else {\n        uVar24 = (ulong)((int)uVar24 - 1);\n        uVar14 = (ulong)((int)uVar14 - 1);\n      }" if (parenthesized_expression "((i.tm.opcode_modifier._4_1_ & 0x20) == 0)" ( (binary_expression "(i.tm.opcode_modifier._4_1_ & 0x20) == 0" (parenthesized_expression "(i.tm.opcode_modifier._4_1_ & 0x20)" ( (binary_expression "i.tm.opcode_modifier._4_1_ & 0x20" (field_expression "i.tm.opcode_modifier._4_1_" (field_expression "i.tm.opcode_modifier" (field_expression "i.tm" identifier . field_identifier) . field_identifier) . field_identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n        i.types[0].array[0]._1_1_ = i.types[0].array[0]._1_1_ | 4;\n        uVar26 = 0;\n      }" { (expression_statement "i.types[0].array[0]._1_1_ = i.types[0].array[0]._1_1_ | 4;" (assignment_expression "i.types[0].array[0]._1_1_ = i.types[0].array[0]._1_1_ | 4" (field_expression "i.types[0].array[0]._1_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) = (binary_expression "i.types[0].array[0]._1_1_ | 4" (field_expression "i.types[0].array[0]._1_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)) ;) (expression_statement "uVar26 = 0;" (assignment_expression "uVar26 = 0" identifier = number_literal) ;) }) (else_clause "else {\n        uVar24 = (ulong)((int)uVar24 - 1);\n        uVar14 = (ulong)((int)uVar14 - 1);\n      }" else (compound_statement "{\n        uVar24 = (ulong)((int)uVar24 - 1);\n        uVar14 = (ulong)((int)uVar14 - 1);\n      }" { (expression_statement "uVar24 = (ulong)((int)uVar24 - 1);" (assignment_expression "uVar24 = (ulong)((int)uVar24 - 1)" identifier = (call_expression "(ulong)((int)uVar24 - 1)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((int)uVar24 - 1)" ( (binary_expression "(int)uVar24 - 1" (cast_expression "(int)uVar24" ( (type_descriptor "int" primitive_type) ) identifier) - number_literal) )))) ;) (expression_statement "uVar14 = (ulong)((int)uVar14 - 1);" (assignment_expression "uVar14 = (ulong)((int)uVar14 - 1)" identifier = (call_expression "(ulong)((int)uVar14 - 1)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((int)uVar14 - 1)" ( (binary_expression "(int)uVar14 - 1" (cast_expression "(int)uVar14" ( (type_descriptor "int" primitive_type) ) identifier) - number_literal) )))) ;) }))) (if_statement "if (((ulong)i.tm.operand_types[uVar14] & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/tc-i386.c",0x1a45,"build_modrm_byte");\n      }" if (parenthesized_expression "(((ulong)i.tm.operand_types[uVar14] & 4) == 0)" ( (binary_expression "((ulong)i.tm.operand_types[uVar14] & 4) == 0" (parenthesized_expression "((ulong)i.tm.operand_types[uVar14] & 4)" ( (binary_expression "(ulong)i.tm.operand_types[uVar14] & 4" (cast_expression "(ulong)i.tm.operand_types[uVar14]" ( (type_descriptor "ulong" type_identifier) ) (subscript_expression "i.tm.operand_types[uVar14]" (field_expression "i.tm.operand_types" (field_expression "i.tm" identifier . field_identifier) . field_identifier) [ identifier ])) & number_literal) )) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/tc-i386.c",0x1a45,"build_modrm_byte");\n      }" { comment (expression_statement "as_abort("../../gas/config/tc-i386.c",0x1a45,"build_modrm_byte");" (call_expression "as_abort("../../gas/config/tc-i386.c",0x1a45,"build_modrm_byte")" identifier (argument_list "("../../gas/config/tc-i386.c",0x1a45,"build_modrm_byte")" ( (string_literal ""../../gas/config/tc-i386.c"" " string_content ") , number_literal , (string_literal ""build_modrm_byte"" " string_content ") ))) ;) })) (expression_statement "bVar25 = (i.op[uVar14].regs)->reg_flags;" (assignment_expression "bVar25 = (i.op[uVar14].regs)->reg_flags" identifier = (field_expression "(i.op[uVar14].regs)->reg_flags" (parenthesized_expression "(i.op[uVar14].regs)" ( (field_expression "i.op[uVar14].regs" (subscript_expression "i.op[uVar14]" (field_expression "i.op" identifier . field_identifier) [ identifier ]) . field_identifier) )) -> field_identifier)) ;) (expression_statement "bVar23 = (i.op[uVar14].regs)->reg_num;" (assignment_expression "bVar23 = (i.op[uVar14].regs)->reg_num" identifier = (field_expression "(i.op[uVar14].regs)->reg_num" (parenthesized_expression "(i.op[uVar14].regs)" ( (field_expression "i.op[uVar14].regs" (subscript_expression "i.op[uVar14]" (field_expression "i.op" identifier . field_identifier) [ identifier ]) . field_identifier) )) -> field_identifier)) ;) (expression_statement "uVar20 = (uint)bVar23;" (assignment_expression "uVar20 = (uint)bVar23" identifier = (cast_expression "(uint)bVar23" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if ((bVar25 & 1) != 0) {\n        uVar20 = bVar23 + 8;\n      }" if (parenthesized_expression "((bVar25 & 1) != 0)" ( (binary_expression "(bVar25 & 1) != 0" (parenthesized_expression "(bVar25 & 1)" ( (binary_expression "bVar25 & 1" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n        uVar20 = bVar23 + 8;\n      }" { (expression_statement "uVar20 = bVar23 + 8;" (assignment_expression "uVar20 = bVar23 + 8" identifier = (binary_expression "bVar23 + 8" identifier + number_literal)) ;) })) (expression_statement "peVar7 = i.op[uVar26].disps;" (assignment_expression "peVar7 = i.op[uVar26].disps" identifier = (field_expression "i.op[uVar26].disps" (subscript_expression "i.op[uVar26]" (field_expression "i.op" identifier . field_identifier) [ identifier ]) . field_identifier)) ;) (if_statement "if ((bVar25 & 4) != 0) {\n        peVar7->X_add_number = (ulong)((uVar20 + 0x10) * 0x10) | peVar7->X_add_number;\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/tc-i386.c",0x1a48,"build_modrm_byte");\n      }" if (parenthesized_expression "((bVar25 & 4) != 0)" ( (binary_expression "(bVar25 & 4) != 0" (parenthesized_expression "(bVar25 & 4)" ( (binary_expression "bVar25 & 4" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n        peVar7->X_add_number = (ulong)((uVar20 + 0x10) * 0x10) | peVar7->X_add_number;\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/tc-i386.c",0x1a48,"build_modrm_byte");\n      }" { (expression_statement "peVar7->X_add_number = (ulong)((uVar20 + 0x10) * 0x10) | peVar7->X_add_number;" (assignment_expression "peVar7->X_add_number = (ulong)((uVar20 + 0x10) * 0x10) | peVar7->X_add_number" (field_expression "peVar7->X_add_number" identifier -> field_identifier) = (binary_expression "(ulong)((uVar20 + 0x10) * 0x10) | peVar7->X_add_number" (call_expression "(ulong)((uVar20 + 0x10) * 0x10)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((uVar20 + 0x10) * 0x10)" ( (binary_expression "(uVar20 + 0x10) * 0x10" (parenthesized_expression "(uVar20 + 0x10)" ( (binary_expression "uVar20 + 0x10" identifier + number_literal) )) * number_literal) ))) | (field_expression "peVar7->X_add_number" identifier -> field_identifier))) ;) comment (expression_statement "as_abort("../../gas/config/tc-i386.c",0x1a48,"build_modrm_byte");" (call_expression "as_abort("../../gas/config/tc-i386.c",0x1a48,"build_modrm_byte")" identifier (argument_list "("../../gas/config/tc-i386.c",0x1a48,"build_modrm_byte")" ( (string_literal ""../../gas/config/tc-i386.c"" " string_content ") , number_literal , (string_literal ""build_modrm_byte"" " string_content ") ))) ;) })) (expression_statement "peVar7->X_add_number = (ulong)(uVar20 << 4) | peVar7->X_add_number;" (assignment_expression "peVar7->X_add_number = (ulong)(uVar20 << 4) | peVar7->X_add_number" (field_expression "peVar7->X_add_number" identifier -> field_identifier) = (binary_expression "(ulong)(uVar20 << 4) | peVar7->X_add_number" (call_expression "(ulong)(uVar20 << 4)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar20 << 4)" ( (binary_expression "uVar20 << 4" identifier << number_literal) ))) | (field_expression "peVar7->X_add_number" identifier -> field_identifier))) ;) }))) (if_statement "if (((ulong)i.tm.operand_types[uVar18] & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n      as_abort("../../gas/config/tc-i386.c",0x1a4b,"build_modrm_byte");\n    }" if (parenthesized_expression "(((ulong)i.tm.operand_types[uVar18] & 4) == 0)" ( (binary_expression "((ulong)i.tm.operand_types[uVar18] & 4) == 0" (parenthesized_expression "((ulong)i.tm.operand_types[uVar18] & 4)" ( (binary_expression "(ulong)i.tm.operand_types[uVar18] & 4" (cast_expression "(ulong)i.tm.operand_types[uVar18]" ( (type_descriptor "ulong" type_identifier) ) (subscript_expression "i.tm.operand_types[uVar18]" (field_expression "i.tm.operand_types" (field_expression "i.tm" identifier . field_identifier) . field_identifier) [ identifier ])) & number_literal) )) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      as_abort("../../gas/config/tc-i386.c",0x1a4b,"build_modrm_byte");\n    }" { comment (expression_statement "as_abort("../../gas/config/tc-i386.c",0x1a4b,"build_modrm_byte");" (call_expression "as_abort("../../gas/config/tc-i386.c",0x1a4b,"build_modrm_byte")" identifier (argument_list "("../../gas/config/tc-i386.c",0x1a4b,"build_modrm_byte")" ( (string_literal ""../../gas/config/tc-i386.c"" " string_content ") , number_literal , (string_literal ""build_modrm_byte"" " string_content ") ))) ;) })) (expression_statement "i.vex.register_specifier = i.op[uVar18].regs;" (assignment_expression "i.vex.register_specifier = i.op[uVar18].regs" (field_expression "i.vex.register_specifier" (field_expression "i.vex" identifier . field_identifier) . field_identifier) = (field_expression "i.op[uVar18].regs" (subscript_expression "i.op[uVar18]" (field_expression "i.op" identifier . field_identifier) [ identifier ]) . field_identifier)) ;) })) (expression_statement "prVar11 = i.index_reg;" (assignment_expression "prVar11 = i.index_reg" identifier = (field_expression "i.index_reg" identifier . field_identifier)) ;) (expression_statement "prVar10 = i.base_reg;" (assignment_expression "prVar10 = i.base_reg" identifier = (field_expression "i.base_reg" identifier . field_identifier)) ;) (expression_statement "uVar14 = (ulong)i.mem_operands;" (assignment_expression "uVar14 = (ulong)i.mem_operands" identifier = (cast_expression "(ulong)i.mem_operands" ( (type_descriptor "ulong" type_identifier) ) (field_expression "i.mem_operands" identifier . field_identifier))) ;) (expression_statement "bVar25 = bVar22;" (assignment_expression "bVar25 = bVar22" identifier = identifier) ;) (if_statement "if (i.mem_operands == 0) {\n    if (i.reg_operands == 2) {\n      if (((byte)i.tm.opcode_modifier._5_1_ >> 3 & 3) < 2) {\nLAB_0013335b:\n        if (i.operands == 3) {\nLAB_00133ea8:\n          if ((i.imm_operands != 1) &&\n             ((i.imm_operands != 0 ||\n              (((i.tm.opcode_modifier._5_1_ & 0x18) != 8 && ((i.types[0].array[0]._3_1_ & 1) == 0)))\n              ))) {\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/config/tc-i386.c",0x1a6b,"build_modrm_byte");\n          }\n          uVar14 = (ulong)((i.types[0].array[0]._1_1_ & 0xfc) != 0 ||\n                          (i.types[0].array[0]._3_1_ & 1) != 0);\n          uVar26 = 3;\n        }\n        else if (i.operands < 4) {\n          uVar26 = i.operands;\n          if (i.operands != 2) goto LAB_00133dcf;\n        }\n        else {\n          if (i.operands != 4) goto joined_r0x00133753;\nLAB_00133379:\n          uVar14 = (ulong)i.imm_operands;\n          if (i.imm_operands == 2) {\n            if (((i.types[0].array[0]._1_1_ & 4) == 0) || ((i.types[1].array[0]._1_1_ & 4) == 0))\n            goto LAB_00133d61;\n          }\n          else {\n            if ((((i.tm.opcode_modifier._5_1_ & 0x18) != 8) || (i.imm_operands != 1)) ||\n               ((((i.types[0].array[0]._1_1_ & 4) == 0 && ((i.types[3].array[0]._1_1_ & 4) == 0)) &&\n                (i.rounding == (RC_Operation *)0x0)))) {\nLAB_00133d61:\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1a81,"build_modrm_byte");\n            }\n            uVar14 = (ulong)((i.types[0].array[0]._1_1_ & 4) != 0);\n          }\n          uVar26 = 4;\n        }\nLAB_001337c1:\n        if (bVar22 != 8) {\n          uVar18 = (int)uVar14 + 1;\n          uVar21 = (ulong)uVar18;\n          if ((i.rounding != (RC_Operation *)0x0) && ((i.rounding)->operand == uVar18)) {\n            uVar21 = (ulong)((int)uVar14 + 2);\n          }\n          if ((i.tm.opcode_modifier._5_1_ & 0x18) == 8) {\n            uVar24 = uVar14;\n            uVar16 = uVar21;\n            if (((*(byte *)((long)i.tm.operand_types + uVar14 * 8 + 2) & 0x40) == 0) &&\n               ((*(byte *)((long)i.tm.operand_types + uVar21 * 8 + 2) & 0x40) != 0)) {\n              uVar24 = uVar21;\n              uVar16 = uVar14;\n            }\n            uVar20 = (int)uVar21 + 1;\n            uVar21 = (ulong)uVar20;\n            uVar14 = *(ulong *)i.tm.operand_types[uVar16].array;\n            uVar18 = *(uint *)((long)i.tm.operand_types + uVar16 * 8 + 4);\n            if ((uVar26 <= uVar20) ||\n               ((((uVar14 & 1) == 0 ||\n                 ((-1 < (char)((uVar14 & 0xfffffffff7ffffff) >> 0x18) && ((uVar18 & 2) == 0)))) &&\n                (((uVar14 & 4) == 0 &&\n                 ((regmask.array[0] != (uint)(uVar14 & 0xfffffffff7ffffff) ||\n                  (regmask.array[1] != uVar18)))))))) {\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1ac9,"build_modrm_byte");\n            }\n            i.vex.register_specifier = i.op[uVar16].regs;\n            uVar14 = uVar24;\n          }\n        }\nLAB_001337ff:\n        i.rm.mode = 3;\n        if (((*(byte *)((long)i.tm.operand_types + uVar21 * 8 + 3) & 8) == 0) &&\n           (((ulong)i.tm.operand_types[uVar21] & 0x5f0000) == 0)) {\n          i.rm.reg = (uint)(i.op[uVar21].regs)->reg_num;\n          i.rm.regmem = (uint)(i.op[uVar14].regs)->reg_num;\n          bVar22 = (i.op[uVar21].regs)->reg_flags;\n          if ((bVar22 & 1) != 0) {\n            i.rex = i.rex | 4;\n          }\n          if ((bVar22 & 4) != 0) {\n            i.vrex = i.vrex | 4;\n          }\n          bVar22 = (i.op[uVar14].regs)->reg_flags;\n          if ((bVar22 & 1) != 0) {\n            i.rex = i.rex | 1;\n          }\n          if ((bVar22 & 4) != 0) {\n            i.vrex = i.vrex | 1;\n          }\n        }\n        else {\n          i.rm.reg = (uint)(i.op[uVar14].regs)->reg_num;\n          i.rm.regmem = (uint)(i.op[uVar21].regs)->reg_num;\n          bVar22 = (i.op[uVar21].regs)->reg_flags;\n          if ((bVar22 & 1) != 0) {\n            i.rex = i.rex | 1;\n          }\n          if ((bVar22 & 4) != 0) {\n            i.vrex = i.vrex | 1;\n          }\n          bVar22 = (i.op[uVar14].regs)->reg_flags;\n          if ((bVar22 & 1) != 0) {\n            i.rex = i.rex | 4;\n          }\n          if ((bVar22 & 4) != 0) {\n            i.vrex = i.vrex | 4;\n          }\n        }\n        if ((flag_code != CODE_64BIT) && ((i.rex & 4U) != 0)) {\n          if (((ulong)i.types[(byte)i.tm.operand_types[0].array[0]._3_1_ >> 3 & 1] & 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/config/tc-i386.c",0x1af4,"build_modrm_byte");\n          }\n          i.rex = i.rex & 0xfffffffb;\n          add_prefix(0xf0);\n          return (seg_entry *)0x0;\n        }\n        i.rm.mode = 3;\n        return (seg_entry *)0x0;\n      }\n    }\n    else if (i.reg_operands == 3) {\n      if ((i.tm.opcode_modifier._5_1_ & 0x18) == 8) goto LAB_0013335b;\n    }\n    else if ((i.reg_operands == 4) && (bVar22 == 8)) {\n      if (i.operands == 3) goto LAB_00133ea8;\n      if (i.operands < 4) {\n        if (i.operands != 2) goto LAB_00133dcf;\n        goto LAB_001337ff;\n      }\n      if (i.operands == 4) goto LAB_00133379;\njoined_r0x00133753:\n      if (i.operands != 5) {\nLAB_00133dcf:\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/tc-i386.c",0x1aa0,"build_modrm_byte");\n      }\n      if (i.tm.opcode_modifier._7_1_ == '\0') {\n        uVar14 = uVar24;\n        uVar26 = 5;\n      }\n      else {\n        if (((i.imm_operands != 2) || (-1 < (char)i.tm.opcode_modifier._7_1_)) ||\n           ((i.types[0].array[0]._1_1_ & 0xfc) == 0)) {\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/config/tc-i386.c",0x1a96,"build_modrm_byte");\n        }\n        if ((i.types[1].array[0]._1_1_ & 0xfc) == 0) {\n          if ((i.types[4].array[0]._1_1_ & 0xfc) == 0) {\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/config/tc-i386.c",0x1a9c,"build_modrm_byte");\n          }\n          uVar14 = 1;\n          uVar26 = 5;\n        }\n        else {\n          uVar14 = (ulong)i.imm_operands;\n          uVar26 = 5;\n        }\n      }\n      goto LAB_001337c1;\n    }\n    uVar26 = 0xffffffff;\n    puVar15 = (undefined1 *)0x0;\n  }\n  else {\n    if (i.operands == 0) {\nLAB_0013303b:\n                    /* WARNING: Subroutine does not return */\n      as_abort("../../gas/config/tc-i386.c",0x1b05,"build_modrm_byte");\n    }\n    if ((i.types[0].array[0]._2_1_ & 0x5f) == 0) {\n      uVar14 = 1;\n      do {\n        uVar24 = uVar14 & 0xffffffff;\n        if (i.operands <= (uint)uVar14) goto LAB_0013303b;\n        piVar2 = i.types + uVar14;\n        uVar14 = uVar14 + 1;\n      } while (((ulong)*piVar2 & 0x5f0000) == 0);\n    }\n    else {\n      uVar24 = 0;\n    }\n    bVar23 = uVar9 & 0x30;\n    uVar26 = (uint)uVar24;\n    if (bVar23 == 0) {\nLAB_0013313d:\n      if (prVar10 != (reg_entry *)0x0) goto LAB_00133146;\nLAB_00133448:\n      prVar10 = i.index_reg;\n      i.rm.mode = 0;\n      if (i.disp_operands == 0) {\n        if (i.index_reg == (reg_entry *)0x0) {\n          aVar19 = Cpu286;\n          goto LAB_00133cae;\n        }\n        if (bVar23 == 0) {\n          aVar19 = Cpu286;\n          goto LAB_00133af0;\n        }\n        goto LAB_00133a60;\n      }\n      if (i.index_reg != (reg_entry *)0x0) {\n        if (bVar23 == 0) {\n          aVar19 = Cpu186;\nLAB_00133af0:\n          i.sib.index = (uint)(i.index_reg)->reg_num;\n          i.rm.regmem = 4;\n          if ((byte)((i.index_reg)->reg_num + 4) < 2) {\n            i.sib.index = 4;\n          }\n          i.sib.base = 5;\n          i.sib.scale = i.log2_scale_factor;\n          lVar3 = uVar24 * 8;\n          bVar25 = *(byte *)((long)i.types + lVar3 + 2);\n          bVar28 = flag_code == CODE_64BIT;\n          *(byte *)((long)i.types + lVar3 + 2) = bVar25 & 0xec;\n          if ((bVar28) && (i.prefix[2] == '\0')) {\n            *(byte *)((long)i.types + lVar3 + 2) = bVar25 & 0xe0 | 8;\n          }\n          else {\n            *(byte *)((long)i.types + uVar24 * 8 + 2) =\n                 *(byte *)((long)i.types + uVar24 * 8 + 2) & 0xf3 | 4;\n          }\n          puVar15 = ds;\n          if ((prVar10->reg_flags & 1) != 0) {\n            i.rex = i.rex | 2;\n          }\n          goto LAB_00133b80;\n        }\n        goto LAB_00133424;\n      }\n      aVar19 = Cpu186;\nLAB_00133cae:\n      if (bVar23 != 0) {\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/tc-i386.c",0x1b33,"build_modrm_byte");\n      }\n      if (flag_code == CODE_64BIT) {\n        i.rm.regmem = 4;\n        uVar20 = (uint)(i.prefix[2] == '\0');\n        uVar18 = (uint)(i.prefix[2] != '\0');\n        i.sib.base = 5;\n        i.sib.index = 4;\n        iVar13 = 0;\n      }\n      else if ((flag_code == CODE_16BIT) == (i.prefix[2] != '\0')) {\n        i.rm.regmem = 5;\n        uVar20 = 0;\n        uVar18 = 1;\n        iVar13 = 0;\n      }\n      else {\n        i.rm.regmem = 6;\n        uVar20 = 0;\n        uVar18 = 0;\n        iVar13 = 1;\n      }\n      uVar27 = ~anydisp.array[1];\n      i.types[uVar24].array[0] =\n           iVar13 << 0x11 | uVar18 << 0x12 | uVar20 << 0x13 |\n           ~anydisp.array[0] & i.types[uVar24].array[0];\n      puVar15 = ds;\n      puVar1 = (uint *)((long)i.types + uVar24 * 8 + 4);\n      *puVar1 = *puVar1 & uVar27;\nLAB_00133b80:\n      if (aVar19 != Cpu186) goto LAB_00133a67;\n    }\n    else {\n      uVar5 = (i.index_reg)->reg_num;\n      if ((byte)(uVar5 + 4) < 2) {\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/tc-i386.c",0x1b0b,"build_modrm_byte");\n      }\n      i.rm.regmem = 4;\n      if (i.base_reg == (reg_entry *)0x0) {\n        i.sib.base = 5;\n        i.sib.index = 0;\n        i.sib.scale = i.log2_scale_factor;\n        lVar3 = uVar24 * 8;\n        bVar6 = *(byte *)((long)i.types + lVar3 + 2);\n        bVar28 = flag_code == CODE_64BIT;\n        *(byte *)((long)i.types + lVar3 + 2) = bVar6 & 0xec;\n        if ((bVar28) && (i.prefix[2] == '\0')) {\n          *(byte *)((long)i.types + lVar3 + 2) = bVar6 & 0xe0 | 8;\n        }\n        else {\n          *(byte *)((long)i.types + uVar24 * 8 + 2) =\n               *(byte *)((long)i.types + uVar24 * 8 + 2) & 0xf3 | 4;\n        }\n      }\n      i.sib.index._0_1_ = uVar5;\n      i.sib.index._1_3_ = 0;\n      if ((prVar11->reg_flags & 1) != 0) {\n        i.rex = i.rex | 2;\n      }\n      if ((prVar11->reg_flags & 4) == 0) goto LAB_0013313d;\n      i.vrex = i.vrex | 2;\n      if (prVar10 == (reg_entry *)0x0) goto LAB_00133448;\nLAB_00133146:\n      bVar6 = prVar10->reg_num;\n      if (bVar6 < 0xfe) {\n        if (((ulong)prVar10->reg_type & 0x40000000) == 0) {\n          if ((flag_code == CODE_64BIT) && ((*(byte *)((long)i.types + uVar24 * 8 + 2) & 0x1f) != 0)\n             ) {\n            lVar3 = uVar24 * 8;\n            bVar25 = *(byte *)((long)i.types + lVar3 + 2);\n            bVar17 = bVar25 & 0xe1;\n            *(byte *)((long)i.types + lVar3 + 2) = bVar25 & 0xed;\n            if (i.prefix[2] == '\0') {\n              *(byte *)((long)i.types + lVar3 + 2) = bVar17 | 8;\n            }\n            else {\n              *(byte *)((long)i.types + lVar3 + 2) = bVar17 | 4;\n            }\n          }\n          if (bVar23 == 0) {\n            i.rm.regmem = (uint)bVar6;\n          }\n          if ((prVar10->reg_flags & 1) == 0) {\n            puVar15 = ss;\n            if (1 < (byte)(bVar6 - 4)) {\n              puVar15 = ds;\n            }\n          }\n          else {\n            i.rex = i.rex | 1;\n            puVar15 = ds;\n          }\n          i.sib.base = (uint)bVar6;\n          aVar19 = Cpu186;\n          if ((bVar6 == 5) && (aVar19 = Cpu186, i.disp_operands == 0)) {\n            aVar19 = Cpu286;\n            pbVar4 = (byte *)((long)i.types + uVar24 * 8 + 2);\n            *pbVar4 = *pbVar4 | 1;\n          }\n          aVar12 = i.disp_encoding;\n          i.sib.scale = i.log2_scale_factor;\n          if (i.index_reg == (reg_entry *)0x0) {\n            if (bVar23 != 0) {\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1bbf,"build_modrm_byte");\n            }\n            i.sib.index = 4;\n          }\n          else if (bVar23 == 0) {\n            i.rm.regmem = 4;\n            i.sib.index = (uint)(i.index_reg)->reg_num;\n            if ((byte)((i.index_reg)->reg_num + 4) < 2) {\n              i.sib.index = 4;\n            }\n            if (((i.index_reg)->reg_flags & 1) != 0) {\n              i.rex = i.rex | 2;\n            }\n          }\n          if (i.disp_operands == 0) {\n            if ((aVar19 == Cpu186) && (aVar19 = aVar12, i.disp_encoding != Cpu186)) {\n              if (i.disp_encoding == Cpu286) {\n                pbVar4 = (byte *)((long)i.types + uVar24 * 8 + 2);\n                *pbVar4 = *pbVar4 | 1;\n              }\n              else {\n                pbVar4 = (byte *)((long)i.types + uVar24 * 8 + 2);\n                *pbVar4 = *pbVar4 | 4;\n                aVar19 = Cpu286;\n              }\n            }\n          }\n          else if ((i.reloc[uVar24] == BFD_RELOC_386_TLS_DESC_CALL) ||\n                  (i.reloc[uVar24] == BFD_RELOC_X86_64_TLSDESC_CALL)) {\n            i.rm.mode = 0;\n            goto LAB_00133b80;\n          }\n        }\n        else {\n          if (bVar23 != 0) {\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/config/tc-i386.c",0x1b7c,"build_modrm_byte");\n          }\n          if (bVar6 == 3) {\n            if (i.index_reg != (reg_entry *)0x0) {\n              i.rm.regmem = (i.index_reg)->reg_num - 6;\n              goto LAB_0013317e;\n            }\n            i.rm.regmem = 7;\n            puVar15 = ds;\n            aVar19 = Cpu186;\n          }\n          else if (bVar6 == 5) {\n            if (i.index_reg == (reg_entry *)0x0) {\n              puVar15 = ss;\n              i.rm.regmem = 6;\n              aVar19 = Cpu186;\n              if ((*(byte *)((long)i.types + uVar24 * 8 + 2) & 0x1f) == 0) {\n                pbVar4 = (byte *)((long)i.types + uVar24 * 8 + 2);\n                *pbVar4 = *pbVar4 | 1;\n                aVar19 = Cpu286;\n              }\n            }\n            else {\n              i.rm.regmem = (i.index_reg)->reg_num - 4;\n              puVar15 = ss;\n              aVar19 = Cpu186;\n            }\n          }\n          else {\n            i.rm.regmem = bVar6 - 2;\nLAB_0013317e:\n            aVar19 = Cpu186;\n            puVar15 = ds;\n          }\n        }\n        i.rm.mode = 1;\n        if (((ulong)i.types[uVar24] >> 0x10 & 1) == 0) {\n          i.rm.mode = (uint)(((ulong)i.types[uVar24] & 0xe0000) != 0) * 2;\n        }\n        goto LAB_00133b80;\n      }\n      if (bVar23 != 0) {\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/tc-i386.c",0x1b6f,"build_modrm_byte");\n      }\n      i.rm.regmem = 5;\n      *(byte *)((long)i.types + uVar24 * 8 + 2) =\n           *(byte *)((long)i.types + uVar24 * 8 + 2) & 0xe0 | 8;\n      uVar18 = i.disp_operands;\n      i.flags[uVar24] = i.flags[uVar24] | 1;\n      if (uVar18 != 0) {\nLAB_00133424:\n        puVar15 = ds;\n        goto LAB_00133089;\n      }\nLAB_00133a60:\n      puVar15 = ds;\nLAB_00133a67:\n      if (i.op[uVar24].disps != (expressionS *)0x0) {\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/tc-i386.c",0x1bed,"build_modrm_byte");\n      }\n      uVar14 = (ulong)i.disp_operands;\n      i.disp_operands = i.disp_operands + 1;\n      i.op[uVar24].disps = disp_expressions + uVar14;\n      disp_expressions[uVar14].field_0x18 = 2;\n      disp_expressions[uVar14].X_add_number = 0;\n      disp_expressions[uVar14].X_add_symbol = (symbolS *)0x0;\n      disp_expressions[uVar14].X_op_symbol = (symbolS *)0x0;\n    }\n    bVar25 = i.tm.opcode_modifier._6_1_ & 0xc;\n  }" if (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    if (i.reg_operands == 2) {\n      if (((byte)i.tm.opcode_modifier._5_1_ >> 3 & 3) < 2) {\nLAB_0013335b:\n        if (i.operands == 3) {\nLAB_00133ea8:\n          if ((i.imm_operands != 1) &&\n             ((i.imm_operands != 0 ||\n              (((i.tm.opcode_modifier._5_1_ & 0x18) != 8 && ((i.types[0].array[0]._3_1_ & 1) == 0)))\n              ))) {\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/config/tc-i386.c",0x1a6b,"build_modrm_byte");\n          }\n          uVar14 = (ulong)((i.types[0].array[0]._1_1_ & 0xfc) != 0 ||\n                          (i.types[0].array[0]._3_1_ & 1) != 0);\n          uVar26 = 3;\n        }\n        else if (i.operands < 4) {\n          uVar26 = i.operands;\n          if (i.operands != 2) goto LAB_00133dcf;\n        }\n        else {\n          if (i.operands != 4) goto joined_r0x00133753;\nLAB_00133379:\n          uVar14 = (ulong)i.imm_operands;\n          if (i.imm_operands == 2) {\n            if (((i.types[0].array[0]._1_1_ & 4) == 0) || ((i.types[1].array[0]._1_1_ & 4) == 0))\n            goto LAB_00133d61;\n          }\n          else {\n            if ((((i.tm.opcode_modifier._5_1_ & 0x18) != 8) || (i.imm_operands != 1)) ||\n               ((((i.types[0].array[0]._1_1_ & 4) == 0 && ((i.types[3].array[0]._1_1_ & 4) == 0)) &&\n                (i.rounding == (RC_Operation *)0x0)))) {\nLAB_00133d61:\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1a81,"build_modrm_byte");\n            }\n            uVar14 = (ulong)((i.types[0].array[0]._1_1_ & 4) != 0);\n          }\n          uVar26 = 4;\n        }\nLAB_001337c1:\n        if (bVar22 != 8) {\n          uVar18 = (int)uVar14 + 1;\n          uVar21 = (ulong)uVar18;\n          if ((i.rounding != (RC_Operation *)0x0) && ((i.rounding)->operand == uVar18)) {\n            uVar21 = (ulong)((int)uVar14 + 2);\n          }\n          if ((i.tm.opcode_modifier._5_1_ & 0x18) == 8) {\n            uVar24 = uVar14;\n            uVar16 = uVar21;\n            if (((*(byte *)((long)i.tm.operand_types + uVar14 * 8 + 2) & 0x40) == 0) &&\n               ((*(byte *)((long)i.tm.operand_types + uVar21 * 8 + 2) & 0x40) != 0)) {\n              uVar24 = uVar21;\n              uVar16 = uVar14;\n            }\n            uVar20 = (int)uVar21 + 1;\n            uVar21 = (ulong)uVar20;\n            uVar14 = *(ulong *)i.tm.operand_types[uVar16].array;\n            uVar18 = *(uint *)((long)i.tm.operand_types + uVar16 * 8 + 4);\n            if ((uVar26 <= uVar20) ||\n               ((((uVar14 & 1) == 0 ||\n                 ((-1 < (char)((uVar14 & 0xfffffffff7ffffff) >> 0x18) && ((uVar18 & 2) == 0)))) &&\n                (((uVar14 & 4) == 0 &&\n                 ((regmask.array[0] != (uint)(uVar14 & 0xfffffffff7ffffff) ||\n                  (regmask.array[1] != uVar18)))))))) {\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1ac9,"build_modrm_byte");\n            }\n            i.vex.register_specifier = i.op[uVar16].regs;\n            uVar14 = uVar24;\n          }\n        }\nLAB_001337ff:\n        i.rm.mode = 3;\n        if (((*(byte *)((long)i.tm.operand_types + uVar21 * 8 + 3) & 8) == 0) &&\n           (((ulong)i.tm.operand_types[uVar21] & 0x5f0000) == 0)) {\n          i.rm.reg = (uint)(i.op[uVar21].regs)->reg_num;\n          i.rm.regmem = (uint)(i.op[uVar14].regs)->reg_num;\n          bVar22 = (i.op[uVar21].regs)->reg_flags;\n          if ((bVar22 & 1) != 0) {\n            i.rex = i.rex | 4;\n          }\n          if ((bVar22 & 4) != 0) {\n            i.vrex = i.vrex | 4;\n          }\n          bVar22 = (i.op[uVar14].regs)->reg_flags;\n          if ((bVar22 & 1) != 0) {\n            i.rex = i.rex | 1;\n          }\n          if ((bVar22 & 4) != 0) {\n            i.vrex = i.vrex | 1;\n          }\n        }\n        else {\n          i.rm.reg = (uint)(i.op[uVar14].regs)->reg_num;\n          i.rm.regmem = (uint)(i.op[uVar21].regs)->reg_num;\n          bVar22 = (i.op[uVar21].regs)->reg_flags;\n          if ((bVar22 & 1) != 0) {\n            i.rex = i.rex | 1;\n          }\n          if ((bVar22 & 4) != 0) {\n            i.vrex = i.vrex | 1;\n          }\n          bVar22 = (i.op[uVar14].regs)->reg_flags;\n          if ((bVar22 & 1) != 0) {\n            i.rex = i.rex | 4;\n          }\n          if ((bVar22 & 4) != 0) {\n            i.vrex = i.vrex | 4;\n          }\n        }\n        if ((flag_code != CODE_64BIT) && ((i.rex & 4U) != 0)) {\n          if (((ulong)i.types[(byte)i.tm.operand_types[0].array[0]._3_1_ >> 3 & 1] & 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/config/tc-i386.c",0x1af4,"build_modrm_byte");\n          }\n          i.rex = i.rex & 0xfffffffb;\n          add_prefix(0xf0);\n          return (seg_entry *)0x0;\n        }\n        i.rm.mode = 3;\n        return (seg_entry *)0x0;\n      }\n    }\n    else if (i.reg_operands == 3) {\n      if ((i.tm.opcode_modifier._5_1_ & 0x18) == 8) goto LAB_0013335b;\n    }\n    else if ((i.reg_operands == 4) && (bVar22 == 8)) {\n      if (i.operands == 3) goto LAB_00133ea8;\n      if (i.operands < 4) {\n        if (i.operands != 2) goto LAB_00133dcf;\n        goto LAB_001337ff;\n      }\n      if (i.operands == 4) goto LAB_00133379;\njoined_r0x00133753:\n      if (i.operands != 5) {\nLAB_00133dcf:\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/tc-i386.c",0x1aa0,"build_modrm_byte");\n      }\n      if (i.tm.opcode_modifier._7_1_ == '\0') {\n        uVar14 = uVar24;\n        uVar26 = 5;\n      }\n      else {\n        if (((i.imm_operands != 2) || (-1 < (char)i.tm.opcode_modifier._7_1_)) ||\n           ((i.types[0].array[0]._1_1_ & 0xfc) == 0)) {\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/config/tc-i386.c",0x1a96,"build_modrm_byte");\n        }\n        if ((i.types[1].array[0]._1_1_ & 0xfc) == 0) {\n          if ((i.types[4].array[0]._1_1_ & 0xfc) == 0) {\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/config/tc-i386.c",0x1a9c,"build_modrm_byte");\n          }\n          uVar14 = 1;\n          uVar26 = 5;\n        }\n        else {\n          uVar14 = (ulong)i.imm_operands;\n          uVar26 = 5;\n        }\n      }\n      goto LAB_001337c1;\n    }\n    uVar26 = 0xffffffff;\n    puVar15 = (undefined1 *)0x0;\n  }" { (if_statement "if (i.reg_operands == 2) {\n      if (((byte)i.tm.opcode_modifier._5_1_ >> 3 & 3) < 2) {\nLAB_0013335b:\n        if (i.operands == 3) {\nLAB_00133ea8:\n          if ((i.imm_operands != 1) &&\n             ((i.imm_operands != 0 ||\n              (((i.tm.opcode_modifier._5_1_ & 0x18) != 8 && ((i.types[0].array[0]._3_1_ & 1) == 0)))\n              ))) {\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/config/tc-i386.c",0x1a6b,"build_modrm_byte");\n          }\n          uVar14 = (ulong)((i.types[0].array[0]._1_1_ & 0xfc) != 0 ||\n                          (i.types[0].array[0]._3_1_ & 1) != 0);\n          uVar26 = 3;\n        }\n        else if (i.operands < 4) {\n          uVar26 = i.operands;\n          if (i.operands != 2) goto LAB_00133dcf;\n        }\n        else {\n          if (i.operands != 4) goto joined_r0x00133753;\nLAB_00133379:\n          uVar14 = (ulong)i.imm_operands;\n          if (i.imm_operands == 2) {\n            if (((i.types[0].array[0]._1_1_ & 4) == 0) || ((i.types[1].array[0]._1_1_ & 4) == 0))\n            goto LAB_00133d61;\n          }\n          else {\n            if ((((i.tm.opcode_modifier._5_1_ & 0x18) != 8) || (i.imm_operands != 1)) ||\n               ((((i.types[0].array[0]._1_1_ & 4) == 0 && ((i.types[3].array[0]._1_1_ & 4) == 0)) &&\n                (i.rounding == (RC_Operation *)0x0)))) {\nLAB_00133d61:\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1a81,"build_modrm_byte");\n            }\n            uVar14 = (ulong)((i.types[0].array[0]._1_1_ & 4) != 0);\n          }\n          uVar26 = 4;\n        }\nLAB_001337c1:\n        if (bVar22 != 8) {\n          uVar18 = (int)uVar14 + 1;\n          uVar21 = (ulong)uVar18;\n          if ((i.rounding != (RC_Operation *)0x0) && ((i.rounding)->operand == uVar18)) {\n            uVar21 = (ulong)((int)uVar14 + 2);\n          }\n          if ((i.tm.opcode_modifier._5_1_ & 0x18) == 8) {\n            uVar24 = uVar14;\n            uVar16 = uVar21;\n            if (((*(byte *)((long)i.tm.operand_types + uVar14 * 8 + 2) & 0x40) == 0) &&\n               ((*(byte *)((long)i.tm.operand_types + uVar21 * 8 + 2) & 0x40) != 0)) {\n              uVar24 = uVar21;\n              uVar16 = uVar14;\n            }\n            uVar20 = (int)uVar21 + 1;\n            uVar21 = (ulong)uVar20;\n            uVar14 = *(ulong *)i.tm.operand_types[uVar16].array;\n            uVar18 = *(uint *)((long)i.tm.operand_types + uVar16 * 8 + 4);\n            if ((uVar26 <= uVar20) ||\n               ((((uVar14 & 1) == 0 ||\n                 ((-1 < (char)((uVar14 & 0xfffffffff7ffffff) >> 0x18) && ((uVar18 & 2) == 0)))) &&\n                (((uVar14 & 4) == 0 &&\n                 ((regmask.array[0] != (uint)(uVar14 & 0xfffffffff7ffffff) ||\n                  (regmask.array[1] != uVar18)))))))) {\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1ac9,"build_modrm_byte");\n            }\n            i.vex.register_specifier = i.op[uVar16].regs;\n            uVar14 = uVar24;\n          }\n        }\nLAB_001337ff:\n        i.rm.mode = 3;\n        if (((*(byte *)((long)i.tm.operand_types + uVar21 * 8 + 3) & 8) == 0) &&\n           (((ulong)i.tm.operand_types[uVar21] & 0x5f0000) == 0)) {\n          i.rm.reg = (uint)(i.op[uVar21].regs)->reg_num;\n          i.rm.regmem = (uint)(i.op[uVar14].regs)->reg_num;\n          bVar22 = (i.op[uVar21].regs)->reg_flags;\n          if ((bVar22 & 1) != 0) {\n            i.rex = i.rex | 4;\n          }\n          if ((bVar22 & 4) != 0) {\n            i.vrex = i.vrex | 4;\n          }\n          bVar22 = (i.op[uVar14].regs)->reg_flags;\n          if ((bVar22 & 1) != 0) {\n            i.rex = i.rex | 1;\n          }\n          if ((bVar22 & 4) != 0) {\n            i.vrex = i.vrex | 1;\n          }\n        }\n        else {\n          i.rm.reg = (uint)(i.op[uVar14].regs)->reg_num;\n          i.rm.regmem = (uint)(i.op[uVar21].regs)->reg_num;\n          bVar22 = (i.op[uVar21].regs)->reg_flags;\n          if ((bVar22 & 1) != 0) {\n            i.rex = i.rex | 1;\n          }\n          if ((bVar22 & 4) != 0) {\n            i.vrex = i.vrex | 1;\n          }\n          bVar22 = (i.op[uVar14].regs)->reg_flags;\n          if ((bVar22 & 1) != 0) {\n            i.rex = i.rex | 4;\n          }\n          if ((bVar22 & 4) != 0) {\n            i.vrex = i.vrex | 4;\n          }\n        }\n        if ((flag_code != CODE_64BIT) && ((i.rex & 4U) != 0)) {\n          if (((ulong)i.types[(byte)i.tm.operand_types[0].array[0]._3_1_ >> 3 & 1] & 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/config/tc-i386.c",0x1af4,"build_modrm_byte");\n          }\n          i.rex = i.rex & 0xfffffffb;\n          add_prefix(0xf0);\n          return (seg_entry *)0x0;\n        }\n        i.rm.mode = 3;\n        return (seg_entry *)0x0;\n      }\n    }\n    else if (i.reg_operands == 3) {\n      if ((i.tm.opcode_modifier._5_1_ & 0x18) == 8) goto LAB_0013335b;\n    }\n    else if ((i.reg_operands == 4) && (bVar22 == 8)) {\n      if (i.operands == 3) goto LAB_00133ea8;\n      if (i.operands < 4) {\n        if (i.operands != 2) goto LAB_00133dcf;\n        goto LAB_001337ff;\n      }\n      if (i.operands == 4) goto LAB_00133379;\njoined_r0x00133753:\n      if (i.operands != 5) {\nLAB_00133dcf:\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/tc-i386.c",0x1aa0,"build_modrm_byte");\n      }\n      if (i.tm.opcode_modifier._7_1_ == '\0') {\n        uVar14 = uVar24;\n        uVar26 = 5;\n      }\n      else {\n        if (((i.imm_operands != 2) || (-1 < (char)i.tm.opcode_modifier._7_1_)) ||\n           ((i.types[0].array[0]._1_1_ & 0xfc) == 0)) {\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/config/tc-i386.c",0x1a96,"build_modrm_byte");\n        }\n        if ((i.types[1].array[0]._1_1_ & 0xfc) == 0) {\n          if ((i.types[4].array[0]._1_1_ & 0xfc) == 0) {\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/config/tc-i386.c",0x1a9c,"build_modrm_byte");\n          }\n          uVar14 = 1;\n          uVar26 = 5;\n        }\n        else {\n          uVar14 = (ulong)i.imm_operands;\n          uVar26 = 5;\n        }\n      }\n      goto LAB_001337c1;\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 (((byte)i.tm.opcode_modifier._5_1_ >> 3 & 3) < 2) {\nLAB_0013335b:\n        if (i.operands == 3) {\nLAB_00133ea8:\n          if ((i.imm_operands != 1) &&\n             ((i.imm_operands != 0 ||\n              (((i.tm.opcode_modifier._5_1_ & 0x18) != 8 && ((i.types[0].array[0]._3_1_ & 1) == 0)))\n              ))) {\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/config/tc-i386.c",0x1a6b,"build_modrm_byte");\n          }\n          uVar14 = (ulong)((i.types[0].array[0]._1_1_ & 0xfc) != 0 ||\n                          (i.types[0].array[0]._3_1_ & 1) != 0);\n          uVar26 = 3;\n        }\n        else if (i.operands < 4) {\n          uVar26 = i.operands;\n          if (i.operands != 2) goto LAB_00133dcf;\n        }\n        else {\n          if (i.operands != 4) goto joined_r0x00133753;\nLAB_00133379:\n          uVar14 = (ulong)i.imm_operands;\n          if (i.imm_operands == 2) {\n            if (((i.types[0].array[0]._1_1_ & 4) == 0) || ((i.types[1].array[0]._1_1_ & 4) == 0))\n            goto LAB_00133d61;\n          }\n          else {\n            if ((((i.tm.opcode_modifier._5_1_ & 0x18) != 8) || (i.imm_operands != 1)) ||\n               ((((i.types[0].array[0]._1_1_ & 4) == 0 && ((i.types[3].array[0]._1_1_ & 4) == 0)) &&\n                (i.rounding == (RC_Operation *)0x0)))) {\nLAB_00133d61:\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1a81,"build_modrm_byte");\n            }\n            uVar14 = (ulong)((i.types[0].array[0]._1_1_ & 4) != 0);\n          }\n          uVar26 = 4;\n        }\nLAB_001337c1:\n        if (bVar22 != 8) {\n          uVar18 = (int)uVar14 + 1;\n          uVar21 = (ulong)uVar18;\n          if ((i.rounding != (RC_Operation *)0x0) && ((i.rounding)->operand == uVar18)) {\n            uVar21 = (ulong)((int)uVar14 + 2);\n          }\n          if ((i.tm.opcode_modifier._5_1_ & 0x18) == 8) {\n            uVar24 = uVar14;\n            uVar16 = uVar21;\n            if (((*(byte *)((long)i.tm.operand_types + uVar14 * 8 + 2) & 0x40) == 0) &&\n               ((*(byte *)((long)i.tm.operand_types + uVar21 * 8 + 2) & 0x40) != 0)) {\n              uVar24 = uVar21;\n              uVar16 = uVar14;\n            }\n            uVar20 = (int)uVar21 + 1;\n            uVar21 = (ulong)uVar20;\n            uVar14 = *(ulong *)i.tm.operand_types[uVar16].array;\n            uVar18 = *(uint *)((long)i.tm.operand_types + uVar16 * 8 + 4);\n            if ((uVar26 <= uVar20) ||\n               ((((uVar14 & 1) == 0 ||\n                 ((-1 < (char)((uVar14 & 0xfffffffff7ffffff) >> 0x18) && ((uVar18 & 2) == 0)))) &&\n                (((uVar14 & 4) == 0 &&\n                 ((regmask.array[0] != (uint)(uVar14 & 0xfffffffff7ffffff) ||\n                  (regmask.array[1] != uVar18)))))))) {\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1ac9,"build_modrm_byte");\n            }\n            i.vex.register_specifier = i.op[uVar16].regs;\n            uVar14 = uVar24;\n          }\n        }\nLAB_001337ff:\n        i.rm.mode = 3;\n        if (((*(byte *)((long)i.tm.operand_types + uVar21 * 8 + 3) & 8) == 0) &&\n           (((ulong)i.tm.operand_types[uVar21] & 0x5f0000) == 0)) {\n          i.rm.reg = (uint)(i.op[uVar21].regs)->reg_num;\n          i.rm.regmem = (uint)(i.op[uVar14].regs)->reg_num;\n          bVar22 = (i.op[uVar21].regs)->reg_flags;\n          if ((bVar22 & 1) != 0) {\n            i.rex = i.rex | 4;\n          }\n          if ((bVar22 & 4) != 0) {\n            i.vrex = i.vrex | 4;\n          }\n          bVar22 = (i.op[uVar14].regs)->reg_flags;\n          if ((bVar22 & 1) != 0) {\n            i.rex = i.rex | 1;\n          }\n          if ((bVar22 & 4) != 0) {\n            i.vrex = i.vrex | 1;\n          }\n        }\n        else {\n          i.rm.reg = (uint)(i.op[uVar14].regs)->reg_num;\n          i.rm.regmem = (uint)(i.op[uVar21].regs)->reg_num;\n          bVar22 = (i.op[uVar21].regs)->reg_flags;\n          if ((bVar22 & 1) != 0) {\n            i.rex = i.rex | 1;\n          }\n          if ((bVar22 & 4) != 0) {\n            i.vrex = i.vrex | 1;\n          }\n          bVar22 = (i.op[uVar14].regs)->reg_flags;\n          if ((bVar22 & 1) != 0) {\n            i.rex = i.rex | 4;\n          }\n          if ((bVar22 & 4) != 0) {\n            i.vrex = i.vrex | 4;\n          }\n        }\n        if ((flag_code != CODE_64BIT) && ((i.rex & 4U) != 0)) {\n          if (((ulong)i.types[(byte)i.tm.operand_types[0].array[0]._3_1_ >> 3 & 1] & 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/config/tc-i386.c",0x1af4,"build_modrm_byte");\n          }\n          i.rex = i.rex & 0xfffffffb;\n          add_prefix(0xf0);\n          return (seg_entry *)0x0;\n        }\n        i.rm.mode = 3;\n        return (seg_entry *)0x0;\n      }\n    }" { (if_statement "if (((byte)i.tm.opcode_modifier._5_1_ >> 3 & 3) < 2) {\nLAB_0013335b:\n        if (i.operands == 3) {\nLAB_00133ea8:\n          if ((i.imm_operands != 1) &&\n             ((i.imm_operands != 0 ||\n              (((i.tm.opcode_modifier._5_1_ & 0x18) != 8 && ((i.types[0].array[0]._3_1_ & 1) == 0)))\n              ))) {\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/config/tc-i386.c",0x1a6b,"build_modrm_byte");\n          }\n          uVar14 = (ulong)((i.types[0].array[0]._1_1_ & 0xfc) != 0 ||\n                          (i.types[0].array[0]._3_1_ & 1) != 0);\n          uVar26 = 3;\n        }\n        else if (i.operands < 4) {\n          uVar26 = i.operands;\n          if (i.operands != 2) goto LAB_00133dcf;\n        }\n        else {\n          if (i.operands != 4) goto joined_r0x00133753;\nLAB_00133379:\n          uVar14 = (ulong)i.imm_operands;\n          if (i.imm_operands == 2) {\n            if (((i.types[0].array[0]._1_1_ & 4) == 0) || ((i.types[1].array[0]._1_1_ & 4) == 0))\n            goto LAB_00133d61;\n          }\n          else {\n            if ((((i.tm.opcode_modifier._5_1_ & 0x18) != 8) || (i.imm_operands != 1)) ||\n               ((((i.types[0].array[0]._1_1_ & 4) == 0 && ((i.types[3].array[0]._1_1_ & 4) == 0)) &&\n                (i.rounding == (RC_Operation *)0x0)))) {\nLAB_00133d61:\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1a81,"build_modrm_byte");\n            }\n            uVar14 = (ulong)((i.types[0].array[0]._1_1_ & 4) != 0);\n          }\n          uVar26 = 4;\n        }\nLAB_001337c1:\n        if (bVar22 != 8) {\n          uVar18 = (int)uVar14 + 1;\n          uVar21 = (ulong)uVar18;\n          if ((i.rounding != (RC_Operation *)0x0) && ((i.rounding)->operand == uVar18)) {\n            uVar21 = (ulong)((int)uVar14 + 2);\n          }\n          if ((i.tm.opcode_modifier._5_1_ & 0x18) == 8) {\n            uVar24 = uVar14;\n            uVar16 = uVar21;\n            if (((*(byte *)((long)i.tm.operand_types + uVar14 * 8 + 2) & 0x40) == 0) &&\n               ((*(byte *)((long)i.tm.operand_types + uVar21 * 8 + 2) & 0x40) != 0)) {\n              uVar24 = uVar21;\n              uVar16 = uVar14;\n            }\n            uVar20 = (int)uVar21 + 1;\n            uVar21 = (ulong)uVar20;\n            uVar14 = *(ulong *)i.tm.operand_types[uVar16].array;\n            uVar18 = *(uint *)((long)i.tm.operand_types + uVar16 * 8 + 4);\n            if ((uVar26 <= uVar20) ||\n               ((((uVar14 & 1) == 0 ||\n                 ((-1 < (char)((uVar14 & 0xfffffffff7ffffff) >> 0x18) && ((uVar18 & 2) == 0)))) &&\n                (((uVar14 & 4) == 0 &&\n                 ((regmask.array[0] != (uint)(uVar14 & 0xfffffffff7ffffff) ||\n                  (regmask.array[1] != uVar18)))))))) {\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1ac9,"build_modrm_byte");\n            }\n            i.vex.register_specifier = i.op[uVar16].regs;\n            uVar14 = uVar24;\n          }\n        }\nLAB_001337ff:\n        i.rm.mode = 3;\n        if (((*(byte *)((long)i.tm.operand_types + uVar21 * 8 + 3) & 8) == 0) &&\n           (((ulong)i.tm.operand_types[uVar21] & 0x5f0000) == 0)) {\n          i.rm.reg = (uint)(i.op[uVar21].regs)->reg_num;\n          i.rm.regmem = (uint)(i.op[uVar14].regs)->reg_num;\n          bVar22 = (i.op[uVar21].regs)->reg_flags;\n          if ((bVar22 & 1) != 0) {\n            i.rex = i.rex | 4;\n          }\n          if ((bVar22 & 4) != 0) {\n            i.vrex = i.vrex | 4;\n          }\n          bVar22 = (i.op[uVar14].regs)->reg_flags;\n          if ((bVar22 & 1) != 0) {\n            i.rex = i.rex | 1;\n          }\n          if ((bVar22 & 4) != 0) {\n            i.vrex = i.vrex | 1;\n          }\n        }\n        else {\n          i.rm.reg = (uint)(i.op[uVar14].regs)->reg_num;\n          i.rm.regmem = (uint)(i.op[uVar21].regs)->reg_num;\n          bVar22 = (i.op[uVar21].regs)->reg_flags;\n          if ((bVar22 & 1) != 0) {\n            i.rex = i.rex | 1;\n          }\n          if ((bVar22 & 4) != 0) {\n            i.vrex = i.vrex | 1;\n          }\n          bVar22 = (i.op[uVar14].regs)->reg_flags;\n          if ((bVar22 & 1) != 0) {\n            i.rex = i.rex | 4;\n          }\n          if ((bVar22 & 4) != 0) {\n            i.vrex = i.vrex | 4;\n          }\n        }\n        if ((flag_code != CODE_64BIT) && ((i.rex & 4U) != 0)) {\n          if (((ulong)i.types[(byte)i.tm.operand_types[0].array[0]._3_1_ >> 3 & 1] & 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/config/tc-i386.c",0x1af4,"build_modrm_byte");\n          }\n          i.rex = i.rex & 0xfffffffb;\n          add_prefix(0xf0);\n          return (seg_entry *)0x0;\n        }\n        i.rm.mode = 3;\n        return (seg_entry *)0x0;\n      }" if (parenthesized_expression "(((byte)i.tm.opcode_modifier._5_1_ >> 3 & 3) < 2)" ( (binary_expression "((byte)i.tm.opcode_modifier._5_1_ >> 3 & 3) < 2" (parenthesized_expression "((byte)i.tm.opcode_modifier._5_1_ >> 3 & 3)" ( (binary_expression "(byte)i.tm.opcode_modifier._5_1_ >> 3 & 3" (binary_expression "(byte)i.tm.opcode_modifier._5_1_ >> 3" (cast_expression "(byte)i.tm.opcode_modifier._5_1_" ( (type_descriptor "byte" type_identifier) ) (field_expression "i.tm.opcode_modifier._5_1_" (field_expression "i.tm.opcode_modifier" (field_expression "i.tm" identifier . field_identifier) . field_identifier) . field_identifier)) >> number_literal) & number_literal) )) < number_literal) )) (compound_statement "{\nLAB_0013335b:\n        if (i.operands == 3) {\nLAB_00133ea8:\n          if ((i.imm_operands != 1) &&\n             ((i.imm_operands != 0 ||\n              (((i.tm.opcode_modifier._5_1_ & 0x18) != 8 && ((i.types[0].array[0]._3_1_ & 1) == 0)))\n              ))) {\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/config/tc-i386.c",0x1a6b,"build_modrm_byte");\n          }\n          uVar14 = (ulong)((i.types[0].array[0]._1_1_ & 0xfc) != 0 ||\n                          (i.types[0].array[0]._3_1_ & 1) != 0);\n          uVar26 = 3;\n        }\n        else if (i.operands < 4) {\n          uVar26 = i.operands;\n          if (i.operands != 2) goto LAB_00133dcf;\n        }\n        else {\n          if (i.operands != 4) goto joined_r0x00133753;\nLAB_00133379:\n          uVar14 = (ulong)i.imm_operands;\n          if (i.imm_operands == 2) {\n            if (((i.types[0].array[0]._1_1_ & 4) == 0) || ((i.types[1].array[0]._1_1_ & 4) == 0))\n            goto LAB_00133d61;\n          }\n          else {\n            if ((((i.tm.opcode_modifier._5_1_ & 0x18) != 8) || (i.imm_operands != 1)) ||\n               ((((i.types[0].array[0]._1_1_ & 4) == 0 && ((i.types[3].array[0]._1_1_ & 4) == 0)) &&\n                (i.rounding == (RC_Operation *)0x0)))) {\nLAB_00133d61:\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1a81,"build_modrm_byte");\n            }\n            uVar14 = (ulong)((i.types[0].array[0]._1_1_ & 4) != 0);\n          }\n          uVar26 = 4;\n        }\nLAB_001337c1:\n        if (bVar22 != 8) {\n          uVar18 = (int)uVar14 + 1;\n          uVar21 = (ulong)uVar18;\n          if ((i.rounding != (RC_Operation *)0x0) && ((i.rounding)->operand == uVar18)) {\n            uVar21 = (ulong)((int)uVar14 + 2);\n          }\n          if ((i.tm.opcode_modifier._5_1_ & 0x18) == 8) {\n            uVar24 = uVar14;\n            uVar16 = uVar21;\n            if (((*(byte *)((long)i.tm.operand_types + uVar14 * 8 + 2) & 0x40) == 0) &&\n               ((*(byte *)((long)i.tm.operand_types + uVar21 * 8 + 2) & 0x40) != 0)) {\n              uVar24 = uVar21;\n              uVar16 = uVar14;\n            }\n            uVar20 = (int)uVar21 + 1;\n            uVar21 = (ulong)uVar20;\n            uVar14 = *(ulong *)i.tm.operand_types[uVar16].array;\n            uVar18 = *(uint *)((long)i.tm.operand_types + uVar16 * 8 + 4);\n            if ((uVar26 <= uVar20) ||\n               ((((uVar14 & 1) == 0 ||\n                 ((-1 < (char)((uVar14 & 0xfffffffff7ffffff) >> 0x18) && ((uVar18 & 2) == 0)))) &&\n                (((uVar14 & 4) == 0 &&\n                 ((regmask.array[0] != (uint)(uVar14 & 0xfffffffff7ffffff) ||\n                  (regmask.array[1] != uVar18)))))))) {\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1ac9,"build_modrm_byte");\n            }\n            i.vex.register_specifier = i.op[uVar16].regs;\n            uVar14 = uVar24;\n          }\n        }\nLAB_001337ff:\n        i.rm.mode = 3;\n        if (((*(byte *)((long)i.tm.operand_types + uVar21 * 8 + 3) & 8) == 0) &&\n           (((ulong)i.tm.operand_types[uVar21] & 0x5f0000) == 0)) {\n          i.rm.reg = (uint)(i.op[uVar21].regs)->reg_num;\n          i.rm.regmem = (uint)(i.op[uVar14].regs)->reg_num;\n          bVar22 = (i.op[uVar21].regs)->reg_flags;\n          if ((bVar22 & 1) != 0) {\n            i.rex = i.rex | 4;\n          }\n          if ((bVar22 & 4) != 0) {\n            i.vrex = i.vrex | 4;\n          }\n          bVar22 = (i.op[uVar14].regs)->reg_flags;\n          if ((bVar22 & 1) != 0) {\n            i.rex = i.rex | 1;\n          }\n          if ((bVar22 & 4) != 0) {\n            i.vrex = i.vrex | 1;\n          }\n        }\n        else {\n          i.rm.reg = (uint)(i.op[uVar14].regs)->reg_num;\n          i.rm.regmem = (uint)(i.op[uVar21].regs)->reg_num;\n          bVar22 = (i.op[uVar21].regs)->reg_flags;\n          if ((bVar22 & 1) != 0) {\n            i.rex = i.rex | 1;\n          }\n          if ((bVar22 & 4) != 0) {\n            i.vrex = i.vrex | 1;\n          }\n          bVar22 = (i.op[uVar14].regs)->reg_flags;\n          if ((bVar22 & 1) != 0) {\n            i.rex = i.rex | 4;\n          }\n          if ((bVar22 & 4) != 0) {\n            i.vrex = i.vrex | 4;\n          }\n        }\n        if ((flag_code != CODE_64BIT) && ((i.rex & 4U) != 0)) {\n          if (((ulong)i.types[(byte)i.tm.operand_types[0].array[0]._3_1_ >> 3 & 1] & 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/config/tc-i386.c",0x1af4,"build_modrm_byte");\n          }\n          i.rex = i.rex & 0xfffffffb;\n          add_prefix(0xf0);\n          return (seg_entry *)0x0;\n        }\n        i.rm.mode = 3;\n        return (seg_entry *)0x0;\n      }" { (labeled_statement "LAB_0013335b:\n        if (i.operands == 3) {\nLAB_00133ea8:\n          if ((i.imm_operands != 1) &&\n             ((i.imm_operands != 0 ||\n              (((i.tm.opcode_modifier._5_1_ & 0x18) != 8 && ((i.types[0].array[0]._3_1_ & 1) == 0)))\n              ))) {\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/config/tc-i386.c",0x1a6b,"build_modrm_byte");\n          }\n          uVar14 = (ulong)((i.types[0].array[0]._1_1_ & 0xfc) != 0 ||\n                          (i.types[0].array[0]._3_1_ & 1) != 0);\n          uVar26 = 3;\n        }\n        else if (i.operands < 4) {\n          uVar26 = i.operands;\n          if (i.operands != 2) goto LAB_00133dcf;\n        }\n        else {\n          if (i.operands != 4) goto joined_r0x00133753;\nLAB_00133379:\n          uVar14 = (ulong)i.imm_operands;\n          if (i.imm_operands == 2) {\n            if (((i.types[0].array[0]._1_1_ & 4) == 0) || ((i.types[1].array[0]._1_1_ & 4) == 0))\n            goto LAB_00133d61;\n          }\n          else {\n            if ((((i.tm.opcode_modifier._5_1_ & 0x18) != 8) || (i.imm_operands != 1)) ||\n               ((((i.types[0].array[0]._1_1_ & 4) == 0 && ((i.types[3].array[0]._1_1_ & 4) == 0)) &&\n                (i.rounding == (RC_Operation *)0x0)))) {\nLAB_00133d61:\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1a81,"build_modrm_byte");\n            }\n            uVar14 = (ulong)((i.types[0].array[0]._1_1_ & 4) != 0);\n          }\n          uVar26 = 4;\n        }" statement_identifier : (if_statement "if (i.operands == 3) {\nLAB_00133ea8:\n          if ((i.imm_operands != 1) &&\n             ((i.imm_operands != 0 ||\n              (((i.tm.opcode_modifier._5_1_ & 0x18) != 8 && ((i.types[0].array[0]._3_1_ & 1) == 0)))\n              ))) {\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/config/tc-i386.c",0x1a6b,"build_modrm_byte");\n          }\n          uVar14 = (ulong)((i.types[0].array[0]._1_1_ & 0xfc) != 0 ||\n                          (i.types[0].array[0]._3_1_ & 1) != 0);\n          uVar26 = 3;\n        }\n        else if (i.operands < 4) {\n          uVar26 = i.operands;\n          if (i.operands != 2) goto LAB_00133dcf;\n        }\n        else {\n          if (i.operands != 4) goto joined_r0x00133753;\nLAB_00133379:\n          uVar14 = (ulong)i.imm_operands;\n          if (i.imm_operands == 2) {\n            if (((i.types[0].array[0]._1_1_ & 4) == 0) || ((i.types[1].array[0]._1_1_ & 4) == 0))\n            goto LAB_00133d61;\n          }\n          else {\n            if ((((i.tm.opcode_modifier._5_1_ & 0x18) != 8) || (i.imm_operands != 1)) ||\n               ((((i.types[0].array[0]._1_1_ & 4) == 0 && ((i.types[3].array[0]._1_1_ & 4) == 0)) &&\n                (i.rounding == (RC_Operation *)0x0)))) {\nLAB_00133d61:\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1a81,"build_modrm_byte");\n            }\n            uVar14 = (ulong)((i.types[0].array[0]._1_1_ & 4) != 0);\n          }\n          uVar26 = 4;\n        }" if (parenthesized_expression "(i.operands == 3)" ( (binary_expression "i.operands == 3" (field_expression "i.operands" identifier . field_identifier) == number_literal) )) (compound_statement "{\nLAB_00133ea8:\n          if ((i.imm_operands != 1) &&\n             ((i.imm_operands != 0 ||\n              (((i.tm.opcode_modifier._5_1_ & 0x18) != 8 && ((i.types[0].array[0]._3_1_ & 1) == 0)))\n              ))) {\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/config/tc-i386.c",0x1a6b,"build_modrm_byte");\n          }\n          uVar14 = (ulong)((i.types[0].array[0]._1_1_ & 0xfc) != 0 ||\n                          (i.types[0].array[0]._3_1_ & 1) != 0);\n          uVar26 = 3;\n        }" { (labeled_statement "LAB_00133ea8:\n          if ((i.imm_operands != 1) &&\n             ((i.imm_operands != 0 ||\n              (((i.tm.opcode_modifier._5_1_ & 0x18) != 8 && ((i.types[0].array[0]._3_1_ & 1) == 0)))\n              ))) {\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/config/tc-i386.c",0x1a6b,"build_modrm_byte");\n          }" statement_identifier : (if_statement "if ((i.imm_operands != 1) &&\n             ((i.imm_operands != 0 ||\n              (((i.tm.opcode_modifier._5_1_ & 0x18) != 8 && ((i.types[0].array[0]._3_1_ & 1) == 0)))\n              ))) {\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/config/tc-i386.c",0x1a6b,"build_modrm_byte");\n          }" if (parenthesized_expression "((i.imm_operands != 1) &&\n             ((i.imm_operands != 0 ||\n              (((i.tm.opcode_modifier._5_1_ & 0x18) != 8 && ((i.types[0].array[0]._3_1_ & 1) == 0)))\n              )))" ( (binary_expression "(i.imm_operands != 1) &&\n             ((i.imm_operands != 0 ||\n              (((i.tm.opcode_modifier._5_1_ & 0x18) != 8 && ((i.types[0].array[0]._3_1_ & 1) == 0)))\n              ))" (parenthesized_expression "(i.imm_operands != 1)" ( (binary_expression "i.imm_operands != 1" (field_expression "i.imm_operands" identifier . field_identifier) != number_literal) )) && (parenthesized_expression "((i.imm_operands != 0 ||\n              (((i.tm.opcode_modifier._5_1_ & 0x18) != 8 && ((i.types[0].array[0]._3_1_ & 1) == 0)))\n              ))" ( (parenthesized_expression "(i.imm_operands != 0 ||\n              (((i.tm.opcode_modifier._5_1_ & 0x18) != 8 && ((i.types[0].array[0]._3_1_ & 1) == 0)))\n              )" ( (binary_expression "i.imm_operands != 0 ||\n              (((i.tm.opcode_modifier._5_1_ & 0x18) != 8 && ((i.types[0].array[0]._3_1_ & 1) == 0)))" (binary_expression "i.imm_operands != 0" (field_expression "i.imm_operands" identifier . field_identifier) != number_literal) || (parenthesized_expression "(((i.tm.opcode_modifier._5_1_ & 0x18) != 8 && ((i.types[0].array[0]._3_1_ & 1) == 0)))" ( (parenthesized_expression "((i.tm.opcode_modifier._5_1_ & 0x18) != 8 && ((i.types[0].array[0]._3_1_ & 1) == 0))" ( (binary_expression "(i.tm.opcode_modifier._5_1_ & 0x18) != 8 && ((i.types[0].array[0]._3_1_ & 1) == 0)" (binary_expression "(i.tm.opcode_modifier._5_1_ & 0x18) != 8" (parenthesized_expression "(i.tm.opcode_modifier._5_1_ & 0x18)" ( (binary_expression "i.tm.opcode_modifier._5_1_ & 0x18" (field_expression "i.tm.opcode_modifier._5_1_" (field_expression "i.tm.opcode_modifier" (field_expression "i.tm" identifier . field_identifier) . field_identifier) . field_identifier) & number_literal) )) != number_literal) && (parenthesized_expression "((i.types[0].array[0]._3_1_ & 1) == 0)" ( (binary_expression "(i.types[0].array[0]._3_1_ & 1) == 0" (parenthesized_expression "(i.types[0].array[0]._3_1_ & 1)" ( (binary_expression "i.types[0].array[0]._3_1_ & 1" (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) ))) )) ))) )) ))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/config/tc-i386.c",0x1a6b,"build_modrm_byte");\n          }" { comment (expression_statement "as_abort("../../gas/config/tc-i386.c",0x1a6b,"build_modrm_byte");" (call_expression "as_abort("../../gas/config/tc-i386.c",0x1a6b,"build_modrm_byte")" identifier (argument_list "("../../gas/config/tc-i386.c",0x1a6b,"build_modrm_byte")" ( (string_literal ""../../gas/config/tc-i386.c"" " string_content ") , number_literal , (string_literal ""build_modrm_byte"" " string_content ") ))) ;) }))) (expression_statement "uVar14 = (ulong)((i.types[0].array[0]._1_1_ & 0xfc) != 0 ||\n                          (i.types[0].array[0]._3_1_ & 1) != 0);" (assignment_expression "uVar14 = (ulong)((i.types[0].array[0]._1_1_ & 0xfc) != 0 ||\n                          (i.types[0].array[0]._3_1_ & 1) != 0)" identifier = (call_expression "(ulong)((i.types[0].array[0]._1_1_ & 0xfc) != 0 ||\n                          (i.types[0].array[0]._3_1_ & 1) != 0)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((i.types[0].array[0]._1_1_ & 0xfc) != 0 ||\n                          (i.types[0].array[0]._3_1_ & 1) != 0)" ( (binary_expression "(i.types[0].array[0]._1_1_ & 0xfc) != 0 ||\n                          (i.types[0].array[0]._3_1_ & 1) != 0" (binary_expression "(i.types[0].array[0]._1_1_ & 0xfc) != 0" (parenthesized_expression "(i.types[0].array[0]._1_1_ & 0xfc)" ( (binary_expression "i.types[0].array[0]._1_1_ & 0xfc" (field_expression "i.types[0].array[0]._1_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 "(i.types[0].array[0]._3_1_ & 1) != 0" (parenthesized_expression "(i.types[0].array[0]._3_1_ & 1)" ( (binary_expression "i.types[0].array[0]._3_1_ & 1" (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)) )))) ;) (expression_statement "uVar26 = 3;" (assignment_expression "uVar26 = 3" identifier = number_literal) ;) }) (else_clause "else if (i.operands < 4) {\n          uVar26 = i.operands;\n          if (i.operands != 2) goto LAB_00133dcf;\n        }\n        else {\n          if (i.operands != 4) goto joined_r0x00133753;\nLAB_00133379:\n          uVar14 = (ulong)i.imm_operands;\n          if (i.imm_operands == 2) {\n            if (((i.types[0].array[0]._1_1_ & 4) == 0) || ((i.types[1].array[0]._1_1_ & 4) == 0))\n            goto LAB_00133d61;\n          }\n          else {\n            if ((((i.tm.opcode_modifier._5_1_ & 0x18) != 8) || (i.imm_operands != 1)) ||\n               ((((i.types[0].array[0]._1_1_ & 4) == 0 && ((i.types[3].array[0]._1_1_ & 4) == 0)) &&\n                (i.rounding == (RC_Operation *)0x0)))) {\nLAB_00133d61:\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1a81,"build_modrm_byte");\n            }\n            uVar14 = (ulong)((i.types[0].array[0]._1_1_ & 4) != 0);\n          }\n          uVar26 = 4;\n        }" else (if_statement "if (i.operands < 4) {\n          uVar26 = i.operands;\n          if (i.operands != 2) goto LAB_00133dcf;\n        }\n        else {\n          if (i.operands != 4) goto joined_r0x00133753;\nLAB_00133379:\n          uVar14 = (ulong)i.imm_operands;\n          if (i.imm_operands == 2) {\n            if (((i.types[0].array[0]._1_1_ & 4) == 0) || ((i.types[1].array[0]._1_1_ & 4) == 0))\n            goto LAB_00133d61;\n          }\n          else {\n            if ((((i.tm.opcode_modifier._5_1_ & 0x18) != 8) || (i.imm_operands != 1)) ||\n               ((((i.types[0].array[0]._1_1_ & 4) == 0 && ((i.types[3].array[0]._1_1_ & 4) == 0)) &&\n                (i.rounding == (RC_Operation *)0x0)))) {\nLAB_00133d61:\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1a81,"build_modrm_byte");\n            }\n            uVar14 = (ulong)((i.types[0].array[0]._1_1_ & 4) != 0);\n          }\n          uVar26 = 4;\n        }" if (parenthesized_expression "(i.operands < 4)" ( (binary_expression "i.operands < 4" (field_expression "i.operands" identifier . field_identifier) < number_literal) )) (compound_statement "{\n          uVar26 = i.operands;\n          if (i.operands != 2) goto LAB_00133dcf;\n        }" { (expression_statement "uVar26 = i.operands;" (assignment_expression "uVar26 = i.operands" identifier = (field_expression "i.operands" identifier . field_identifier)) ;) (if_statement "if (i.operands != 2) goto LAB_00133dcf;" if (parenthesized_expression "(i.operands != 2)" ( (binary_expression "i.operands != 2" (field_expression "i.operands" identifier . field_identifier) != number_literal) )) (goto_statement "goto LAB_00133dcf;" goto statement_identifier ;)) }) (else_clause "else {\n          if (i.operands != 4) goto joined_r0x00133753;\nLAB_00133379:\n          uVar14 = (ulong)i.imm_operands;\n          if (i.imm_operands == 2) {\n            if (((i.types[0].array[0]._1_1_ & 4) == 0) || ((i.types[1].array[0]._1_1_ & 4) == 0))\n            goto LAB_00133d61;\n          }\n          else {\n            if ((((i.tm.opcode_modifier._5_1_ & 0x18) != 8) || (i.imm_operands != 1)) ||\n               ((((i.types[0].array[0]._1_1_ & 4) == 0 && ((i.types[3].array[0]._1_1_ & 4) == 0)) &&\n                (i.rounding == (RC_Operation *)0x0)))) {\nLAB_00133d61:\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1a81,"build_modrm_byte");\n            }\n            uVar14 = (ulong)((i.types[0].array[0]._1_1_ & 4) != 0);\n          }\n          uVar26 = 4;\n        }" else (compound_statement "{\n          if (i.operands != 4) goto joined_r0x00133753;\nLAB_00133379:\n          uVar14 = (ulong)i.imm_operands;\n          if (i.imm_operands == 2) {\n            if (((i.types[0].array[0]._1_1_ & 4) == 0) || ((i.types[1].array[0]._1_1_ & 4) == 0))\n            goto LAB_00133d61;\n          }\n          else {\n            if ((((i.tm.opcode_modifier._5_1_ & 0x18) != 8) || (i.imm_operands != 1)) ||\n               ((((i.types[0].array[0]._1_1_ & 4) == 0 && ((i.types[3].array[0]._1_1_ & 4) == 0)) &&\n                (i.rounding == (RC_Operation *)0x0)))) {\nLAB_00133d61:\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1a81,"build_modrm_byte");\n            }\n            uVar14 = (ulong)((i.types[0].array[0]._1_1_ & 4) != 0);\n          }\n          uVar26 = 4;\n        }" { (if_statement "if (i.operands != 4) goto joined_r0x00133753;" if (parenthesized_expression "(i.operands != 4)" ( (binary_expression "i.operands != 4" (field_expression "i.operands" identifier . field_identifier) != number_literal) )) (goto_statement "goto joined_r0x00133753;" goto statement_identifier ;)) (labeled_statement "LAB_00133379:\n          uVar14 = (ulong)i.imm_operands;" statement_identifier : (expression_statement "uVar14 = (ulong)i.imm_operands;" (assignment_expression "uVar14 = (ulong)i.imm_operands" identifier = (cast_expression "(ulong)i.imm_operands" ( (type_descriptor "ulong" type_identifier) ) (field_expression "i.imm_operands" identifier . field_identifier))) ;)) (if_statement "if (i.imm_operands == 2) {\n            if (((i.types[0].array[0]._1_1_ & 4) == 0) || ((i.types[1].array[0]._1_1_ & 4) == 0))\n            goto LAB_00133d61;\n          }\n          else {\n            if ((((i.tm.opcode_modifier._5_1_ & 0x18) != 8) || (i.imm_operands != 1)) ||\n               ((((i.types[0].array[0]._1_1_ & 4) == 0 && ((i.types[3].array[0]._1_1_ & 4) == 0)) &&\n                (i.rounding == (RC_Operation *)0x0)))) {\nLAB_00133d61:\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1a81,"build_modrm_byte");\n            }\n            uVar14 = (ulong)((i.types[0].array[0]._1_1_ & 4) != 0);\n          }" if (parenthesized_expression "(i.imm_operands == 2)" ( (binary_expression "i.imm_operands == 2" (field_expression "i.imm_operands" identifier . field_identifier) == number_literal) )) (compound_statement "{\n            if (((i.types[0].array[0]._1_1_ & 4) == 0) || ((i.types[1].array[0]._1_1_ & 4) == 0))\n            goto LAB_00133d61;\n          }" { (if_statement "if (((i.types[0].array[0]._1_1_ & 4) == 0) || ((i.types[1].array[0]._1_1_ & 4) == 0))\n            goto LAB_00133d61;" if (parenthesized_expression "(((i.types[0].array[0]._1_1_ & 4) == 0) || ((i.types[1].array[0]._1_1_ & 4) == 0))" ( (binary_expression "((i.types[0].array[0]._1_1_ & 4) == 0) || ((i.types[1].array[0]._1_1_ & 4) == 0)" (parenthesized_expression "((i.types[0].array[0]._1_1_ & 4) == 0)" ( (binary_expression "(i.types[0].array[0]._1_1_ & 4) == 0" (parenthesized_expression "(i.types[0].array[0]._1_1_ & 4)" ( (binary_expression "i.types[0].array[0]._1_1_ & 4" (field_expression "i.types[0].array[0]._1_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 "((i.types[1].array[0]._1_1_ & 4) == 0)" ( (binary_expression "(i.types[1].array[0]._1_1_ & 4) == 0" (parenthesized_expression "(i.types[1].array[0]._1_1_ & 4)" ( (binary_expression "i.types[1].array[0]._1_1_ & 4" (field_expression "i.types[1].array[0]._1_1_" (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 ]) . field_identifier) & number_literal) )) == number_literal) ))) )) (goto_statement "goto LAB_00133d61;" goto statement_identifier ;)) }) (else_clause "else {\n            if ((((i.tm.opcode_modifier._5_1_ & 0x18) != 8) || (i.imm_operands != 1)) ||\n               ((((i.types[0].array[0]._1_1_ & 4) == 0 && ((i.types[3].array[0]._1_1_ & 4) == 0)) &&\n                (i.rounding == (RC_Operation *)0x0)))) {\nLAB_00133d61:\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1a81,"build_modrm_byte");\n            }\n            uVar14 = (ulong)((i.types[0].array[0]._1_1_ & 4) != 0);\n          }" else (compound_statement "{\n            if ((((i.tm.opcode_modifier._5_1_ & 0x18) != 8) || (i.imm_operands != 1)) ||\n               ((((i.types[0].array[0]._1_1_ & 4) == 0 && ((i.types[3].array[0]._1_1_ & 4) == 0)) &&\n                (i.rounding == (RC_Operation *)0x0)))) {\nLAB_00133d61:\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1a81,"build_modrm_byte");\n            }\n            uVar14 = (ulong)((i.types[0].array[0]._1_1_ & 4) != 0);\n          }" { (if_statement "if ((((i.tm.opcode_modifier._5_1_ & 0x18) != 8) || (i.imm_operands != 1)) ||\n               ((((i.types[0].array[0]._1_1_ & 4) == 0 && ((i.types[3].array[0]._1_1_ & 4) == 0)) &&\n                (i.rounding == (RC_Operation *)0x0)))) {\nLAB_00133d61:\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1a81,"build_modrm_byte");\n            }" if (parenthesized_expression "((((i.tm.opcode_modifier._5_1_ & 0x18) != 8) || (i.imm_operands != 1)) ||\n               ((((i.types[0].array[0]._1_1_ & 4) == 0 && ((i.types[3].array[0]._1_1_ & 4) == 0)) &&\n                (i.rounding == (RC_Operation *)0x0))))" ( (binary_expression "(((i.tm.opcode_modifier._5_1_ & 0x18) != 8) || (i.imm_operands != 1)) ||\n               ((((i.types[0].array[0]._1_1_ & 4) == 0 && ((i.types[3].array[0]._1_1_ & 4) == 0)) &&\n                (i.rounding == (RC_Operation *)0x0)))" (parenthesized_expression "(((i.tm.opcode_modifier._5_1_ & 0x18) != 8) || (i.imm_operands != 1))" ( (binary_expression "((i.tm.opcode_modifier._5_1_ & 0x18) != 8) || (i.imm_operands != 1)" (parenthesized_expression "((i.tm.opcode_modifier._5_1_ & 0x18) != 8)" ( (binary_expression "(i.tm.opcode_modifier._5_1_ & 0x18) != 8" (parenthesized_expression "(i.tm.opcode_modifier._5_1_ & 0x18)" ( (binary_expression "i.tm.opcode_modifier._5_1_ & 0x18" (field_expression "i.tm.opcode_modifier._5_1_" (field_expression "i.tm.opcode_modifier" (field_expression "i.tm" identifier . field_identifier) . field_identifier) . field_identifier) & number_literal) )) != number_literal) )) || (parenthesized_expression "(i.imm_operands != 1)" ( (binary_expression "i.imm_operands != 1" (field_expression "i.imm_operands" identifier . field_identifier) != number_literal) ))) )) || (parenthesized_expression "((((i.types[0].array[0]._1_1_ & 4) == 0 && ((i.types[3].array[0]._1_1_ & 4) == 0)) &&\n                (i.rounding == (RC_Operation *)0x0)))" ( (parenthesized_expression "(((i.types[0].array[0]._1_1_ & 4) == 0 && ((i.types[3].array[0]._1_1_ & 4) == 0)) &&\n                (i.rounding == (RC_Operation *)0x0))" ( (binary_expression "((i.types[0].array[0]._1_1_ & 4) == 0 && ((i.types[3].array[0]._1_1_ & 4) == 0)) &&\n                (i.rounding == (RC_Operation *)0x0)" (parenthesized_expression "((i.types[0].array[0]._1_1_ & 4) == 0 && ((i.types[3].array[0]._1_1_ & 4) == 0))" ( (binary_expression "(i.types[0].array[0]._1_1_ & 4) == 0 && ((i.types[3].array[0]._1_1_ & 4) == 0)" (binary_expression "(i.types[0].array[0]._1_1_ & 4) == 0" (parenthesized_expression "(i.types[0].array[0]._1_1_ & 4)" ( (binary_expression "i.types[0].array[0]._1_1_ & 4" (field_expression "i.types[0].array[0]._1_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 "((i.types[3].array[0]._1_1_ & 4) == 0)" ( (binary_expression "(i.types[3].array[0]._1_1_ & 4) == 0" (parenthesized_expression "(i.types[3].array[0]._1_1_ & 4)" ( (binary_expression "i.types[3].array[0]._1_1_ & 4" (field_expression "i.types[3].array[0]._1_1_" (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 ]) . field_identifier) & number_literal) )) == number_literal) ))) )) && (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 "{\nLAB_00133d61:\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1a81,"build_modrm_byte");\n            }" { (labeled_statement "LAB_00133d61:\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1a81,"build_modrm_byte");" statement_identifier : comment (expression_statement "as_abort("../../gas/config/tc-i386.c",0x1a81,"build_modrm_byte");" (call_expression "as_abort("../../gas/config/tc-i386.c",0x1a81,"build_modrm_byte")" identifier (argument_list "("../../gas/config/tc-i386.c",0x1a81,"build_modrm_byte")" ( (string_literal ""../../gas/config/tc-i386.c"" " string_content ") , number_literal , (string_literal ""build_modrm_byte"" " string_content ") ))) ;)) })) (expression_statement "uVar14 = (ulong)((i.types[0].array[0]._1_1_ & 4) != 0);" (assignment_expression "uVar14 = (ulong)((i.types[0].array[0]._1_1_ & 4) != 0)" identifier = (call_expression "(ulong)((i.types[0].array[0]._1_1_ & 4) != 0)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((i.types[0].array[0]._1_1_ & 4) != 0)" ( (binary_expression "(i.types[0].array[0]._1_1_ & 4) != 0" (parenthesized_expression "(i.types[0].array[0]._1_1_ & 4)" ( (binary_expression "i.types[0].array[0]._1_1_ & 4" (field_expression "i.types[0].array[0]._1_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) )))) ;) }))) (expression_statement "uVar26 = 4;" (assignment_expression "uVar26 = 4" identifier = number_literal) ;) })))))) (labeled_statement "LAB_001337c1:\n        if (bVar22 != 8) {\n          uVar18 = (int)uVar14 + 1;\n          uVar21 = (ulong)uVar18;\n          if ((i.rounding != (RC_Operation *)0x0) && ((i.rounding)->operand == uVar18)) {\n            uVar21 = (ulong)((int)uVar14 + 2);\n          }\n          if ((i.tm.opcode_modifier._5_1_ & 0x18) == 8) {\n            uVar24 = uVar14;\n            uVar16 = uVar21;\n            if (((*(byte *)((long)i.tm.operand_types + uVar14 * 8 + 2) & 0x40) == 0) &&\n               ((*(byte *)((long)i.tm.operand_types + uVar21 * 8 + 2) & 0x40) != 0)) {\n              uVar24 = uVar21;\n              uVar16 = uVar14;\n            }\n            uVar20 = (int)uVar21 + 1;\n            uVar21 = (ulong)uVar20;\n            uVar14 = *(ulong *)i.tm.operand_types[uVar16].array;\n            uVar18 = *(uint *)((long)i.tm.operand_types + uVar16 * 8 + 4);\n            if ((uVar26 <= uVar20) ||\n               ((((uVar14 & 1) == 0 ||\n                 ((-1 < (char)((uVar14 & 0xfffffffff7ffffff) >> 0x18) && ((uVar18 & 2) == 0)))) &&\n                (((uVar14 & 4) == 0 &&\n                 ((regmask.array[0] != (uint)(uVar14 & 0xfffffffff7ffffff) ||\n                  (regmask.array[1] != uVar18)))))))) {\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1ac9,"build_modrm_byte");\n            }\n            i.vex.register_specifier = i.op[uVar16].regs;\n            uVar14 = uVar24;\n          }\n        }" statement_identifier : (if_statement "if (bVar22 != 8) {\n          uVar18 = (int)uVar14 + 1;\n          uVar21 = (ulong)uVar18;\n          if ((i.rounding != (RC_Operation *)0x0) && ((i.rounding)->operand == uVar18)) {\n            uVar21 = (ulong)((int)uVar14 + 2);\n          }\n          if ((i.tm.opcode_modifier._5_1_ & 0x18) == 8) {\n            uVar24 = uVar14;\n            uVar16 = uVar21;\n            if (((*(byte *)((long)i.tm.operand_types + uVar14 * 8 + 2) & 0x40) == 0) &&\n               ((*(byte *)((long)i.tm.operand_types + uVar21 * 8 + 2) & 0x40) != 0)) {\n              uVar24 = uVar21;\n              uVar16 = uVar14;\n            }\n            uVar20 = (int)uVar21 + 1;\n            uVar21 = (ulong)uVar20;\n            uVar14 = *(ulong *)i.tm.operand_types[uVar16].array;\n            uVar18 = *(uint *)((long)i.tm.operand_types + uVar16 * 8 + 4);\n            if ((uVar26 <= uVar20) ||\n               ((((uVar14 & 1) == 0 ||\n                 ((-1 < (char)((uVar14 & 0xfffffffff7ffffff) >> 0x18) && ((uVar18 & 2) == 0)))) &&\n                (((uVar14 & 4) == 0 &&\n                 ((regmask.array[0] != (uint)(uVar14 & 0xfffffffff7ffffff) ||\n                  (regmask.array[1] != uVar18)))))))) {\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1ac9,"build_modrm_byte");\n            }\n            i.vex.register_specifier = i.op[uVar16].regs;\n            uVar14 = uVar24;\n          }\n        }" if (parenthesized_expression "(bVar22 != 8)" ( (binary_expression "bVar22 != 8" identifier != number_literal) )) (compound_statement "{\n          uVar18 = (int)uVar14 + 1;\n          uVar21 = (ulong)uVar18;\n          if ((i.rounding != (RC_Operation *)0x0) && ((i.rounding)->operand == uVar18)) {\n            uVar21 = (ulong)((int)uVar14 + 2);\n          }\n          if ((i.tm.opcode_modifier._5_1_ & 0x18) == 8) {\n            uVar24 = uVar14;\n            uVar16 = uVar21;\n            if (((*(byte *)((long)i.tm.operand_types + uVar14 * 8 + 2) & 0x40) == 0) &&\n               ((*(byte *)((long)i.tm.operand_types + uVar21 * 8 + 2) & 0x40) != 0)) {\n              uVar24 = uVar21;\n              uVar16 = uVar14;\n            }\n            uVar20 = (int)uVar21 + 1;\n            uVar21 = (ulong)uVar20;\n            uVar14 = *(ulong *)i.tm.operand_types[uVar16].array;\n            uVar18 = *(uint *)((long)i.tm.operand_types + uVar16 * 8 + 4);\n            if ((uVar26 <= uVar20) ||\n               ((((uVar14 & 1) == 0 ||\n                 ((-1 < (char)((uVar14 & 0xfffffffff7ffffff) >> 0x18) && ((uVar18 & 2) == 0)))) &&\n                (((uVar14 & 4) == 0 &&\n                 ((regmask.array[0] != (uint)(uVar14 & 0xfffffffff7ffffff) ||\n                  (regmask.array[1] != uVar18)))))))) {\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1ac9,"build_modrm_byte");\n            }\n            i.vex.register_specifier = i.op[uVar16].regs;\n            uVar14 = uVar24;\n          }\n        }" { (expression_statement "uVar18 = (int)uVar14 + 1;" (assignment_expression "uVar18 = (int)uVar14 + 1" identifier = (binary_expression "(int)uVar14 + 1" (cast_expression "(int)uVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "uVar21 = (ulong)uVar18;" (assignment_expression "uVar21 = (ulong)uVar18" identifier = (cast_expression "(ulong)uVar18" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (if_statement "if ((i.rounding != (RC_Operation *)0x0) && ((i.rounding)->operand == uVar18)) {\n            uVar21 = (ulong)((int)uVar14 + 2);\n          }" if (parenthesized_expression "((i.rounding != (RC_Operation *)0x0) && ((i.rounding)->operand == uVar18))" ( (binary_expression "(i.rounding != (RC_Operation *)0x0) && ((i.rounding)->operand == uVar18)" (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)) )) && (parenthesized_expression "((i.rounding)->operand == uVar18)" ( (binary_expression "(i.rounding)->operand == uVar18" (field_expression "(i.rounding)->operand" (parenthesized_expression "(i.rounding)" ( (field_expression "i.rounding" identifier . field_identifier) )) -> field_identifier) == identifier) ))) )) (compound_statement "{\n            uVar21 = (ulong)((int)uVar14 + 2);\n          }" { (expression_statement "uVar21 = (ulong)((int)uVar14 + 2);" (assignment_expression "uVar21 = (ulong)((int)uVar14 + 2)" identifier = (call_expression "(ulong)((int)uVar14 + 2)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((int)uVar14 + 2)" ( (binary_expression "(int)uVar14 + 2" (cast_expression "(int)uVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) })) (if_statement "if ((i.tm.opcode_modifier._5_1_ & 0x18) == 8) {\n            uVar24 = uVar14;\n            uVar16 = uVar21;\n            if (((*(byte *)((long)i.tm.operand_types + uVar14 * 8 + 2) & 0x40) == 0) &&\n               ((*(byte *)((long)i.tm.operand_types + uVar21 * 8 + 2) & 0x40) != 0)) {\n              uVar24 = uVar21;\n              uVar16 = uVar14;\n            }\n            uVar20 = (int)uVar21 + 1;\n            uVar21 = (ulong)uVar20;\n            uVar14 = *(ulong *)i.tm.operand_types[uVar16].array;\n            uVar18 = *(uint *)((long)i.tm.operand_types + uVar16 * 8 + 4);\n            if ((uVar26 <= uVar20) ||\n               ((((uVar14 & 1) == 0 ||\n                 ((-1 < (char)((uVar14 & 0xfffffffff7ffffff) >> 0x18) && ((uVar18 & 2) == 0)))) &&\n                (((uVar14 & 4) == 0 &&\n                 ((regmask.array[0] != (uint)(uVar14 & 0xfffffffff7ffffff) ||\n                  (regmask.array[1] != uVar18)))))))) {\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1ac9,"build_modrm_byte");\n            }\n            i.vex.register_specifier = i.op[uVar16].regs;\n            uVar14 = uVar24;\n          }" if (parenthesized_expression "((i.tm.opcode_modifier._5_1_ & 0x18) == 8)" ( (binary_expression "(i.tm.opcode_modifier._5_1_ & 0x18) == 8" (parenthesized_expression "(i.tm.opcode_modifier._5_1_ & 0x18)" ( (binary_expression "i.tm.opcode_modifier._5_1_ & 0x18" (field_expression "i.tm.opcode_modifier._5_1_" (field_expression "i.tm.opcode_modifier" (field_expression "i.tm" identifier . field_identifier) . field_identifier) . field_identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n            uVar24 = uVar14;\n            uVar16 = uVar21;\n            if (((*(byte *)((long)i.tm.operand_types + uVar14 * 8 + 2) & 0x40) == 0) &&\n               ((*(byte *)((long)i.tm.operand_types + uVar21 * 8 + 2) & 0x40) != 0)) {\n              uVar24 = uVar21;\n              uVar16 = uVar14;\n            }\n            uVar20 = (int)uVar21 + 1;\n            uVar21 = (ulong)uVar20;\n            uVar14 = *(ulong *)i.tm.operand_types[uVar16].array;\n            uVar18 = *(uint *)((long)i.tm.operand_types + uVar16 * 8 + 4);\n            if ((uVar26 <= uVar20) ||\n               ((((uVar14 & 1) == 0 ||\n                 ((-1 < (char)((uVar14 & 0xfffffffff7ffffff) >> 0x18) && ((uVar18 & 2) == 0)))) &&\n                (((uVar14 & 4) == 0 &&\n                 ((regmask.array[0] != (uint)(uVar14 & 0xfffffffff7ffffff) ||\n                  (regmask.array[1] != uVar18)))))))) {\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1ac9,"build_modrm_byte");\n            }\n            i.vex.register_specifier = i.op[uVar16].regs;\n            uVar14 = uVar24;\n          }" { (expression_statement "uVar24 = uVar14;" (assignment_expression "uVar24 = uVar14" identifier = identifier) ;) (expression_statement "uVar16 = uVar21;" (assignment_expression "uVar16 = uVar21" identifier = identifier) ;) (if_statement "if (((*(byte *)((long)i.tm.operand_types + uVar14 * 8 + 2) & 0x40) == 0) &&\n               ((*(byte *)((long)i.tm.operand_types + uVar21 * 8 + 2) & 0x40) != 0)) {\n              uVar24 = uVar21;\n              uVar16 = uVar14;\n            }" if (parenthesized_expression "(((*(byte *)((long)i.tm.operand_types + uVar14 * 8 + 2) & 0x40) == 0) &&\n               ((*(byte *)((long)i.tm.operand_types + uVar21 * 8 + 2) & 0x40) != 0))" ( (binary_expression "((*(byte *)((long)i.tm.operand_types + uVar14 * 8 + 2) & 0x40) == 0) &&\n               ((*(byte *)((long)i.tm.operand_types + uVar21 * 8 + 2) & 0x40) != 0)" (parenthesized_expression "((*(byte *)((long)i.tm.operand_types + uVar14 * 8 + 2) & 0x40) == 0)" ( (binary_expression "(*(byte *)((long)i.tm.operand_types + uVar14 * 8 + 2) & 0x40) == 0" (parenthesized_expression "(*(byte *)((long)i.tm.operand_types + uVar14 * 8 + 2) & 0x40)" ( (binary_expression "*(byte *)((long)i.tm.operand_types + uVar14 * 8 + 2) & 0x40" (pointer_expression "*(byte *)((long)i.tm.operand_types + uVar14 * 8 + 2)" * (cast_expression "(byte *)((long)i.tm.operand_types + uVar14 * 8 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)i.tm.operand_types + uVar14 * 8 + 2)" ( (binary_expression "(long)i.tm.operand_types + uVar14 * 8 + 2" (binary_expression "(long)i.tm.operand_types + uVar14 * 8" (cast_expression "(long)i.tm.operand_types" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (field_expression "i.tm.operand_types" (field_expression "i.tm" identifier . field_identifier) . field_identifier)) + (binary_expression "uVar14 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) )) && (parenthesized_expression "((*(byte *)((long)i.tm.operand_types + uVar21 * 8 + 2) & 0x40) != 0)" ( (binary_expression "(*(byte *)((long)i.tm.operand_types + uVar21 * 8 + 2) & 0x40) != 0" (parenthesized_expression "(*(byte *)((long)i.tm.operand_types + uVar21 * 8 + 2) & 0x40)" ( (binary_expression "*(byte *)((long)i.tm.operand_types + uVar21 * 8 + 2) & 0x40" (pointer_expression "*(byte *)((long)i.tm.operand_types + uVar21 * 8 + 2)" * (cast_expression "(byte *)((long)i.tm.operand_types + uVar21 * 8 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)i.tm.operand_types + uVar21 * 8 + 2)" ( (binary_expression "(long)i.tm.operand_types + uVar21 * 8 + 2" (binary_expression "(long)i.tm.operand_types + uVar21 * 8" (cast_expression "(long)i.tm.operand_types" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (field_expression "i.tm.operand_types" (field_expression "i.tm" identifier . field_identifier) . field_identifier)) + (binary_expression "uVar21 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n              uVar24 = uVar21;\n              uVar16 = uVar14;\n            }" { (expression_statement "uVar24 = uVar21;" (assignment_expression "uVar24 = uVar21" identifier = identifier) ;) (expression_statement "uVar16 = uVar14;" (assignment_expression "uVar16 = uVar14" identifier = identifier) ;) })) (expression_statement "uVar20 = (int)uVar21 + 1;" (assignment_expression "uVar20 = (int)uVar21 + 1" identifier = (binary_expression "(int)uVar21 + 1" (cast_expression "(int)uVar21" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "uVar21 = (ulong)uVar20;" (assignment_expression "uVar21 = (ulong)uVar20" identifier = (cast_expression "(ulong)uVar20" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "uVar14 = *(ulong *)i.tm.operand_types[uVar16].array;" (assignment_expression "uVar14 = *(ulong *)i.tm.operand_types[uVar16].array" identifier = (pointer_expression "*(ulong *)i.tm.operand_types[uVar16].array" * (cast_expression "(ulong *)i.tm.operand_types[uVar16].array" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "i.tm.operand_types[uVar16].array" (subscript_expression "i.tm.operand_types[uVar16]" (field_expression "i.tm.operand_types" (field_expression "i.tm" identifier . field_identifier) . field_identifier) [ identifier ]) . field_identifier)))) ;) (expression_statement "uVar18 = *(uint *)((long)i.tm.operand_types + uVar16 * 8 + 4);" (assignment_expression "uVar18 = *(uint *)((long)i.tm.operand_types + uVar16 * 8 + 4)" identifier = (pointer_expression "*(uint *)((long)i.tm.operand_types + uVar16 * 8 + 4)" * (cast_expression "(uint *)((long)i.tm.operand_types + uVar16 * 8 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)i.tm.operand_types + uVar16 * 8 + 4)" ( (binary_expression "(long)i.tm.operand_types + uVar16 * 8 + 4" (binary_expression "(long)i.tm.operand_types + uVar16 * 8" (cast_expression "(long)i.tm.operand_types" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (field_expression "i.tm.operand_types" (field_expression "i.tm" identifier . field_identifier) . field_identifier)) + (binary_expression "uVar16 * 8" identifier * number_literal)) + number_literal) ))))) ;) (if_statement "if ((uVar26 <= uVar20) ||\n               ((((uVar14 & 1) == 0 ||\n                 ((-1 < (char)((uVar14 & 0xfffffffff7ffffff) >> 0x18) && ((uVar18 & 2) == 0)))) &&\n                (((uVar14 & 4) == 0 &&\n                 ((regmask.array[0] != (uint)(uVar14 & 0xfffffffff7ffffff) ||\n                  (regmask.array[1] != uVar18)))))))) {\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1ac9,"build_modrm_byte");\n            }" if (parenthesized_expression "((uVar26 <= uVar20) ||\n               ((((uVar14 & 1) == 0 ||\n                 ((-1 < (char)((uVar14 & 0xfffffffff7ffffff) >> 0x18) && ((uVar18 & 2) == 0)))) &&\n                (((uVar14 & 4) == 0 &&\n                 ((regmask.array[0] != (uint)(uVar14 & 0xfffffffff7ffffff) ||\n                  (regmask.array[1] != uVar18))))))))" ( (binary_expression "(uVar26 <= uVar20) ||\n               ((((uVar14 & 1) == 0 ||\n                 ((-1 < (char)((uVar14 & 0xfffffffff7ffffff) >> 0x18) && ((uVar18 & 2) == 0)))) &&\n                (((uVar14 & 4) == 0 &&\n                 ((regmask.array[0] != (uint)(uVar14 & 0xfffffffff7ffffff) ||\n                  (regmask.array[1] != uVar18)))))))" (parenthesized_expression "(uVar26 <= uVar20)" ( (binary_expression "uVar26 <= uVar20" identifier <= identifier) )) || (parenthesized_expression "((((uVar14 & 1) == 0 ||\n                 ((-1 < (char)((uVar14 & 0xfffffffff7ffffff) >> 0x18) && ((uVar18 & 2) == 0)))) &&\n                (((uVar14 & 4) == 0 &&\n                 ((regmask.array[0] != (uint)(uVar14 & 0xfffffffff7ffffff) ||\n                  (regmask.array[1] != uVar18)))))))" ( (parenthesized_expression "(((uVar14 & 1) == 0 ||\n                 ((-1 < (char)((uVar14 & 0xfffffffff7ffffff) >> 0x18) && ((uVar18 & 2) == 0)))) &&\n                (((uVar14 & 4) == 0 &&\n                 ((regmask.array[0] != (uint)(uVar14 & 0xfffffffff7ffffff) ||\n                  (regmask.array[1] != uVar18))))))" ( (binary_expression "((uVar14 & 1) == 0 ||\n                 ((-1 < (char)((uVar14 & 0xfffffffff7ffffff) >> 0x18) && ((uVar18 & 2) == 0)))) &&\n                (((uVar14 & 4) == 0 &&\n                 ((regmask.array[0] != (uint)(uVar14 & 0xfffffffff7ffffff) ||\n                  (regmask.array[1] != uVar18)))))" (parenthesized_expression "((uVar14 & 1) == 0 ||\n                 ((-1 < (char)((uVar14 & 0xfffffffff7ffffff) >> 0x18) && ((uVar18 & 2) == 0))))" ( (binary_expression "(uVar14 & 1) == 0 ||\n                 ((-1 < (char)((uVar14 & 0xfffffffff7ffffff) >> 0x18) && ((uVar18 & 2) == 0)))" (binary_expression "(uVar14 & 1) == 0" (parenthesized_expression "(uVar14 & 1)" ( (binary_expression "uVar14 & 1" identifier & number_literal) )) == number_literal) || (parenthesized_expression "((-1 < (char)((uVar14 & 0xfffffffff7ffffff) >> 0x18) && ((uVar18 & 2) == 0)))" ( (parenthesized_expression "(-1 < (char)((uVar14 & 0xfffffffff7ffffff) >> 0x18) && ((uVar18 & 2) == 0))" ( (binary_expression "-1 < (char)((uVar14 & 0xfffffffff7ffffff) >> 0x18) && ((uVar18 & 2) == 0)" (binary_expression "-1 < (char)((uVar14 & 0xfffffffff7ffffff) >> 0x18)" number_literal < (cast_expression "(char)((uVar14 & 0xfffffffff7ffffff) >> 0x18)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "((uVar14 & 0xfffffffff7ffffff) >> 0x18)" ( (binary_expression "(uVar14 & 0xfffffffff7ffffff) >> 0x18" (parenthesized_expression "(uVar14 & 0xfffffffff7ffffff)" ( (binary_expression "uVar14 & 0xfffffffff7ffffff" identifier & number_literal) )) >> number_literal) )))) && (parenthesized_expression "((uVar18 & 2) == 0)" ( (binary_expression "(uVar18 & 2) == 0" (parenthesized_expression "(uVar18 & 2)" ( (binary_expression "uVar18 & 2" identifier & number_literal) )) == number_literal) ))) )) ))) )) && (parenthesized_expression "(((uVar14 & 4) == 0 &&\n                 ((regmask.array[0] != (uint)(uVar14 & 0xfffffffff7ffffff) ||\n                  (regmask.array[1] != uVar18)))))" ( (parenthesized_expression "((uVar14 & 4) == 0 &&\n                 ((regmask.array[0] != (uint)(uVar14 & 0xfffffffff7ffffff) ||\n                  (regmask.array[1] != uVar18))))" ( (binary_expression "(uVar14 & 4) == 0 &&\n                 ((regmask.array[0] != (uint)(uVar14 & 0xfffffffff7ffffff) ||\n                  (regmask.array[1] != uVar18)))" (binary_expression "(uVar14 & 4) == 0" (parenthesized_expression "(uVar14 & 4)" ( (binary_expression "uVar14 & 4" identifier & number_literal) )) == number_literal) && (parenthesized_expression "((regmask.array[0] != (uint)(uVar14 & 0xfffffffff7ffffff) ||\n                  (regmask.array[1] != uVar18)))" ( (parenthesized_expression "(regmask.array[0] != (uint)(uVar14 & 0xfffffffff7ffffff) ||\n                  (regmask.array[1] != uVar18))" ( (binary_expression "regmask.array[0] != (uint)(uVar14 & 0xfffffffff7ffffff) ||\n                  (regmask.array[1] != uVar18)" (binary_expression "regmask.array[0] != (uint)(uVar14 & 0xfffffffff7ffffff)" (subscript_expression "regmask.array[0]" (field_expression "regmask.array" identifier . field_identifier) [ number_literal ]) != (call_expression "(uint)(uVar14 & 0xfffffffff7ffffff)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar14 & 0xfffffffff7ffffff)" ( (binary_expression "uVar14 & 0xfffffffff7ffffff" identifier & number_literal) )))) || (parenthesized_expression "(regmask.array[1] != uVar18)" ( (binary_expression "regmask.array[1] != uVar18" (subscript_expression "regmask.array[1]" (field_expression "regmask.array" identifier . field_identifier) [ number_literal ]) != identifier) ))) )) ))) )) ))) )) ))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1ac9,"build_modrm_byte");\n            }" { comment (expression_statement "as_abort("../../gas/config/tc-i386.c",0x1ac9,"build_modrm_byte");" (call_expression "as_abort("../../gas/config/tc-i386.c",0x1ac9,"build_modrm_byte")" identifier (argument_list "("../../gas/config/tc-i386.c",0x1ac9,"build_modrm_byte")" ( (string_literal ""../../gas/config/tc-i386.c"" " string_content ") , number_literal , (string_literal ""build_modrm_byte"" " string_content ") ))) ;) })) (expression_statement "i.vex.register_specifier = i.op[uVar16].regs;" (assignment_expression "i.vex.register_specifier = i.op[uVar16].regs" (field_expression "i.vex.register_specifier" (field_expression "i.vex" identifier . field_identifier) . field_identifier) = (field_expression "i.op[uVar16].regs" (subscript_expression "i.op[uVar16]" (field_expression "i.op" identifier . field_identifier) [ identifier ]) . field_identifier)) ;) (expression_statement "uVar14 = uVar24;" (assignment_expression "uVar14 = uVar24" identifier = identifier) ;) })) }))) (labeled_statement "LAB_001337ff:\n        i.rm.mode = 3;" statement_identifier : (expression_statement "i.rm.mode = 3;" (assignment_expression "i.rm.mode = 3" (field_expression "i.rm.mode" (field_expression "i.rm" identifier . field_identifier) . field_identifier) = number_literal) ;)) (if_statement "if (((*(byte *)((long)i.tm.operand_types + uVar21 * 8 + 3) & 8) == 0) &&\n           (((ulong)i.tm.operand_types[uVar21] & 0x5f0000) == 0)) {\n          i.rm.reg = (uint)(i.op[uVar21].regs)->reg_num;\n          i.rm.regmem = (uint)(i.op[uVar14].regs)->reg_num;\n          bVar22 = (i.op[uVar21].regs)->reg_flags;\n          if ((bVar22 & 1) != 0) {\n            i.rex = i.rex | 4;\n          }\n          if ((bVar22 & 4) != 0) {\n            i.vrex = i.vrex | 4;\n          }\n          bVar22 = (i.op[uVar14].regs)->reg_flags;\n          if ((bVar22 & 1) != 0) {\n            i.rex = i.rex | 1;\n          }\n          if ((bVar22 & 4) != 0) {\n            i.vrex = i.vrex | 1;\n          }\n        }\n        else {\n          i.rm.reg = (uint)(i.op[uVar14].regs)->reg_num;\n          i.rm.regmem = (uint)(i.op[uVar21].regs)->reg_num;\n          bVar22 = (i.op[uVar21].regs)->reg_flags;\n          if ((bVar22 & 1) != 0) {\n            i.rex = i.rex | 1;\n          }\n          if ((bVar22 & 4) != 0) {\n            i.vrex = i.vrex | 1;\n          }\n          bVar22 = (i.op[uVar14].regs)->reg_flags;\n          if ((bVar22 & 1) != 0) {\n            i.rex = i.rex | 4;\n          }\n          if ((bVar22 & 4) != 0) {\n            i.vrex = i.vrex | 4;\n          }\n        }" if (parenthesized_expression "(((*(byte *)((long)i.tm.operand_types + uVar21 * 8 + 3) & 8) == 0) &&\n           (((ulong)i.tm.operand_types[uVar21] & 0x5f0000) == 0))" ( (binary_expression "((*(byte *)((long)i.tm.operand_types + uVar21 * 8 + 3) & 8) == 0) &&\n           (((ulong)i.tm.operand_types[uVar21] & 0x5f0000) == 0)" (parenthesized_expression "((*(byte *)((long)i.tm.operand_types + uVar21 * 8 + 3) & 8) == 0)" ( (binary_expression "(*(byte *)((long)i.tm.operand_types + uVar21 * 8 + 3) & 8) == 0" (parenthesized_expression "(*(byte *)((long)i.tm.operand_types + uVar21 * 8 + 3) & 8)" ( (binary_expression "*(byte *)((long)i.tm.operand_types + uVar21 * 8 + 3) & 8" (pointer_expression "*(byte *)((long)i.tm.operand_types + uVar21 * 8 + 3)" * (cast_expression "(byte *)((long)i.tm.operand_types + uVar21 * 8 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)i.tm.operand_types + uVar21 * 8 + 3)" ( (binary_expression "(long)i.tm.operand_types + uVar21 * 8 + 3" (binary_expression "(long)i.tm.operand_types + uVar21 * 8" (cast_expression "(long)i.tm.operand_types" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (field_expression "i.tm.operand_types" (field_expression "i.tm" identifier . field_identifier) . field_identifier)) + (binary_expression "uVar21 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) )) && (parenthesized_expression "(((ulong)i.tm.operand_types[uVar21] & 0x5f0000) == 0)" ( (binary_expression "((ulong)i.tm.operand_types[uVar21] & 0x5f0000) == 0" (parenthesized_expression "((ulong)i.tm.operand_types[uVar21] & 0x5f0000)" ( (binary_expression "(ulong)i.tm.operand_types[uVar21] & 0x5f0000" (cast_expression "(ulong)i.tm.operand_types[uVar21]" ( (type_descriptor "ulong" type_identifier) ) (subscript_expression "i.tm.operand_types[uVar21]" (field_expression "i.tm.operand_types" (field_expression "i.tm" identifier . field_identifier) . field_identifier) [ identifier ])) & number_literal) )) == number_literal) ))) )) (compound_statement "{\n          i.rm.reg = (uint)(i.op[uVar21].regs)->reg_num;\n          i.rm.regmem = (uint)(i.op[uVar14].regs)->reg_num;\n          bVar22 = (i.op[uVar21].regs)->reg_flags;\n          if ((bVar22 & 1) != 0) {\n            i.rex = i.rex | 4;\n          }\n          if ((bVar22 & 4) != 0) {\n            i.vrex = i.vrex | 4;\n          }\n          bVar22 = (i.op[uVar14].regs)->reg_flags;\n          if ((bVar22 & 1) != 0) {\n            i.rex = i.rex | 1;\n          }\n          if ((bVar22 & 4) != 0) {\n            i.vrex = i.vrex | 1;\n          }\n        }" { (expression_statement "i.rm.reg = (uint)(i.op[uVar21].regs)->reg_num;" (assignment_expression "i.rm.reg = (uint)(i.op[uVar21].regs)->reg_num" (field_expression "i.rm.reg" (field_expression "i.rm" identifier . field_identifier) . field_identifier) = (field_expression "(uint)(i.op[uVar21].regs)->reg_num" (call_expression "(uint)(i.op[uVar21].regs)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(i.op[uVar21].regs)" ( (field_expression "i.op[uVar21].regs" (subscript_expression "i.op[uVar21]" (field_expression "i.op" identifier . field_identifier) [ identifier ]) . field_identifier) ))) -> field_identifier)) ;) (expression_statement "i.rm.regmem = (uint)(i.op[uVar14].regs)->reg_num;" (assignment_expression "i.rm.regmem = (uint)(i.op[uVar14].regs)->reg_num" (field_expression "i.rm.regmem" (field_expression "i.rm" identifier . field_identifier) . field_identifier) = (field_expression "(uint)(i.op[uVar14].regs)->reg_num" (call_expression "(uint)(i.op[uVar14].regs)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(i.op[uVar14].regs)" ( (field_expression "i.op[uVar14].regs" (subscript_expression "i.op[uVar14]" (field_expression "i.op" identifier . field_identifier) [ identifier ]) . field_identifier) ))) -> field_identifier)) ;) (expression_statement "bVar22 = (i.op[uVar21].regs)->reg_flags;" (assignment_expression "bVar22 = (i.op[uVar21].regs)->reg_flags" identifier = (field_expression "(i.op[uVar21].regs)->reg_flags" (parenthesized_expression "(i.op[uVar21].regs)" ( (field_expression "i.op[uVar21].regs" (subscript_expression "i.op[uVar21]" (field_expression "i.op" identifier . field_identifier) [ identifier ]) . field_identifier) )) -> field_identifier)) ;) (if_statement "if ((bVar22 & 1) != 0) {\n            i.rex = i.rex | 4;\n          }" if (parenthesized_expression "((bVar22 & 1) != 0)" ( (binary_expression "(bVar22 & 1) != 0" (parenthesized_expression "(bVar22 & 1)" ( (binary_expression "bVar22 & 1" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n            i.rex = i.rex | 4;\n          }" { (expression_statement "i.rex = i.rex | 4;" (assignment_expression "i.rex = i.rex | 4" (field_expression "i.rex" identifier . field_identifier) = (binary_expression "i.rex | 4" (field_expression "i.rex" identifier . field_identifier) | number_literal)) ;) })) (if_statement "if ((bVar22 & 4) != 0) {\n            i.vrex = i.vrex | 4;\n          }" if (parenthesized_expression "((bVar22 & 4) != 0)" ( (binary_expression "(bVar22 & 4) != 0" (parenthesized_expression "(bVar22 & 4)" ( (binary_expression "bVar22 & 4" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n            i.vrex = i.vrex | 4;\n          }" { (expression_statement "i.vrex = i.vrex | 4;" (assignment_expression "i.vrex = i.vrex | 4" (field_expression "i.vrex" identifier . field_identifier) = (binary_expression "i.vrex | 4" (field_expression "i.vrex" identifier . field_identifier) | number_literal)) ;) })) (expression_statement "bVar22 = (i.op[uVar14].regs)->reg_flags;" (assignment_expression "bVar22 = (i.op[uVar14].regs)->reg_flags" identifier = (field_expression "(i.op[uVar14].regs)->reg_flags" (parenthesized_expression "(i.op[uVar14].regs)" ( (field_expression "i.op[uVar14].regs" (subscript_expression "i.op[uVar14]" (field_expression "i.op" identifier . field_identifier) [ identifier ]) . field_identifier) )) -> field_identifier)) ;) (if_statement "if ((bVar22 & 1) != 0) {\n            i.rex = i.rex | 1;\n          }" if (parenthesized_expression "((bVar22 & 1) != 0)" ( (binary_expression "(bVar22 & 1) != 0" (parenthesized_expression "(bVar22 & 1)" ( (binary_expression "bVar22 & 1" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n            i.rex = i.rex | 1;\n          }" { (expression_statement "i.rex = i.rex | 1;" (assignment_expression "i.rex = i.rex | 1" (field_expression "i.rex" identifier . field_identifier) = (binary_expression "i.rex | 1" (field_expression "i.rex" identifier . field_identifier) | number_literal)) ;) })) (if_statement "if ((bVar22 & 4) != 0) {\n            i.vrex = i.vrex | 1;\n          }" if (parenthesized_expression "((bVar22 & 4) != 0)" ( (binary_expression "(bVar22 & 4) != 0" (parenthesized_expression "(bVar22 & 4)" ( (binary_expression "bVar22 & 4" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n            i.vrex = i.vrex | 1;\n          }" { (expression_statement "i.vrex = i.vrex | 1;" (assignment_expression "i.vrex = i.vrex | 1" (field_expression "i.vrex" identifier . field_identifier) = (binary_expression "i.vrex | 1" (field_expression "i.vrex" identifier . field_identifier) | number_literal)) ;) })) }) (else_clause "else {\n          i.rm.reg = (uint)(i.op[uVar14].regs)->reg_num;\n          i.rm.regmem = (uint)(i.op[uVar21].regs)->reg_num;\n          bVar22 = (i.op[uVar21].regs)->reg_flags;\n          if ((bVar22 & 1) != 0) {\n            i.rex = i.rex | 1;\n          }\n          if ((bVar22 & 4) != 0) {\n            i.vrex = i.vrex | 1;\n          }\n          bVar22 = (i.op[uVar14].regs)->reg_flags;\n          if ((bVar22 & 1) != 0) {\n            i.rex = i.rex | 4;\n          }\n          if ((bVar22 & 4) != 0) {\n            i.vrex = i.vrex | 4;\n          }\n        }" else (compound_statement "{\n          i.rm.reg = (uint)(i.op[uVar14].regs)->reg_num;\n          i.rm.regmem = (uint)(i.op[uVar21].regs)->reg_num;\n          bVar22 = (i.op[uVar21].regs)->reg_flags;\n          if ((bVar22 & 1) != 0) {\n            i.rex = i.rex | 1;\n          }\n          if ((bVar22 & 4) != 0) {\n            i.vrex = i.vrex | 1;\n          }\n          bVar22 = (i.op[uVar14].regs)->reg_flags;\n          if ((bVar22 & 1) != 0) {\n            i.rex = i.rex | 4;\n          }\n          if ((bVar22 & 4) != 0) {\n            i.vrex = i.vrex | 4;\n          }\n        }" { (expression_statement "i.rm.reg = (uint)(i.op[uVar14].regs)->reg_num;" (assignment_expression "i.rm.reg = (uint)(i.op[uVar14].regs)->reg_num" (field_expression "i.rm.reg" (field_expression "i.rm" identifier . field_identifier) . field_identifier) = (field_expression "(uint)(i.op[uVar14].regs)->reg_num" (call_expression "(uint)(i.op[uVar14].regs)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(i.op[uVar14].regs)" ( (field_expression "i.op[uVar14].regs" (subscript_expression "i.op[uVar14]" (field_expression "i.op" identifier . field_identifier) [ identifier ]) . field_identifier) ))) -> field_identifier)) ;) (expression_statement "i.rm.regmem = (uint)(i.op[uVar21].regs)->reg_num;" (assignment_expression "i.rm.regmem = (uint)(i.op[uVar21].regs)->reg_num" (field_expression "i.rm.regmem" (field_expression "i.rm" identifier . field_identifier) . field_identifier) = (field_expression "(uint)(i.op[uVar21].regs)->reg_num" (call_expression "(uint)(i.op[uVar21].regs)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(i.op[uVar21].regs)" ( (field_expression "i.op[uVar21].regs" (subscript_expression "i.op[uVar21]" (field_expression "i.op" identifier . field_identifier) [ identifier ]) . field_identifier) ))) -> field_identifier)) ;) (expression_statement "bVar22 = (i.op[uVar21].regs)->reg_flags;" (assignment_expression "bVar22 = (i.op[uVar21].regs)->reg_flags" identifier = (field_expression "(i.op[uVar21].regs)->reg_flags" (parenthesized_expression "(i.op[uVar21].regs)" ( (field_expression "i.op[uVar21].regs" (subscript_expression "i.op[uVar21]" (field_expression "i.op" identifier . field_identifier) [ identifier ]) . field_identifier) )) -> field_identifier)) ;) (if_statement "if ((bVar22 & 1) != 0) {\n            i.rex = i.rex | 1;\n          }" if (parenthesized_expression "((bVar22 & 1) != 0)" ( (binary_expression "(bVar22 & 1) != 0" (parenthesized_expression "(bVar22 & 1)" ( (binary_expression "bVar22 & 1" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n            i.rex = i.rex | 1;\n          }" { (expression_statement "i.rex = i.rex | 1;" (assignment_expression "i.rex = i.rex | 1" (field_expression "i.rex" identifier . field_identifier) = (binary_expression "i.rex | 1" (field_expression "i.rex" identifier . field_identifier) | number_literal)) ;) })) (if_statement "if ((bVar22 & 4) != 0) {\n            i.vrex = i.vrex | 1;\n          }" if (parenthesized_expression "((bVar22 & 4) != 0)" ( (binary_expression "(bVar22 & 4) != 0" (parenthesized_expression "(bVar22 & 4)" ( (binary_expression "bVar22 & 4" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n            i.vrex = i.vrex | 1;\n          }" { (expression_statement "i.vrex = i.vrex | 1;" (assignment_expression "i.vrex = i.vrex | 1" (field_expression "i.vrex" identifier . field_identifier) = (binary_expression "i.vrex | 1" (field_expression "i.vrex" identifier . field_identifier) | number_literal)) ;) })) (expression_statement "bVar22 = (i.op[uVar14].regs)->reg_flags;" (assignment_expression "bVar22 = (i.op[uVar14].regs)->reg_flags" identifier = (field_expression "(i.op[uVar14].regs)->reg_flags" (parenthesized_expression "(i.op[uVar14].regs)" ( (field_expression "i.op[uVar14].regs" (subscript_expression "i.op[uVar14]" (field_expression "i.op" identifier . field_identifier) [ identifier ]) . field_identifier) )) -> field_identifier)) ;) (if_statement "if ((bVar22 & 1) != 0) {\n            i.rex = i.rex | 4;\n          }" if (parenthesized_expression "((bVar22 & 1) != 0)" ( (binary_expression "(bVar22 & 1) != 0" (parenthesized_expression "(bVar22 & 1)" ( (binary_expression "bVar22 & 1" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n            i.rex = i.rex | 4;\n          }" { (expression_statement "i.rex = i.rex | 4;" (assignment_expression "i.rex = i.rex | 4" (field_expression "i.rex" identifier . field_identifier) = (binary_expression "i.rex | 4" (field_expression "i.rex" identifier . field_identifier) | number_literal)) ;) })) (if_statement "if ((bVar22 & 4) != 0) {\n            i.vrex = i.vrex | 4;\n          }" if (parenthesized_expression "((bVar22 & 4) != 0)" ( (binary_expression "(bVar22 & 4) != 0" (parenthesized_expression "(bVar22 & 4)" ( (binary_expression "bVar22 & 4" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n            i.vrex = i.vrex | 4;\n          }" { (expression_statement "i.vrex = i.vrex | 4;" (assignment_expression "i.vrex = i.vrex | 4" (field_expression "i.vrex" identifier . field_identifier) = (binary_expression "i.vrex | 4" (field_expression "i.vrex" identifier . field_identifier) | number_literal)) ;) })) }))) (if_statement "if ((flag_code != CODE_64BIT) && ((i.rex & 4U) != 0)) {\n          if (((ulong)i.types[(byte)i.tm.operand_types[0].array[0]._3_1_ >> 3 & 1] & 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/config/tc-i386.c",0x1af4,"build_modrm_byte");\n          }\n          i.rex = i.rex & 0xfffffffb;\n          add_prefix(0xf0);\n          return (seg_entry *)0x0;\n        }" if (parenthesized_expression "((flag_code != CODE_64BIT) && ((i.rex & 4U) != 0))" ( (binary_expression "(flag_code != CODE_64BIT) && ((i.rex & 4U) != 0)" (parenthesized_expression "(flag_code != CODE_64BIT)" ( (binary_expression "flag_code != CODE_64BIT" identifier != identifier) )) && (parenthesized_expression "((i.rex & 4U) != 0)" ( (binary_expression "(i.rex & 4U) != 0" (parenthesized_expression "(i.rex & 4U)" ( (binary_expression "i.rex & 4U" (field_expression "i.rex" identifier . field_identifier) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n          if (((ulong)i.types[(byte)i.tm.operand_types[0].array[0]._3_1_ >> 3 & 1] & 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/config/tc-i386.c",0x1af4,"build_modrm_byte");\n          }\n          i.rex = i.rex & 0xfffffffb;\n          add_prefix(0xf0);\n          return (seg_entry *)0x0;\n        }" { (if_statement "if (((ulong)i.types[(byte)i.tm.operand_types[0].array[0]._3_1_ >> 3 & 1] & 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/config/tc-i386.c",0x1af4,"build_modrm_byte");\n          }" if (parenthesized_expression "(((ulong)i.types[(byte)i.tm.operand_types[0].array[0]._3_1_ >> 3 & 1] & 0x10) == 0)" ( (binary_expression "((ulong)i.types[(byte)i.tm.operand_types[0].array[0]._3_1_ >> 3 & 1] & 0x10) == 0" (parenthesized_expression "((ulong)i.types[(byte)i.tm.operand_types[0].array[0]._3_1_ >> 3 & 1] & 0x10)" ( (binary_expression "(ulong)i.types[(byte)i.tm.operand_types[0].array[0]._3_1_ >> 3 & 1] & 0x10" (cast_expression "(ulong)i.types[(byte)i.tm.operand_types[0].array[0]._3_1_ >> 3 & 1]" ( (type_descriptor "ulong" type_identifier) ) (subscript_expression "i.types[(byte)i.tm.operand_types[0].array[0]._3_1_ >> 3 & 1]" (field_expression "i.types" identifier . field_identifier) [ (binary_expression "(byte)i.tm.operand_types[0].array[0]._3_1_ >> 3 & 1" (binary_expression "(byte)i.tm.operand_types[0].array[0]._3_1_ >> 3" (cast_expression "(byte)i.tm.operand_types[0].array[0]._3_1_" ( (type_descriptor "byte" type_identifier) ) (field_expression "i.tm.operand_types[0].array[0]._3_1_" (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 ]) . field_identifier)) >> number_literal) & number_literal) ])) & number_literal) )) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/config/tc-i386.c",0x1af4,"build_modrm_byte");\n          }" { comment (expression_statement "as_abort("../../gas/config/tc-i386.c",0x1af4,"build_modrm_byte");" (call_expression "as_abort("../../gas/config/tc-i386.c",0x1af4,"build_modrm_byte")" identifier (argument_list "("../../gas/config/tc-i386.c",0x1af4,"build_modrm_byte")" ( (string_literal ""../../gas/config/tc-i386.c"" " string_content ") , number_literal , (string_literal ""build_modrm_byte"" " string_content ") ))) ;) })) (expression_statement "i.rex = i.rex & 0xfffffffb;" (assignment_expression "i.rex = i.rex & 0xfffffffb" (field_expression "i.rex" identifier . field_identifier) = (binary_expression "i.rex & 0xfffffffb" (field_expression "i.rex" identifier . field_identifier) & number_literal)) ;) (expression_statement "add_prefix(0xf0);" (call_expression "add_prefix(0xf0)" identifier (argument_list "(0xf0)" ( number_literal ))) ;) (return_statement "return (seg_entry *)0x0;" return (cast_expression "(seg_entry *)0x0" ( (type_descriptor "seg_entry *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) (expression_statement "i.rm.mode = 3;" (assignment_expression "i.rm.mode = 3" (field_expression "i.rm.mode" (field_expression "i.rm" identifier . field_identifier) . field_identifier) = number_literal) ;) (return_statement "return (seg_entry *)0x0;" return (cast_expression "(seg_entry *)0x0" ( (type_descriptor "seg_entry *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) }) (else_clause "else if (i.reg_operands == 3) {\n      if ((i.tm.opcode_modifier._5_1_ & 0x18) == 8) goto LAB_0013335b;\n    }\n    else if ((i.reg_operands == 4) && (bVar22 == 8)) {\n      if (i.operands == 3) goto LAB_00133ea8;\n      if (i.operands < 4) {\n        if (i.operands != 2) goto LAB_00133dcf;\n        goto LAB_001337ff;\n      }\n      if (i.operands == 4) goto LAB_00133379;\njoined_r0x00133753:\n      if (i.operands != 5) {\nLAB_00133dcf:\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/tc-i386.c",0x1aa0,"build_modrm_byte");\n      }\n      if (i.tm.opcode_modifier._7_1_ == '\0') {\n        uVar14 = uVar24;\n        uVar26 = 5;\n      }\n      else {\n        if (((i.imm_operands != 2) || (-1 < (char)i.tm.opcode_modifier._7_1_)) ||\n           ((i.types[0].array[0]._1_1_ & 0xfc) == 0)) {\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/config/tc-i386.c",0x1a96,"build_modrm_byte");\n        }\n        if ((i.types[1].array[0]._1_1_ & 0xfc) == 0) {\n          if ((i.types[4].array[0]._1_1_ & 0xfc) == 0) {\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/config/tc-i386.c",0x1a9c,"build_modrm_byte");\n          }\n          uVar14 = 1;\n          uVar26 = 5;\n        }\n        else {\n          uVar14 = (ulong)i.imm_operands;\n          uVar26 = 5;\n        }\n      }\n      goto LAB_001337c1;\n    }" else (if_statement "if (i.reg_operands == 3) {\n      if ((i.tm.opcode_modifier._5_1_ & 0x18) == 8) goto LAB_0013335b;\n    }\n    else if ((i.reg_operands == 4) && (bVar22 == 8)) {\n      if (i.operands == 3) goto LAB_00133ea8;\n      if (i.operands < 4) {\n        if (i.operands != 2) goto LAB_00133dcf;\n        goto LAB_001337ff;\n      }\n      if (i.operands == 4) goto LAB_00133379;\njoined_r0x00133753:\n      if (i.operands != 5) {\nLAB_00133dcf:\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/tc-i386.c",0x1aa0,"build_modrm_byte");\n      }\n      if (i.tm.opcode_modifier._7_1_ == '\0') {\n        uVar14 = uVar24;\n        uVar26 = 5;\n      }\n      else {\n        if (((i.imm_operands != 2) || (-1 < (char)i.tm.opcode_modifier._7_1_)) ||\n           ((i.types[0].array[0]._1_1_ & 0xfc) == 0)) {\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/config/tc-i386.c",0x1a96,"build_modrm_byte");\n        }\n        if ((i.types[1].array[0]._1_1_ & 0xfc) == 0) {\n          if ((i.types[4].array[0]._1_1_ & 0xfc) == 0) {\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/config/tc-i386.c",0x1a9c,"build_modrm_byte");\n          }\n          uVar14 = 1;\n          uVar26 = 5;\n        }\n        else {\n          uVar14 = (ulong)i.imm_operands;\n          uVar26 = 5;\n        }\n      }\n      goto LAB_001337c1;\n    }" if (parenthesized_expression "(i.reg_operands == 3)" ( (binary_expression "i.reg_operands == 3" (field_expression "i.reg_operands" identifier . field_identifier) == number_literal) )) (compound_statement "{\n      if ((i.tm.opcode_modifier._5_1_ & 0x18) == 8) goto LAB_0013335b;\n    }" { (if_statement "if ((i.tm.opcode_modifier._5_1_ & 0x18) == 8) goto LAB_0013335b;" if (parenthesized_expression "((i.tm.opcode_modifier._5_1_ & 0x18) == 8)" ( (binary_expression "(i.tm.opcode_modifier._5_1_ & 0x18) == 8" (parenthesized_expression "(i.tm.opcode_modifier._5_1_ & 0x18)" ( (binary_expression "i.tm.opcode_modifier._5_1_ & 0x18" (field_expression "i.tm.opcode_modifier._5_1_" (field_expression "i.tm.opcode_modifier" (field_expression "i.tm" identifier . field_identifier) . field_identifier) . field_identifier) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0013335b;" goto statement_identifier ;)) }) (else_clause "else if ((i.reg_operands == 4) && (bVar22 == 8)) {\n      if (i.operands == 3) goto LAB_00133ea8;\n      if (i.operands < 4) {\n        if (i.operands != 2) goto LAB_00133dcf;\n        goto LAB_001337ff;\n      }\n      if (i.operands == 4) goto LAB_00133379;\njoined_r0x00133753:\n      if (i.operands != 5) {\nLAB_00133dcf:\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/tc-i386.c",0x1aa0,"build_modrm_byte");\n      }\n      if (i.tm.opcode_modifier._7_1_ == '\0') {\n        uVar14 = uVar24;\n        uVar26 = 5;\n      }\n      else {\n        if (((i.imm_operands != 2) || (-1 < (char)i.tm.opcode_modifier._7_1_)) ||\n           ((i.types[0].array[0]._1_1_ & 0xfc) == 0)) {\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/config/tc-i386.c",0x1a96,"build_modrm_byte");\n        }\n        if ((i.types[1].array[0]._1_1_ & 0xfc) == 0) {\n          if ((i.types[4].array[0]._1_1_ & 0xfc) == 0) {\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/config/tc-i386.c",0x1a9c,"build_modrm_byte");\n          }\n          uVar14 = 1;\n          uVar26 = 5;\n        }\n        else {\n          uVar14 = (ulong)i.imm_operands;\n          uVar26 = 5;\n        }\n      }\n      goto LAB_001337c1;\n    }" else (if_statement "if ((i.reg_operands == 4) && (bVar22 == 8)) {\n      if (i.operands == 3) goto LAB_00133ea8;\n      if (i.operands < 4) {\n        if (i.operands != 2) goto LAB_00133dcf;\n        goto LAB_001337ff;\n      }\n      if (i.operands == 4) goto LAB_00133379;\njoined_r0x00133753:\n      if (i.operands != 5) {\nLAB_00133dcf:\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/tc-i386.c",0x1aa0,"build_modrm_byte");\n      }\n      if (i.tm.opcode_modifier._7_1_ == '\0') {\n        uVar14 = uVar24;\n        uVar26 = 5;\n      }\n      else {\n        if (((i.imm_operands != 2) || (-1 < (char)i.tm.opcode_modifier._7_1_)) ||\n           ((i.types[0].array[0]._1_1_ & 0xfc) == 0)) {\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/config/tc-i386.c",0x1a96,"build_modrm_byte");\n        }\n        if ((i.types[1].array[0]._1_1_ & 0xfc) == 0) {\n          if ((i.types[4].array[0]._1_1_ & 0xfc) == 0) {\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/config/tc-i386.c",0x1a9c,"build_modrm_byte");\n          }\n          uVar14 = 1;\n          uVar26 = 5;\n        }\n        else {\n          uVar14 = (ulong)i.imm_operands;\n          uVar26 = 5;\n        }\n      }\n      goto LAB_001337c1;\n    }" if (parenthesized_expression "((i.reg_operands == 4) && (bVar22 == 8))" ( (binary_expression "(i.reg_operands == 4) && (bVar22 == 8)" (parenthesized_expression "(i.reg_operands == 4)" ( (binary_expression "i.reg_operands == 4" (field_expression "i.reg_operands" identifier . field_identifier) == number_literal) )) && (parenthesized_expression "(bVar22 == 8)" ( (binary_expression "bVar22 == 8" identifier == number_literal) ))) )) (compound_statement "{\n      if (i.operands == 3) goto LAB_00133ea8;\n      if (i.operands < 4) {\n        if (i.operands != 2) goto LAB_00133dcf;\n        goto LAB_001337ff;\n      }\n      if (i.operands == 4) goto LAB_00133379;\njoined_r0x00133753:\n      if (i.operands != 5) {\nLAB_00133dcf:\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/tc-i386.c",0x1aa0,"build_modrm_byte");\n      }\n      if (i.tm.opcode_modifier._7_1_ == '\0') {\n        uVar14 = uVar24;\n        uVar26 = 5;\n      }\n      else {\n        if (((i.imm_operands != 2) || (-1 < (char)i.tm.opcode_modifier._7_1_)) ||\n           ((i.types[0].array[0]._1_1_ & 0xfc) == 0)) {\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/config/tc-i386.c",0x1a96,"build_modrm_byte");\n        }\n        if ((i.types[1].array[0]._1_1_ & 0xfc) == 0) {\n          if ((i.types[4].array[0]._1_1_ & 0xfc) == 0) {\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/config/tc-i386.c",0x1a9c,"build_modrm_byte");\n          }\n          uVar14 = 1;\n          uVar26 = 5;\n        }\n        else {\n          uVar14 = (ulong)i.imm_operands;\n          uVar26 = 5;\n        }\n      }\n      goto LAB_001337c1;\n    }" { (if_statement "if (i.operands == 3) goto LAB_00133ea8;" if (parenthesized_expression "(i.operands == 3)" ( (binary_expression "i.operands == 3" (field_expression "i.operands" identifier . field_identifier) == number_literal) )) (goto_statement "goto LAB_00133ea8;" goto statement_identifier ;)) (if_statement "if (i.operands < 4) {\n        if (i.operands != 2) goto LAB_00133dcf;\n        goto LAB_001337ff;\n      }" if (parenthesized_expression "(i.operands < 4)" ( (binary_expression "i.operands < 4" (field_expression "i.operands" identifier . field_identifier) < number_literal) )) (compound_statement "{\n        if (i.operands != 2) goto LAB_00133dcf;\n        goto LAB_001337ff;\n      }" { (if_statement "if (i.operands != 2) goto LAB_00133dcf;" if (parenthesized_expression "(i.operands != 2)" ( (binary_expression "i.operands != 2" (field_expression "i.operands" identifier . field_identifier) != number_literal) )) (goto_statement "goto LAB_00133dcf;" goto statement_identifier ;)) (goto_statement "goto LAB_001337ff;" goto statement_identifier ;) })) (if_statement "if (i.operands == 4) goto LAB_00133379;" if (parenthesized_expression "(i.operands == 4)" ( (binary_expression "i.operands == 4" (field_expression "i.operands" identifier . field_identifier) == number_literal) )) (goto_statement "goto LAB_00133379;" goto statement_identifier ;)) (labeled_statement "joined_r0x00133753:\n      if (i.operands != 5) {\nLAB_00133dcf:\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/tc-i386.c",0x1aa0,"build_modrm_byte");\n      }" statement_identifier : (if_statement "if (i.operands != 5) {\nLAB_00133dcf:\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/tc-i386.c",0x1aa0,"build_modrm_byte");\n      }" if (parenthesized_expression "(i.operands != 5)" ( (binary_expression "i.operands != 5" (field_expression "i.operands" identifier . field_identifier) != number_literal) )) (compound_statement "{\nLAB_00133dcf:\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/tc-i386.c",0x1aa0,"build_modrm_byte");\n      }" { (labeled_statement "LAB_00133dcf:\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/tc-i386.c",0x1aa0,"build_modrm_byte");" statement_identifier : comment (expression_statement "as_abort("../../gas/config/tc-i386.c",0x1aa0,"build_modrm_byte");" (call_expression "as_abort("../../gas/config/tc-i386.c",0x1aa0,"build_modrm_byte")" identifier (argument_list "("../../gas/config/tc-i386.c",0x1aa0,"build_modrm_byte")" ( (string_literal ""../../gas/config/tc-i386.c"" " string_content ") , number_literal , (string_literal ""build_modrm_byte"" " string_content ") ))) ;)) }))) (if_statement "if (i.tm.opcode_modifier._7_1_ == '\0') {\n        uVar14 = uVar24;\n        uVar26 = 5;\n      }\n      else {\n        if (((i.imm_operands != 2) || (-1 < (char)i.tm.opcode_modifier._7_1_)) ||\n           ((i.types[0].array[0]._1_1_ & 0xfc) == 0)) {\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/config/tc-i386.c",0x1a96,"build_modrm_byte");\n        }\n        if ((i.types[1].array[0]._1_1_ & 0xfc) == 0) {\n          if ((i.types[4].array[0]._1_1_ & 0xfc) == 0) {\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/config/tc-i386.c",0x1a9c,"build_modrm_byte");\n          }\n          uVar14 = 1;\n          uVar26 = 5;\n        }\n        else {\n          uVar14 = (ulong)i.imm_operands;\n          uVar26 = 5;\n        }\n      }" if (parenthesized_expression "(i.tm.opcode_modifier._7_1_ == '\0')" ( (binary_expression "i.tm.opcode_modifier._7_1_ == '\0'" (field_expression "i.tm.opcode_modifier._7_1_" (field_expression "i.tm.opcode_modifier" (field_expression "i.tm" identifier . field_identifier) . field_identifier) . field_identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        uVar14 = uVar24;\n        uVar26 = 5;\n      }" { (expression_statement "uVar14 = uVar24;" (assignment_expression "uVar14 = uVar24" identifier = identifier) ;) (expression_statement "uVar26 = 5;" (assignment_expression "uVar26 = 5" identifier = number_literal) ;) }) (else_clause "else {\n        if (((i.imm_operands != 2) || (-1 < (char)i.tm.opcode_modifier._7_1_)) ||\n           ((i.types[0].array[0]._1_1_ & 0xfc) == 0)) {\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/config/tc-i386.c",0x1a96,"build_modrm_byte");\n        }\n        if ((i.types[1].array[0]._1_1_ & 0xfc) == 0) {\n          if ((i.types[4].array[0]._1_1_ & 0xfc) == 0) {\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/config/tc-i386.c",0x1a9c,"build_modrm_byte");\n          }\n          uVar14 = 1;\n          uVar26 = 5;\n        }\n        else {\n          uVar14 = (ulong)i.imm_operands;\n          uVar26 = 5;\n        }\n      }" else (compound_statement "{\n        if (((i.imm_operands != 2) || (-1 < (char)i.tm.opcode_modifier._7_1_)) ||\n           ((i.types[0].array[0]._1_1_ & 0xfc) == 0)) {\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/config/tc-i386.c",0x1a96,"build_modrm_byte");\n        }\n        if ((i.types[1].array[0]._1_1_ & 0xfc) == 0) {\n          if ((i.types[4].array[0]._1_1_ & 0xfc) == 0) {\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/config/tc-i386.c",0x1a9c,"build_modrm_byte");\n          }\n          uVar14 = 1;\n          uVar26 = 5;\n        }\n        else {\n          uVar14 = (ulong)i.imm_operands;\n          uVar26 = 5;\n        }\n      }" { (if_statement "if (((i.imm_operands != 2) || (-1 < (char)i.tm.opcode_modifier._7_1_)) ||\n           ((i.types[0].array[0]._1_1_ & 0xfc) == 0)) {\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/config/tc-i386.c",0x1a96,"build_modrm_byte");\n        }" if (parenthesized_expression "(((i.imm_operands != 2) || (-1 < (char)i.tm.opcode_modifier._7_1_)) ||\n           ((i.types[0].array[0]._1_1_ & 0xfc) == 0))" ( (binary_expression "((i.imm_operands != 2) || (-1 < (char)i.tm.opcode_modifier._7_1_)) ||\n           ((i.types[0].array[0]._1_1_ & 0xfc) == 0)" (parenthesized_expression "((i.imm_operands != 2) || (-1 < (char)i.tm.opcode_modifier._7_1_))" ( (binary_expression "(i.imm_operands != 2) || (-1 < (char)i.tm.opcode_modifier._7_1_)" (parenthesized_expression "(i.imm_operands != 2)" ( (binary_expression "i.imm_operands != 2" (field_expression "i.imm_operands" identifier . field_identifier) != number_literal) )) || (parenthesized_expression "(-1 < (char)i.tm.opcode_modifier._7_1_)" ( (binary_expression "-1 < (char)i.tm.opcode_modifier._7_1_" number_literal < (cast_expression "(char)i.tm.opcode_modifier._7_1_" ( (type_descriptor "char" primitive_type) ) (field_expression "i.tm.opcode_modifier._7_1_" (field_expression "i.tm.opcode_modifier" (field_expression "i.tm" identifier . field_identifier) . field_identifier) . field_identifier))) ))) )) || (parenthesized_expression "((i.types[0].array[0]._1_1_ & 0xfc) == 0)" ( (binary_expression "(i.types[0].array[0]._1_1_ & 0xfc) == 0" (parenthesized_expression "(i.types[0].array[0]._1_1_ & 0xfc)" ( (binary_expression "i.types[0].array[0]._1_1_ & 0xfc" (field_expression "i.types[0].array[0]._1_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) ))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/config/tc-i386.c",0x1a96,"build_modrm_byte");\n        }" { comment (expression_statement "as_abort("../../gas/config/tc-i386.c",0x1a96,"build_modrm_byte");" (call_expression "as_abort("../../gas/config/tc-i386.c",0x1a96,"build_modrm_byte")" identifier (argument_list "("../../gas/config/tc-i386.c",0x1a96,"build_modrm_byte")" ( (string_literal ""../../gas/config/tc-i386.c"" " string_content ") , number_literal , (string_literal ""build_modrm_byte"" " string_content ") ))) ;) })) (if_statement "if ((i.types[1].array[0]._1_1_ & 0xfc) == 0) {\n          if ((i.types[4].array[0]._1_1_ & 0xfc) == 0) {\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/config/tc-i386.c",0x1a9c,"build_modrm_byte");\n          }\n          uVar14 = 1;\n          uVar26 = 5;\n        }\n        else {\n          uVar14 = (ulong)i.imm_operands;\n          uVar26 = 5;\n        }" if (parenthesized_expression "((i.types[1].array[0]._1_1_ & 0xfc) == 0)" ( (binary_expression "(i.types[1].array[0]._1_1_ & 0xfc) == 0" (parenthesized_expression "(i.types[1].array[0]._1_1_ & 0xfc)" ( (binary_expression "i.types[1].array[0]._1_1_ & 0xfc" (field_expression "i.types[1].array[0]._1_1_" (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 ]) . field_identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n          if ((i.types[4].array[0]._1_1_ & 0xfc) == 0) {\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/config/tc-i386.c",0x1a9c,"build_modrm_byte");\n          }\n          uVar14 = 1;\n          uVar26 = 5;\n        }" { (if_statement "if ((i.types[4].array[0]._1_1_ & 0xfc) == 0) {\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/config/tc-i386.c",0x1a9c,"build_modrm_byte");\n          }" if (parenthesized_expression "((i.types[4].array[0]._1_1_ & 0xfc) == 0)" ( (binary_expression "(i.types[4].array[0]._1_1_ & 0xfc) == 0" (parenthesized_expression "(i.types[4].array[0]._1_1_ & 0xfc)" ( (binary_expression "i.types[4].array[0]._1_1_ & 0xfc" (field_expression "i.types[4].array[0]._1_1_" (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 ]) . field_identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/config/tc-i386.c",0x1a9c,"build_modrm_byte");\n          }" { comment (expression_statement "as_abort("../../gas/config/tc-i386.c",0x1a9c,"build_modrm_byte");" (call_expression "as_abort("../../gas/config/tc-i386.c",0x1a9c,"build_modrm_byte")" identifier (argument_list "("../../gas/config/tc-i386.c",0x1a9c,"build_modrm_byte")" ( (string_literal ""../../gas/config/tc-i386.c"" " string_content ") , number_literal , (string_literal ""build_modrm_byte"" " string_content ") ))) ;) })) (expression_statement "uVar14 = 1;" (assignment_expression "uVar14 = 1" identifier = number_literal) ;) (expression_statement "uVar26 = 5;" (assignment_expression "uVar26 = 5" identifier = number_literal) ;) }) (else_clause "else {\n          uVar14 = (ulong)i.imm_operands;\n          uVar26 = 5;\n        }" else (compound_statement "{\n          uVar14 = (ulong)i.imm_operands;\n          uVar26 = 5;\n        }" { (expression_statement "uVar14 = (ulong)i.imm_operands;" (assignment_expression "uVar14 = (ulong)i.imm_operands" identifier = (cast_expression "(ulong)i.imm_operands" ( (type_descriptor "ulong" type_identifier) ) (field_expression "i.imm_operands" identifier . field_identifier))) ;) (expression_statement "uVar26 = 5;" (assignment_expression "uVar26 = 5" identifier = number_literal) ;) }))) }))) (goto_statement "goto LAB_001337c1;" goto statement_identifier ;) })))))) (expression_statement "uVar26 = 0xffffffff;" (assignment_expression "uVar26 = 0xffffffff" identifier = number_literal) ;) (expression_statement "puVar15 = (undefined1 *)0x0;" (assignment_expression "puVar15 = (undefined1 *)0x0" identifier = (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n    if (i.operands == 0) {\nLAB_0013303b:\n                    /* WARNING: Subroutine does not return */\n      as_abort("../../gas/config/tc-i386.c",0x1b05,"build_modrm_byte");\n    }\n    if ((i.types[0].array[0]._2_1_ & 0x5f) == 0) {\n      uVar14 = 1;\n      do {\n        uVar24 = uVar14 & 0xffffffff;\n        if (i.operands <= (uint)uVar14) goto LAB_0013303b;\n        piVar2 = i.types + uVar14;\n        uVar14 = uVar14 + 1;\n      } while (((ulong)*piVar2 & 0x5f0000) == 0);\n    }\n    else {\n      uVar24 = 0;\n    }\n    bVar23 = uVar9 & 0x30;\n    uVar26 = (uint)uVar24;\n    if (bVar23 == 0) {\nLAB_0013313d:\n      if (prVar10 != (reg_entry *)0x0) goto LAB_00133146;\nLAB_00133448:\n      prVar10 = i.index_reg;\n      i.rm.mode = 0;\n      if (i.disp_operands == 0) {\n        if (i.index_reg == (reg_entry *)0x0) {\n          aVar19 = Cpu286;\n          goto LAB_00133cae;\n        }\n        if (bVar23 == 0) {\n          aVar19 = Cpu286;\n          goto LAB_00133af0;\n        }\n        goto LAB_00133a60;\n      }\n      if (i.index_reg != (reg_entry *)0x0) {\n        if (bVar23 == 0) {\n          aVar19 = Cpu186;\nLAB_00133af0:\n          i.sib.index = (uint)(i.index_reg)->reg_num;\n          i.rm.regmem = 4;\n          if ((byte)((i.index_reg)->reg_num + 4) < 2) {\n            i.sib.index = 4;\n          }\n          i.sib.base = 5;\n          i.sib.scale = i.log2_scale_factor;\n          lVar3 = uVar24 * 8;\n          bVar25 = *(byte *)((long)i.types + lVar3 + 2);\n          bVar28 = flag_code == CODE_64BIT;\n          *(byte *)((long)i.types + lVar3 + 2) = bVar25 & 0xec;\n          if ((bVar28) && (i.prefix[2] == '\0')) {\n            *(byte *)((long)i.types + lVar3 + 2) = bVar25 & 0xe0 | 8;\n          }\n          else {\n            *(byte *)((long)i.types + uVar24 * 8 + 2) =\n                 *(byte *)((long)i.types + uVar24 * 8 + 2) & 0xf3 | 4;\n          }\n          puVar15 = ds;\n          if ((prVar10->reg_flags & 1) != 0) {\n            i.rex = i.rex | 2;\n          }\n          goto LAB_00133b80;\n        }\n        goto LAB_00133424;\n      }\n      aVar19 = Cpu186;\nLAB_00133cae:\n      if (bVar23 != 0) {\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/tc-i386.c",0x1b33,"build_modrm_byte");\n      }\n      if (flag_code == CODE_64BIT) {\n        i.rm.regmem = 4;\n        uVar20 = (uint)(i.prefix[2] == '\0');\n        uVar18 = (uint)(i.prefix[2] != '\0');\n        i.sib.base = 5;\n        i.sib.index = 4;\n        iVar13 = 0;\n      }\n      else if ((flag_code == CODE_16BIT) == (i.prefix[2] != '\0')) {\n        i.rm.regmem = 5;\n        uVar20 = 0;\n        uVar18 = 1;\n        iVar13 = 0;\n      }\n      else {\n        i.rm.regmem = 6;\n        uVar20 = 0;\n        uVar18 = 0;\n        iVar13 = 1;\n      }\n      uVar27 = ~anydisp.array[1];\n      i.types[uVar24].array[0] =\n           iVar13 << 0x11 | uVar18 << 0x12 | uVar20 << 0x13 |\n           ~anydisp.array[0] & i.types[uVar24].array[0];\n      puVar15 = ds;\n      puVar1 = (uint *)((long)i.types + uVar24 * 8 + 4);\n      *puVar1 = *puVar1 & uVar27;\nLAB_00133b80:\n      if (aVar19 != Cpu186) goto LAB_00133a67;\n    }\n    else {\n      uVar5 = (i.index_reg)->reg_num;\n      if ((byte)(uVar5 + 4) < 2) {\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/tc-i386.c",0x1b0b,"build_modrm_byte");\n      }\n      i.rm.regmem = 4;\n      if (i.base_reg == (reg_entry *)0x0) {\n        i.sib.base = 5;\n        i.sib.index = 0;\n        i.sib.scale = i.log2_scale_factor;\n        lVar3 = uVar24 * 8;\n        bVar6 = *(byte *)((long)i.types + lVar3 + 2);\n        bVar28 = flag_code == CODE_64BIT;\n        *(byte *)((long)i.types + lVar3 + 2) = bVar6 & 0xec;\n        if ((bVar28) && (i.prefix[2] == '\0')) {\n          *(byte *)((long)i.types + lVar3 + 2) = bVar6 & 0xe0 | 8;\n        }\n        else {\n          *(byte *)((long)i.types + uVar24 * 8 + 2) =\n               *(byte *)((long)i.types + uVar24 * 8 + 2) & 0xf3 | 4;\n        }\n      }\n      i.sib.index._0_1_ = uVar5;\n      i.sib.index._1_3_ = 0;\n      if ((prVar11->reg_flags & 1) != 0) {\n        i.rex = i.rex | 2;\n      }\n      if ((prVar11->reg_flags & 4) == 0) goto LAB_0013313d;\n      i.vrex = i.vrex | 2;\n      if (prVar10 == (reg_entry *)0x0) goto LAB_00133448;\nLAB_00133146:\n      bVar6 = prVar10->reg_num;\n      if (bVar6 < 0xfe) {\n        if (((ulong)prVar10->reg_type & 0x40000000) == 0) {\n          if ((flag_code == CODE_64BIT) && ((*(byte *)((long)i.types + uVar24 * 8 + 2) & 0x1f) != 0)\n             ) {\n            lVar3 = uVar24 * 8;\n            bVar25 = *(byte *)((long)i.types + lVar3 + 2);\n            bVar17 = bVar25 & 0xe1;\n            *(byte *)((long)i.types + lVar3 + 2) = bVar25 & 0xed;\n            if (i.prefix[2] == '\0') {\n              *(byte *)((long)i.types + lVar3 + 2) = bVar17 | 8;\n            }\n            else {\n              *(byte *)((long)i.types + lVar3 + 2) = bVar17 | 4;\n            }\n          }\n          if (bVar23 == 0) {\n            i.rm.regmem = (uint)bVar6;\n          }\n          if ((prVar10->reg_flags & 1) == 0) {\n            puVar15 = ss;\n            if (1 < (byte)(bVar6 - 4)) {\n              puVar15 = ds;\n            }\n          }\n          else {\n            i.rex = i.rex | 1;\n            puVar15 = ds;\n          }\n          i.sib.base = (uint)bVar6;\n          aVar19 = Cpu186;\n          if ((bVar6 == 5) && (aVar19 = Cpu186, i.disp_operands == 0)) {\n            aVar19 = Cpu286;\n            pbVar4 = (byte *)((long)i.types + uVar24 * 8 + 2);\n            *pbVar4 = *pbVar4 | 1;\n          }\n          aVar12 = i.disp_encoding;\n          i.sib.scale = i.log2_scale_factor;\n          if (i.index_reg == (reg_entry *)0x0) {\n            if (bVar23 != 0) {\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1bbf,"build_modrm_byte");\n            }\n            i.sib.index = 4;\n          }\n          else if (bVar23 == 0) {\n            i.rm.regmem = 4;\n            i.sib.index = (uint)(i.index_reg)->reg_num;\n            if ((byte)((i.index_reg)->reg_num + 4) < 2) {\n              i.sib.index = 4;\n            }\n            if (((i.index_reg)->reg_flags & 1) != 0) {\n              i.rex = i.rex | 2;\n            }\n          }\n          if (i.disp_operands == 0) {\n            if ((aVar19 == Cpu186) && (aVar19 = aVar12, i.disp_encoding != Cpu186)) {\n              if (i.disp_encoding == Cpu286) {\n                pbVar4 = (byte *)((long)i.types + uVar24 * 8 + 2);\n                *pbVar4 = *pbVar4 | 1;\n              }\n              else {\n                pbVar4 = (byte *)((long)i.types + uVar24 * 8 + 2);\n                *pbVar4 = *pbVar4 | 4;\n                aVar19 = Cpu286;\n              }\n            }\n          }\n          else if ((i.reloc[uVar24] == BFD_RELOC_386_TLS_DESC_CALL) ||\n                  (i.reloc[uVar24] == BFD_RELOC_X86_64_TLSDESC_CALL)) {\n            i.rm.mode = 0;\n            goto LAB_00133b80;\n          }\n        }\n        else {\n          if (bVar23 != 0) {\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/config/tc-i386.c",0x1b7c,"build_modrm_byte");\n          }\n          if (bVar6 == 3) {\n            if (i.index_reg != (reg_entry *)0x0) {\n              i.rm.regmem = (i.index_reg)->reg_num - 6;\n              goto LAB_0013317e;\n            }\n            i.rm.regmem = 7;\n            puVar15 = ds;\n            aVar19 = Cpu186;\n          }\n          else if (bVar6 == 5) {\n            if (i.index_reg == (reg_entry *)0x0) {\n              puVar15 = ss;\n              i.rm.regmem = 6;\n              aVar19 = Cpu186;\n              if ((*(byte *)((long)i.types + uVar24 * 8 + 2) & 0x1f) == 0) {\n                pbVar4 = (byte *)((long)i.types + uVar24 * 8 + 2);\n                *pbVar4 = *pbVar4 | 1;\n                aVar19 = Cpu286;\n              }\n            }\n            else {\n              i.rm.regmem = (i.index_reg)->reg_num - 4;\n              puVar15 = ss;\n              aVar19 = Cpu186;\n            }\n          }\n          else {\n            i.rm.regmem = bVar6 - 2;\nLAB_0013317e:\n            aVar19 = Cpu186;\n            puVar15 = ds;\n          }\n        }\n        i.rm.mode = 1;\n        if (((ulong)i.types[uVar24] >> 0x10 & 1) == 0) {\n          i.rm.mode = (uint)(((ulong)i.types[uVar24] & 0xe0000) != 0) * 2;\n        }\n        goto LAB_00133b80;\n      }\n      if (bVar23 != 0) {\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/tc-i386.c",0x1b6f,"build_modrm_byte");\n      }\n      i.rm.regmem = 5;\n      *(byte *)((long)i.types + uVar24 * 8 + 2) =\n           *(byte *)((long)i.types + uVar24 * 8 + 2) & 0xe0 | 8;\n      uVar18 = i.disp_operands;\n      i.flags[uVar24] = i.flags[uVar24] | 1;\n      if (uVar18 != 0) {\nLAB_00133424:\n        puVar15 = ds;\n        goto LAB_00133089;\n      }\nLAB_00133a60:\n      puVar15 = ds;\nLAB_00133a67:\n      if (i.op[uVar24].disps != (expressionS *)0x0) {\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/tc-i386.c",0x1bed,"build_modrm_byte");\n      }\n      uVar14 = (ulong)i.disp_operands;\n      i.disp_operands = i.disp_operands + 1;\n      i.op[uVar24].disps = disp_expressions + uVar14;\n      disp_expressions[uVar14].field_0x18 = 2;\n      disp_expressions[uVar14].X_add_number = 0;\n      disp_expressions[uVar14].X_add_symbol = (symbolS *)0x0;\n      disp_expressions[uVar14].X_op_symbol = (symbolS *)0x0;\n    }\n    bVar25 = i.tm.opcode_modifier._6_1_ & 0xc;\n  }" else (compound_statement "{\n    if (i.operands == 0) {\nLAB_0013303b:\n                    /* WARNING: Subroutine does not return */\n      as_abort("../../gas/config/tc-i386.c",0x1b05,"build_modrm_byte");\n    }\n    if ((i.types[0].array[0]._2_1_ & 0x5f) == 0) {\n      uVar14 = 1;\n      do {\n        uVar24 = uVar14 & 0xffffffff;\n        if (i.operands <= (uint)uVar14) goto LAB_0013303b;\n        piVar2 = i.types + uVar14;\n        uVar14 = uVar14 + 1;\n      } while (((ulong)*piVar2 & 0x5f0000) == 0);\n    }\n    else {\n      uVar24 = 0;\n    }\n    bVar23 = uVar9 & 0x30;\n    uVar26 = (uint)uVar24;\n    if (bVar23 == 0) {\nLAB_0013313d:\n      if (prVar10 != (reg_entry *)0x0) goto LAB_00133146;\nLAB_00133448:\n      prVar10 = i.index_reg;\n      i.rm.mode = 0;\n      if (i.disp_operands == 0) {\n        if (i.index_reg == (reg_entry *)0x0) {\n          aVar19 = Cpu286;\n          goto LAB_00133cae;\n        }\n        if (bVar23 == 0) {\n          aVar19 = Cpu286;\n          goto LAB_00133af0;\n        }\n        goto LAB_00133a60;\n      }\n      if (i.index_reg != (reg_entry *)0x0) {\n        if (bVar23 == 0) {\n          aVar19 = Cpu186;\nLAB_00133af0:\n          i.sib.index = (uint)(i.index_reg)->reg_num;\n          i.rm.regmem = 4;\n          if ((byte)((i.index_reg)->reg_num + 4) < 2) {\n            i.sib.index = 4;\n          }\n          i.sib.base = 5;\n          i.sib.scale = i.log2_scale_factor;\n          lVar3 = uVar24 * 8;\n          bVar25 = *(byte *)((long)i.types + lVar3 + 2);\n          bVar28 = flag_code == CODE_64BIT;\n          *(byte *)((long)i.types + lVar3 + 2) = bVar25 & 0xec;\n          if ((bVar28) && (i.prefix[2] == '\0')) {\n            *(byte *)((long)i.types + lVar3 + 2) = bVar25 & 0xe0 | 8;\n          }\n          else {\n            *(byte *)((long)i.types + uVar24 * 8 + 2) =\n                 *(byte *)((long)i.types + uVar24 * 8 + 2) & 0xf3 | 4;\n          }\n          puVar15 = ds;\n          if ((prVar10->reg_flags & 1) != 0) {\n            i.rex = i.rex | 2;\n          }\n          goto LAB_00133b80;\n        }\n        goto LAB_00133424;\n      }\n      aVar19 = Cpu186;\nLAB_00133cae:\n      if (bVar23 != 0) {\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/tc-i386.c",0x1b33,"build_modrm_byte");\n      }\n      if (flag_code == CODE_64BIT) {\n        i.rm.regmem = 4;\n        uVar20 = (uint)(i.prefix[2] == '\0');\n        uVar18 = (uint)(i.prefix[2] != '\0');\n        i.sib.base = 5;\n        i.sib.index = 4;\n        iVar13 = 0;\n      }\n      else if ((flag_code == CODE_16BIT) == (i.prefix[2] != '\0')) {\n        i.rm.regmem = 5;\n        uVar20 = 0;\n        uVar18 = 1;\n        iVar13 = 0;\n      }\n      else {\n        i.rm.regmem = 6;\n        uVar20 = 0;\n        uVar18 = 0;\n        iVar13 = 1;\n      }\n      uVar27 = ~anydisp.array[1];\n      i.types[uVar24].array[0] =\n           iVar13 << 0x11 | uVar18 << 0x12 | uVar20 << 0x13 |\n           ~anydisp.array[0] & i.types[uVar24].array[0];\n      puVar15 = ds;\n      puVar1 = (uint *)((long)i.types + uVar24 * 8 + 4);\n      *puVar1 = *puVar1 & uVar27;\nLAB_00133b80:\n      if (aVar19 != Cpu186) goto LAB_00133a67;\n    }\n    else {\n      uVar5 = (i.index_reg)->reg_num;\n      if ((byte)(uVar5 + 4) < 2) {\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/tc-i386.c",0x1b0b,"build_modrm_byte");\n      }\n      i.rm.regmem = 4;\n      if (i.base_reg == (reg_entry *)0x0) {\n        i.sib.base = 5;\n        i.sib.index = 0;\n        i.sib.scale = i.log2_scale_factor;\n        lVar3 = uVar24 * 8;\n        bVar6 = *(byte *)((long)i.types + lVar3 + 2);\n        bVar28 = flag_code == CODE_64BIT;\n        *(byte *)((long)i.types + lVar3 + 2) = bVar6 & 0xec;\n        if ((bVar28) && (i.prefix[2] == '\0')) {\n          *(byte *)((long)i.types + lVar3 + 2) = bVar6 & 0xe0 | 8;\n        }\n        else {\n          *(byte *)((long)i.types + uVar24 * 8 + 2) =\n               *(byte *)((long)i.types + uVar24 * 8 + 2) & 0xf3 | 4;\n        }\n      }\n      i.sib.index._0_1_ = uVar5;\n      i.sib.index._1_3_ = 0;\n      if ((prVar11->reg_flags & 1) != 0) {\n        i.rex = i.rex | 2;\n      }\n      if ((prVar11->reg_flags & 4) == 0) goto LAB_0013313d;\n      i.vrex = i.vrex | 2;\n      if (prVar10 == (reg_entry *)0x0) goto LAB_00133448;\nLAB_00133146:\n      bVar6 = prVar10->reg_num;\n      if (bVar6 < 0xfe) {\n        if (((ulong)prVar10->reg_type & 0x40000000) == 0) {\n          if ((flag_code == CODE_64BIT) && ((*(byte *)((long)i.types + uVar24 * 8 + 2) & 0x1f) != 0)\n             ) {\n            lVar3 = uVar24 * 8;\n            bVar25 = *(byte *)((long)i.types + lVar3 + 2);\n            bVar17 = bVar25 & 0xe1;\n            *(byte *)((long)i.types + lVar3 + 2) = bVar25 & 0xed;\n            if (i.prefix[2] == '\0') {\n              *(byte *)((long)i.types + lVar3 + 2) = bVar17 | 8;\n            }\n            else {\n              *(byte *)((long)i.types + lVar3 + 2) = bVar17 | 4;\n            }\n          }\n          if (bVar23 == 0) {\n            i.rm.regmem = (uint)bVar6;\n          }\n          if ((prVar10->reg_flags & 1) == 0) {\n            puVar15 = ss;\n            if (1 < (byte)(bVar6 - 4)) {\n              puVar15 = ds;\n            }\n          }\n          else {\n            i.rex = i.rex | 1;\n            puVar15 = ds;\n          }\n          i.sib.base = (uint)bVar6;\n          aVar19 = Cpu186;\n          if ((bVar6 == 5) && (aVar19 = Cpu186, i.disp_operands == 0)) {\n            aVar19 = Cpu286;\n            pbVar4 = (byte *)((long)i.types + uVar24 * 8 + 2);\n            *pbVar4 = *pbVar4 | 1;\n          }\n          aVar12 = i.disp_encoding;\n          i.sib.scale = i.log2_scale_factor;\n          if (i.index_reg == (reg_entry *)0x0) {\n            if (bVar23 != 0) {\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1bbf,"build_modrm_byte");\n            }\n            i.sib.index = 4;\n          }\n          else if (bVar23 == 0) {\n            i.rm.regmem = 4;\n            i.sib.index = (uint)(i.index_reg)->reg_num;\n            if ((byte)((i.index_reg)->reg_num + 4) < 2) {\n              i.sib.index = 4;\n            }\n            if (((i.index_reg)->reg_flags & 1) != 0) {\n              i.rex = i.rex | 2;\n            }\n          }\n          if (i.disp_operands == 0) {\n            if ((aVar19 == Cpu186) && (aVar19 = aVar12, i.disp_encoding != Cpu186)) {\n              if (i.disp_encoding == Cpu286) {\n                pbVar4 = (byte *)((long)i.types + uVar24 * 8 + 2);\n                *pbVar4 = *pbVar4 | 1;\n              }\n              else {\n                pbVar4 = (byte *)((long)i.types + uVar24 * 8 + 2);\n                *pbVar4 = *pbVar4 | 4;\n                aVar19 = Cpu286;\n              }\n            }\n          }\n          else if ((i.reloc[uVar24] == BFD_RELOC_386_TLS_DESC_CALL) ||\n                  (i.reloc[uVar24] == BFD_RELOC_X86_64_TLSDESC_CALL)) {\n            i.rm.mode = 0;\n            goto LAB_00133b80;\n          }\n        }\n        else {\n          if (bVar23 != 0) {\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/config/tc-i386.c",0x1b7c,"build_modrm_byte");\n          }\n          if (bVar6 == 3) {\n            if (i.index_reg != (reg_entry *)0x0) {\n              i.rm.regmem = (i.index_reg)->reg_num - 6;\n              goto LAB_0013317e;\n            }\n            i.rm.regmem = 7;\n            puVar15 = ds;\n            aVar19 = Cpu186;\n          }\n          else if (bVar6 == 5) {\n            if (i.index_reg == (reg_entry *)0x0) {\n              puVar15 = ss;\n              i.rm.regmem = 6;\n              aVar19 = Cpu186;\n              if ((*(byte *)((long)i.types + uVar24 * 8 + 2) & 0x1f) == 0) {\n                pbVar4 = (byte *)((long)i.types + uVar24 * 8 + 2);\n                *pbVar4 = *pbVar4 | 1;\n                aVar19 = Cpu286;\n              }\n            }\n            else {\n              i.rm.regmem = (i.index_reg)->reg_num - 4;\n              puVar15 = ss;\n              aVar19 = Cpu186;\n            }\n          }\n          else {\n            i.rm.regmem = bVar6 - 2;\nLAB_0013317e:\n            aVar19 = Cpu186;\n            puVar15 = ds;\n          }\n        }\n        i.rm.mode = 1;\n        if (((ulong)i.types[uVar24] >> 0x10 & 1) == 0) {\n          i.rm.mode = (uint)(((ulong)i.types[uVar24] & 0xe0000) != 0) * 2;\n        }\n        goto LAB_00133b80;\n      }\n      if (bVar23 != 0) {\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/tc-i386.c",0x1b6f,"build_modrm_byte");\n      }\n      i.rm.regmem = 5;\n      *(byte *)((long)i.types + uVar24 * 8 + 2) =\n           *(byte *)((long)i.types + uVar24 * 8 + 2) & 0xe0 | 8;\n      uVar18 = i.disp_operands;\n      i.flags[uVar24] = i.flags[uVar24] | 1;\n      if (uVar18 != 0) {\nLAB_00133424:\n        puVar15 = ds;\n        goto LAB_00133089;\n      }\nLAB_00133a60:\n      puVar15 = ds;\nLAB_00133a67:\n      if (i.op[uVar24].disps != (expressionS *)0x0) {\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/tc-i386.c",0x1bed,"build_modrm_byte");\n      }\n      uVar14 = (ulong)i.disp_operands;\n      i.disp_operands = i.disp_operands + 1;\n      i.op[uVar24].disps = disp_expressions + uVar14;\n      disp_expressions[uVar14].field_0x18 = 2;\n      disp_expressions[uVar14].X_add_number = 0;\n      disp_expressions[uVar14].X_add_symbol = (symbolS *)0x0;\n      disp_expressions[uVar14].X_op_symbol = (symbolS *)0x0;\n    }\n    bVar25 = i.tm.opcode_modifier._6_1_ & 0xc;\n  }" { (if_statement "if (i.operands == 0) {\nLAB_0013303b:\n                    /* WARNING: Subroutine does not return */\n      as_abort("../../gas/config/tc-i386.c",0x1b05,"build_modrm_byte");\n    }" if (parenthesized_expression "(i.operands == 0)" ( (binary_expression "i.operands == 0" (field_expression "i.operands" identifier . field_identifier) == number_literal) )) (compound_statement "{\nLAB_0013303b:\n                    /* WARNING: Subroutine does not return */\n      as_abort("../../gas/config/tc-i386.c",0x1b05,"build_modrm_byte");\n    }" { (labeled_statement "LAB_0013303b:\n                    /* WARNING: Subroutine does not return */\n      as_abort("../../gas/config/tc-i386.c",0x1b05,"build_modrm_byte");" statement_identifier : comment (expression_statement "as_abort("../../gas/config/tc-i386.c",0x1b05,"build_modrm_byte");" (call_expression "as_abort("../../gas/config/tc-i386.c",0x1b05,"build_modrm_byte")" identifier (argument_list "("../../gas/config/tc-i386.c",0x1b05,"build_modrm_byte")" ( (string_literal ""../../gas/config/tc-i386.c"" " string_content ") , number_literal , (string_literal ""build_modrm_byte"" " string_content ") ))) ;)) })) (if_statement "if ((i.types[0].array[0]._2_1_ & 0x5f) == 0) {\n      uVar14 = 1;\n      do {\n        uVar24 = uVar14 & 0xffffffff;\n        if (i.operands <= (uint)uVar14) goto LAB_0013303b;\n        piVar2 = i.types + uVar14;\n        uVar14 = uVar14 + 1;\n      } while (((ulong)*piVar2 & 0x5f0000) == 0);\n    }\n    else {\n      uVar24 = 0;\n    }" if (parenthesized_expression "((i.types[0].array[0]._2_1_ & 0x5f) == 0)" ( (binary_expression "(i.types[0].array[0]._2_1_ & 0x5f) == 0" (parenthesized_expression "(i.types[0].array[0]._2_1_ & 0x5f)" ( (binary_expression "i.types[0].array[0]._2_1_ & 0x5f" (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) )) (compound_statement "{\n      uVar14 = 1;\n      do {\n        uVar24 = uVar14 & 0xffffffff;\n        if (i.operands <= (uint)uVar14) goto LAB_0013303b;\n        piVar2 = i.types + uVar14;\n        uVar14 = uVar14 + 1;\n      } while (((ulong)*piVar2 & 0x5f0000) == 0);\n    }" { (expression_statement "uVar14 = 1;" (assignment_expression "uVar14 = 1" identifier = number_literal) ;) (do_statement "do {\n        uVar24 = uVar14 & 0xffffffff;\n        if (i.operands <= (uint)uVar14) goto LAB_0013303b;\n        piVar2 = i.types + uVar14;\n        uVar14 = uVar14 + 1;\n      } while (((ulong)*piVar2 & 0x5f0000) == 0);" do (compound_statement "{\n        uVar24 = uVar14 & 0xffffffff;\n        if (i.operands <= (uint)uVar14) goto LAB_0013303b;\n        piVar2 = i.types + uVar14;\n        uVar14 = uVar14 + 1;\n      }" { (expression_statement "uVar24 = uVar14 & 0xffffffff;" (assignment_expression "uVar24 = uVar14 & 0xffffffff" identifier = (binary_expression "uVar14 & 0xffffffff" identifier & number_literal)) ;) (if_statement "if (i.operands <= (uint)uVar14) goto LAB_0013303b;" if (parenthesized_expression "(i.operands <= (uint)uVar14)" ( (binary_expression "i.operands <= (uint)uVar14" (field_expression "i.operands" identifier . field_identifier) <= (cast_expression "(uint)uVar14" ( (type_descriptor "uint" type_identifier) ) identifier)) )) (goto_statement "goto LAB_0013303b;" goto statement_identifier ;)) (expression_statement "piVar2 = i.types + uVar14;" (assignment_expression "piVar2 = i.types + uVar14" identifier = (binary_expression "i.types + uVar14" (field_expression "i.types" identifier . field_identifier) + identifier)) ;) (expression_statement "uVar14 = uVar14 + 1;" (assignment_expression "uVar14 = uVar14 + 1" identifier = (binary_expression "uVar14 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(((ulong)*piVar2 & 0x5f0000) == 0)" ( (binary_expression "((ulong)*piVar2 & 0x5f0000) == 0" (parenthesized_expression "((ulong)*piVar2 & 0x5f0000)" ( (binary_expression "(ulong)*piVar2 & 0x5f0000" (binary_expression "(ulong)*piVar2" (parenthesized_expression "(ulong)" ( identifier )) * identifier) & number_literal) )) == number_literal) )) ;) }) (else_clause "else {\n      uVar24 = 0;\n    }" else (compound_statement "{\n      uVar24 = 0;\n    }" { (expression_statement "uVar24 = 0;" (assignment_expression "uVar24 = 0" identifier = number_literal) ;) }))) (expression_statement "bVar23 = uVar9 & 0x30;" (assignment_expression "bVar23 = uVar9 & 0x30" identifier = (binary_expression "uVar9 & 0x30" identifier & number_literal)) ;) (expression_statement "uVar26 = (uint)uVar24;" (assignment_expression "uVar26 = (uint)uVar24" identifier = (cast_expression "(uint)uVar24" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if (bVar23 == 0) {\nLAB_0013313d:\n      if (prVar10 != (reg_entry *)0x0) goto LAB_00133146;\nLAB_00133448:\n      prVar10 = i.index_reg;\n      i.rm.mode = 0;\n      if (i.disp_operands == 0) {\n        if (i.index_reg == (reg_entry *)0x0) {\n          aVar19 = Cpu286;\n          goto LAB_00133cae;\n        }\n        if (bVar23 == 0) {\n          aVar19 = Cpu286;\n          goto LAB_00133af0;\n        }\n        goto LAB_00133a60;\n      }\n      if (i.index_reg != (reg_entry *)0x0) {\n        if (bVar23 == 0) {\n          aVar19 = Cpu186;\nLAB_00133af0:\n          i.sib.index = (uint)(i.index_reg)->reg_num;\n          i.rm.regmem = 4;\n          if ((byte)((i.index_reg)->reg_num + 4) < 2) {\n            i.sib.index = 4;\n          }\n          i.sib.base = 5;\n          i.sib.scale = i.log2_scale_factor;\n          lVar3 = uVar24 * 8;\n          bVar25 = *(byte *)((long)i.types + lVar3 + 2);\n          bVar28 = flag_code == CODE_64BIT;\n          *(byte *)((long)i.types + lVar3 + 2) = bVar25 & 0xec;\n          if ((bVar28) && (i.prefix[2] == '\0')) {\n            *(byte *)((long)i.types + lVar3 + 2) = bVar25 & 0xe0 | 8;\n          }\n          else {\n            *(byte *)((long)i.types + uVar24 * 8 + 2) =\n                 *(byte *)((long)i.types + uVar24 * 8 + 2) & 0xf3 | 4;\n          }\n          puVar15 = ds;\n          if ((prVar10->reg_flags & 1) != 0) {\n            i.rex = i.rex | 2;\n          }\n          goto LAB_00133b80;\n        }\n        goto LAB_00133424;\n      }\n      aVar19 = Cpu186;\nLAB_00133cae:\n      if (bVar23 != 0) {\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/tc-i386.c",0x1b33,"build_modrm_byte");\n      }\n      if (flag_code == CODE_64BIT) {\n        i.rm.regmem = 4;\n        uVar20 = (uint)(i.prefix[2] == '\0');\n        uVar18 = (uint)(i.prefix[2] != '\0');\n        i.sib.base = 5;\n        i.sib.index = 4;\n        iVar13 = 0;\n      }\n      else if ((flag_code == CODE_16BIT) == (i.prefix[2] != '\0')) {\n        i.rm.regmem = 5;\n        uVar20 = 0;\n        uVar18 = 1;\n        iVar13 = 0;\n      }\n      else {\n        i.rm.regmem = 6;\n        uVar20 = 0;\n        uVar18 = 0;\n        iVar13 = 1;\n      }\n      uVar27 = ~anydisp.array[1];\n      i.types[uVar24].array[0] =\n           iVar13 << 0x11 | uVar18 << 0x12 | uVar20 << 0x13 |\n           ~anydisp.array[0] & i.types[uVar24].array[0];\n      puVar15 = ds;\n      puVar1 = (uint *)((long)i.types + uVar24 * 8 + 4);\n      *puVar1 = *puVar1 & uVar27;\nLAB_00133b80:\n      if (aVar19 != Cpu186) goto LAB_00133a67;\n    }\n    else {\n      uVar5 = (i.index_reg)->reg_num;\n      if ((byte)(uVar5 + 4) < 2) {\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/tc-i386.c",0x1b0b,"build_modrm_byte");\n      }\n      i.rm.regmem = 4;\n      if (i.base_reg == (reg_entry *)0x0) {\n        i.sib.base = 5;\n        i.sib.index = 0;\n        i.sib.scale = i.log2_scale_factor;\n        lVar3 = uVar24 * 8;\n        bVar6 = *(byte *)((long)i.types + lVar3 + 2);\n        bVar28 = flag_code == CODE_64BIT;\n        *(byte *)((long)i.types + lVar3 + 2) = bVar6 & 0xec;\n        if ((bVar28) && (i.prefix[2] == '\0')) {\n          *(byte *)((long)i.types + lVar3 + 2) = bVar6 & 0xe0 | 8;\n        }\n        else {\n          *(byte *)((long)i.types + uVar24 * 8 + 2) =\n               *(byte *)((long)i.types + uVar24 * 8 + 2) & 0xf3 | 4;\n        }\n      }\n      i.sib.index._0_1_ = uVar5;\n      i.sib.index._1_3_ = 0;\n      if ((prVar11->reg_flags & 1) != 0) {\n        i.rex = i.rex | 2;\n      }\n      if ((prVar11->reg_flags & 4) == 0) goto LAB_0013313d;\n      i.vrex = i.vrex | 2;\n      if (prVar10 == (reg_entry *)0x0) goto LAB_00133448;\nLAB_00133146:\n      bVar6 = prVar10->reg_num;\n      if (bVar6 < 0xfe) {\n        if (((ulong)prVar10->reg_type & 0x40000000) == 0) {\n          if ((flag_code == CODE_64BIT) && ((*(byte *)((long)i.types + uVar24 * 8 + 2) & 0x1f) != 0)\n             ) {\n            lVar3 = uVar24 * 8;\n            bVar25 = *(byte *)((long)i.types + lVar3 + 2);\n            bVar17 = bVar25 & 0xe1;\n            *(byte *)((long)i.types + lVar3 + 2) = bVar25 & 0xed;\n            if (i.prefix[2] == '\0') {\n              *(byte *)((long)i.types + lVar3 + 2) = bVar17 | 8;\n            }\n            else {\n              *(byte *)((long)i.types + lVar3 + 2) = bVar17 | 4;\n            }\n          }\n          if (bVar23 == 0) {\n            i.rm.regmem = (uint)bVar6;\n          }\n          if ((prVar10->reg_flags & 1) == 0) {\n            puVar15 = ss;\n            if (1 < (byte)(bVar6 - 4)) {\n              puVar15 = ds;\n            }\n          }\n          else {\n            i.rex = i.rex | 1;\n            puVar15 = ds;\n          }\n          i.sib.base = (uint)bVar6;\n          aVar19 = Cpu186;\n          if ((bVar6 == 5) && (aVar19 = Cpu186, i.disp_operands == 0)) {\n            aVar19 = Cpu286;\n            pbVar4 = (byte *)((long)i.types + uVar24 * 8 + 2);\n            *pbVar4 = *pbVar4 | 1;\n          }\n          aVar12 = i.disp_encoding;\n          i.sib.scale = i.log2_scale_factor;\n          if (i.index_reg == (reg_entry *)0x0) {\n            if (bVar23 != 0) {\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1bbf,"build_modrm_byte");\n            }\n            i.sib.index = 4;\n          }\n          else if (bVar23 == 0) {\n            i.rm.regmem = 4;\n            i.sib.index = (uint)(i.index_reg)->reg_num;\n            if ((byte)((i.index_reg)->reg_num + 4) < 2) {\n              i.sib.index = 4;\n            }\n            if (((i.index_reg)->reg_flags & 1) != 0) {\n              i.rex = i.rex | 2;\n            }\n          }\n          if (i.disp_operands == 0) {\n            if ((aVar19 == Cpu186) && (aVar19 = aVar12, i.disp_encoding != Cpu186)) {\n              if (i.disp_encoding == Cpu286) {\n                pbVar4 = (byte *)((long)i.types + uVar24 * 8 + 2);\n                *pbVar4 = *pbVar4 | 1;\n              }\n              else {\n                pbVar4 = (byte *)((long)i.types + uVar24 * 8 + 2);\n                *pbVar4 = *pbVar4 | 4;\n                aVar19 = Cpu286;\n              }\n            }\n          }\n          else if ((i.reloc[uVar24] == BFD_RELOC_386_TLS_DESC_CALL) ||\n                  (i.reloc[uVar24] == BFD_RELOC_X86_64_TLSDESC_CALL)) {\n            i.rm.mode = 0;\n            goto LAB_00133b80;\n          }\n        }\n        else {\n          if (bVar23 != 0) {\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/config/tc-i386.c",0x1b7c,"build_modrm_byte");\n          }\n          if (bVar6 == 3) {\n            if (i.index_reg != (reg_entry *)0x0) {\n              i.rm.regmem = (i.index_reg)->reg_num - 6;\n              goto LAB_0013317e;\n            }\n            i.rm.regmem = 7;\n            puVar15 = ds;\n            aVar19 = Cpu186;\n          }\n          else if (bVar6 == 5) {\n            if (i.index_reg == (reg_entry *)0x0) {\n              puVar15 = ss;\n              i.rm.regmem = 6;\n              aVar19 = Cpu186;\n              if ((*(byte *)((long)i.types + uVar24 * 8 + 2) & 0x1f) == 0) {\n                pbVar4 = (byte *)((long)i.types + uVar24 * 8 + 2);\n                *pbVar4 = *pbVar4 | 1;\n                aVar19 = Cpu286;\n              }\n            }\n            else {\n              i.rm.regmem = (i.index_reg)->reg_num - 4;\n              puVar15 = ss;\n              aVar19 = Cpu186;\n            }\n          }\n          else {\n            i.rm.regmem = bVar6 - 2;\nLAB_0013317e:\n            aVar19 = Cpu186;\n            puVar15 = ds;\n          }\n        }\n        i.rm.mode = 1;\n        if (((ulong)i.types[uVar24] >> 0x10 & 1) == 0) {\n          i.rm.mode = (uint)(((ulong)i.types[uVar24] & 0xe0000) != 0) * 2;\n        }\n        goto LAB_00133b80;\n      }\n      if (bVar23 != 0) {\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/tc-i386.c",0x1b6f,"build_modrm_byte");\n      }\n      i.rm.regmem = 5;\n      *(byte *)((long)i.types + uVar24 * 8 + 2) =\n           *(byte *)((long)i.types + uVar24 * 8 + 2) & 0xe0 | 8;\n      uVar18 = i.disp_operands;\n      i.flags[uVar24] = i.flags[uVar24] | 1;\n      if (uVar18 != 0) {\nLAB_00133424:\n        puVar15 = ds;\n        goto LAB_00133089;\n      }\nLAB_00133a60:\n      puVar15 = ds;\nLAB_00133a67:\n      if (i.op[uVar24].disps != (expressionS *)0x0) {\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/tc-i386.c",0x1bed,"build_modrm_byte");\n      }\n      uVar14 = (ulong)i.disp_operands;\n      i.disp_operands = i.disp_operands + 1;\n      i.op[uVar24].disps = disp_expressions + uVar14;\n      disp_expressions[uVar14].field_0x18 = 2;\n      disp_expressions[uVar14].X_add_number = 0;\n      disp_expressions[uVar14].X_add_symbol = (symbolS *)0x0;\n      disp_expressions[uVar14].X_op_symbol = (symbolS *)0x0;\n    }" if (parenthesized_expression "(bVar23 == 0)" ( (binary_expression "bVar23 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_0013313d:\n      if (prVar10 != (reg_entry *)0x0) goto LAB_00133146;\nLAB_00133448:\n      prVar10 = i.index_reg;\n      i.rm.mode = 0;\n      if (i.disp_operands == 0) {\n        if (i.index_reg == (reg_entry *)0x0) {\n          aVar19 = Cpu286;\n          goto LAB_00133cae;\n        }\n        if (bVar23 == 0) {\n          aVar19 = Cpu286;\n          goto LAB_00133af0;\n        }\n        goto LAB_00133a60;\n      }\n      if (i.index_reg != (reg_entry *)0x0) {\n        if (bVar23 == 0) {\n          aVar19 = Cpu186;\nLAB_00133af0:\n          i.sib.index = (uint)(i.index_reg)->reg_num;\n          i.rm.regmem = 4;\n          if ((byte)((i.index_reg)->reg_num + 4) < 2) {\n            i.sib.index = 4;\n          }\n          i.sib.base = 5;\n          i.sib.scale = i.log2_scale_factor;\n          lVar3 = uVar24 * 8;\n          bVar25 = *(byte *)((long)i.types + lVar3 + 2);\n          bVar28 = flag_code == CODE_64BIT;\n          *(byte *)((long)i.types + lVar3 + 2) = bVar25 & 0xec;\n          if ((bVar28) && (i.prefix[2] == '\0')) {\n            *(byte *)((long)i.types + lVar3 + 2) = bVar25 & 0xe0 | 8;\n          }\n          else {\n            *(byte *)((long)i.types + uVar24 * 8 + 2) =\n                 *(byte *)((long)i.types + uVar24 * 8 + 2) & 0xf3 | 4;\n          }\n          puVar15 = ds;\n          if ((prVar10->reg_flags & 1) != 0) {\n            i.rex = i.rex | 2;\n          }\n          goto LAB_00133b80;\n        }\n        goto LAB_00133424;\n      }\n      aVar19 = Cpu186;\nLAB_00133cae:\n      if (bVar23 != 0) {\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/tc-i386.c",0x1b33,"build_modrm_byte");\n      }\n      if (flag_code == CODE_64BIT) {\n        i.rm.regmem = 4;\n        uVar20 = (uint)(i.prefix[2] == '\0');\n        uVar18 = (uint)(i.prefix[2] != '\0');\n        i.sib.base = 5;\n        i.sib.index = 4;\n        iVar13 = 0;\n      }\n      else if ((flag_code == CODE_16BIT) == (i.prefix[2] != '\0')) {\n        i.rm.regmem = 5;\n        uVar20 = 0;\n        uVar18 = 1;\n        iVar13 = 0;\n      }\n      else {\n        i.rm.regmem = 6;\n        uVar20 = 0;\n        uVar18 = 0;\n        iVar13 = 1;\n      }\n      uVar27 = ~anydisp.array[1];\n      i.types[uVar24].array[0] =\n           iVar13 << 0x11 | uVar18 << 0x12 | uVar20 << 0x13 |\n           ~anydisp.array[0] & i.types[uVar24].array[0];\n      puVar15 = ds;\n      puVar1 = (uint *)((long)i.types + uVar24 * 8 + 4);\n      *puVar1 = *puVar1 & uVar27;\nLAB_00133b80:\n      if (aVar19 != Cpu186) goto LAB_00133a67;\n    }" { (labeled_statement "LAB_0013313d:\n      if (prVar10 != (reg_entry *)0x0) goto LAB_00133146;" statement_identifier : (if_statement "if (prVar10 != (reg_entry *)0x0) goto LAB_00133146;" if (parenthesized_expression "(prVar10 != (reg_entry *)0x0)" ( (binary_expression "prVar10 != (reg_entry *)0x0" identifier != (cast_expression "(reg_entry *)0x0" ( (type_descriptor "reg_entry *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00133146;" goto statement_identifier ;))) (labeled_statement "LAB_00133448:\n      prVar10 = i.index_reg;" statement_identifier : (expression_statement "prVar10 = i.index_reg;" (assignment_expression "prVar10 = i.index_reg" identifier = (field_expression "i.index_reg" identifier . field_identifier)) ;)) (expression_statement "i.rm.mode = 0;" (assignment_expression "i.rm.mode = 0" (field_expression "i.rm.mode" (field_expression "i.rm" identifier . field_identifier) . field_identifier) = number_literal) ;) (if_statement "if (i.disp_operands == 0) {\n        if (i.index_reg == (reg_entry *)0x0) {\n          aVar19 = Cpu286;\n          goto LAB_00133cae;\n        }\n        if (bVar23 == 0) {\n          aVar19 = Cpu286;\n          goto LAB_00133af0;\n        }\n        goto LAB_00133a60;\n      }" if (parenthesized_expression "(i.disp_operands == 0)" ( (binary_expression "i.disp_operands == 0" (field_expression "i.disp_operands" identifier . field_identifier) == number_literal) )) (compound_statement "{\n        if (i.index_reg == (reg_entry *)0x0) {\n          aVar19 = Cpu286;\n          goto LAB_00133cae;\n        }\n        if (bVar23 == 0) {\n          aVar19 = Cpu286;\n          goto LAB_00133af0;\n        }\n        goto LAB_00133a60;\n      }" { (if_statement "if (i.index_reg == (reg_entry *)0x0) {\n          aVar19 = Cpu286;\n          goto LAB_00133cae;\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          aVar19 = Cpu286;\n          goto LAB_00133cae;\n        }" { (expression_statement "aVar19 = Cpu286;" (assignment_expression "aVar19 = Cpu286" identifier = identifier) ;) (goto_statement "goto LAB_00133cae;" goto statement_identifier ;) })) (if_statement "if (bVar23 == 0) {\n          aVar19 = Cpu286;\n          goto LAB_00133af0;\n        }" if (parenthesized_expression "(bVar23 == 0)" ( (binary_expression "bVar23 == 0" identifier == number_literal) )) (compound_statement "{\n          aVar19 = Cpu286;\n          goto LAB_00133af0;\n        }" { (expression_statement "aVar19 = Cpu286;" (assignment_expression "aVar19 = Cpu286" identifier = identifier) ;) (goto_statement "goto LAB_00133af0;" goto statement_identifier ;) })) (goto_statement "goto LAB_00133a60;" goto statement_identifier ;) })) (if_statement "if (i.index_reg != (reg_entry *)0x0) {\n        if (bVar23 == 0) {\n          aVar19 = Cpu186;\nLAB_00133af0:\n          i.sib.index = (uint)(i.index_reg)->reg_num;\n          i.rm.regmem = 4;\n          if ((byte)((i.index_reg)->reg_num + 4) < 2) {\n            i.sib.index = 4;\n          }\n          i.sib.base = 5;\n          i.sib.scale = i.log2_scale_factor;\n          lVar3 = uVar24 * 8;\n          bVar25 = *(byte *)((long)i.types + lVar3 + 2);\n          bVar28 = flag_code == CODE_64BIT;\n          *(byte *)((long)i.types + lVar3 + 2) = bVar25 & 0xec;\n          if ((bVar28) && (i.prefix[2] == '\0')) {\n            *(byte *)((long)i.types + lVar3 + 2) = bVar25 & 0xe0 | 8;\n          }\n          else {\n            *(byte *)((long)i.types + uVar24 * 8 + 2) =\n                 *(byte *)((long)i.types + uVar24 * 8 + 2) & 0xf3 | 4;\n          }\n          puVar15 = ds;\n          if ((prVar10->reg_flags & 1) != 0) {\n            i.rex = i.rex | 2;\n          }\n          goto LAB_00133b80;\n        }\n        goto LAB_00133424;\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 (bVar23 == 0) {\n          aVar19 = Cpu186;\nLAB_00133af0:\n          i.sib.index = (uint)(i.index_reg)->reg_num;\n          i.rm.regmem = 4;\n          if ((byte)((i.index_reg)->reg_num + 4) < 2) {\n            i.sib.index = 4;\n          }\n          i.sib.base = 5;\n          i.sib.scale = i.log2_scale_factor;\n          lVar3 = uVar24 * 8;\n          bVar25 = *(byte *)((long)i.types + lVar3 + 2);\n          bVar28 = flag_code == CODE_64BIT;\n          *(byte *)((long)i.types + lVar3 + 2) = bVar25 & 0xec;\n          if ((bVar28) && (i.prefix[2] == '\0')) {\n            *(byte *)((long)i.types + lVar3 + 2) = bVar25 & 0xe0 | 8;\n          }\n          else {\n            *(byte *)((long)i.types + uVar24 * 8 + 2) =\n                 *(byte *)((long)i.types + uVar24 * 8 + 2) & 0xf3 | 4;\n          }\n          puVar15 = ds;\n          if ((prVar10->reg_flags & 1) != 0) {\n            i.rex = i.rex | 2;\n          }\n          goto LAB_00133b80;\n        }\n        goto LAB_00133424;\n      }" { (if_statement "if (bVar23 == 0) {\n          aVar19 = Cpu186;\nLAB_00133af0:\n          i.sib.index = (uint)(i.index_reg)->reg_num;\n          i.rm.regmem = 4;\n          if ((byte)((i.index_reg)->reg_num + 4) < 2) {\n            i.sib.index = 4;\n          }\n          i.sib.base = 5;\n          i.sib.scale = i.log2_scale_factor;\n          lVar3 = uVar24 * 8;\n          bVar25 = *(byte *)((long)i.types + lVar3 + 2);\n          bVar28 = flag_code == CODE_64BIT;\n          *(byte *)((long)i.types + lVar3 + 2) = bVar25 & 0xec;\n          if ((bVar28) && (i.prefix[2] == '\0')) {\n            *(byte *)((long)i.types + lVar3 + 2) = bVar25 & 0xe0 | 8;\n          }\n          else {\n            *(byte *)((long)i.types + uVar24 * 8 + 2) =\n                 *(byte *)((long)i.types + uVar24 * 8 + 2) & 0xf3 | 4;\n          }\n          puVar15 = ds;\n          if ((prVar10->reg_flags & 1) != 0) {\n            i.rex = i.rex | 2;\n          }\n          goto LAB_00133b80;\n        }" if (parenthesized_expression "(bVar23 == 0)" ( (binary_expression "bVar23 == 0" identifier == number_literal) )) (compound_statement "{\n          aVar19 = Cpu186;\nLAB_00133af0:\n          i.sib.index = (uint)(i.index_reg)->reg_num;\n          i.rm.regmem = 4;\n          if ((byte)((i.index_reg)->reg_num + 4) < 2) {\n            i.sib.index = 4;\n          }\n          i.sib.base = 5;\n          i.sib.scale = i.log2_scale_factor;\n          lVar3 = uVar24 * 8;\n          bVar25 = *(byte *)((long)i.types + lVar3 + 2);\n          bVar28 = flag_code == CODE_64BIT;\n          *(byte *)((long)i.types + lVar3 + 2) = bVar25 & 0xec;\n          if ((bVar28) && (i.prefix[2] == '\0')) {\n            *(byte *)((long)i.types + lVar3 + 2) = bVar25 & 0xe0 | 8;\n          }\n          else {\n            *(byte *)((long)i.types + uVar24 * 8 + 2) =\n                 *(byte *)((long)i.types + uVar24 * 8 + 2) & 0xf3 | 4;\n          }\n          puVar15 = ds;\n          if ((prVar10->reg_flags & 1) != 0) {\n            i.rex = i.rex | 2;\n          }\n          goto LAB_00133b80;\n        }" { (expression_statement "aVar19 = Cpu186;" (assignment_expression "aVar19 = Cpu186" identifier = identifier) ;) (labeled_statement "LAB_00133af0:\n          i.sib.index = (uint)(i.index_reg)->reg_num;" statement_identifier : (expression_statement "i.sib.index = (uint)(i.index_reg)->reg_num;" (assignment_expression "i.sib.index = (uint)(i.index_reg)->reg_num" (field_expression "i.sib.index" (field_expression "i.sib" identifier . field_identifier) . field_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)) ;)) (expression_statement "i.rm.regmem = 4;" (assignment_expression "i.rm.regmem = 4" (field_expression "i.rm.regmem" (field_expression "i.rm" identifier . field_identifier) . field_identifier) = number_literal) ;) (if_statement "if ((byte)((i.index_reg)->reg_num + 4) < 2) {\n            i.sib.index = 4;\n          }" if (parenthesized_expression "((byte)((i.index_reg)->reg_num + 4) < 2)" ( (binary_expression "(byte)((i.index_reg)->reg_num + 4) < 2" (call_expression "(byte)((i.index_reg)->reg_num + 4)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "((i.index_reg)->reg_num + 4)" ( (binary_expression "(i.index_reg)->reg_num + 4" (field_expression "(i.index_reg)->reg_num" (parenthesized_expression "(i.index_reg)" ( (field_expression "i.index_reg" identifier . field_identifier) )) -> field_identifier) + number_literal) ))) < number_literal) )) (compound_statement "{\n            i.sib.index = 4;\n          }" { (expression_statement "i.sib.index = 4;" (assignment_expression "i.sib.index = 4" (field_expression "i.sib.index" (field_expression "i.sib" identifier . field_identifier) . field_identifier) = number_literal) ;) })) (expression_statement "i.sib.base = 5;" (assignment_expression "i.sib.base = 5" (field_expression "i.sib.base" (field_expression "i.sib" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "i.sib.scale = i.log2_scale_factor;" (assignment_expression "i.sib.scale = i.log2_scale_factor" (field_expression "i.sib.scale" (field_expression "i.sib" identifier . field_identifier) . field_identifier) = (field_expression "i.log2_scale_factor" identifier . field_identifier)) ;) (expression_statement "lVar3 = uVar24 * 8;" (assignment_expression "lVar3 = uVar24 * 8" identifier = (binary_expression "uVar24 * 8" identifier * number_literal)) ;) (expression_statement "bVar25 = *(byte *)((long)i.types + lVar3 + 2);" (assignment_expression "bVar25 = *(byte *)((long)i.types + lVar3 + 2)" identifier = (pointer_expression "*(byte *)((long)i.types + lVar3 + 2)" * (cast_expression "(byte *)((long)i.types + lVar3 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)i.types + lVar3 + 2)" ( (binary_expression "(long)i.types + lVar3 + 2" (binary_expression "(long)i.types + lVar3" (cast_expression "(long)i.types" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (field_expression "i.types" identifier . field_identifier)) + identifier) + number_literal) ))))) ;) (expression_statement "bVar28 = flag_code == CODE_64BIT;" (assignment_expression "bVar28 = flag_code == CODE_64BIT" identifier = (binary_expression "flag_code == CODE_64BIT" identifier == identifier)) ;) (expression_statement "*(byte *)((long)i.types + lVar3 + 2) = bVar25 & 0xec;" (assignment_expression "*(byte *)((long)i.types + lVar3 + 2) = bVar25 & 0xec" (pointer_expression "*(byte *)((long)i.types + lVar3 + 2)" * (cast_expression "(byte *)((long)i.types + lVar3 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)i.types + lVar3 + 2)" ( (binary_expression "(long)i.types + lVar3 + 2" (binary_expression "(long)i.types + lVar3" (cast_expression "(long)i.types" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (field_expression "i.types" identifier . field_identifier)) + identifier) + number_literal) )))) = (binary_expression "bVar25 & 0xec" identifier & number_literal)) ;) (if_statement "if ((bVar28) && (i.prefix[2] == '\0')) {\n            *(byte *)((long)i.types + lVar3 + 2) = bVar25 & 0xe0 | 8;\n          }\n          else {\n            *(byte *)((long)i.types + uVar24 * 8 + 2) =\n                 *(byte *)((long)i.types + uVar24 * 8 + 2) & 0xf3 | 4;\n          }" if (parenthesized_expression "((bVar28) && (i.prefix[2] == '\0'))" ( (binary_expression "(bVar28) && (i.prefix[2] == '\0')" (parenthesized_expression "(bVar28)" ( identifier )) && (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            *(byte *)((long)i.types + lVar3 + 2) = bVar25 & 0xe0 | 8;\n          }" { (expression_statement "*(byte *)((long)i.types + lVar3 + 2) = bVar25 & 0xe0 | 8;" (assignment_expression "*(byte *)((long)i.types + lVar3 + 2) = bVar25 & 0xe0 | 8" (pointer_expression "*(byte *)((long)i.types + lVar3 + 2)" * (cast_expression "(byte *)((long)i.types + lVar3 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)i.types + lVar3 + 2)" ( (binary_expression "(long)i.types + lVar3 + 2" (binary_expression "(long)i.types + lVar3" (cast_expression "(long)i.types" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (field_expression "i.types" identifier . field_identifier)) + identifier) + number_literal) )))) = (binary_expression "bVar25 & 0xe0 | 8" (binary_expression "bVar25 & 0xe0" identifier & number_literal) | number_literal)) ;) }) (else_clause "else {\n            *(byte *)((long)i.types + uVar24 * 8 + 2) =\n                 *(byte *)((long)i.types + uVar24 * 8 + 2) & 0xf3 | 4;\n          }" else (compound_statement "{\n            *(byte *)((long)i.types + uVar24 * 8 + 2) =\n                 *(byte *)((long)i.types + uVar24 * 8 + 2) & 0xf3 | 4;\n          }" { (expression_statement "*(byte *)((long)i.types + uVar24 * 8 + 2) =\n                 *(byte *)((long)i.types + uVar24 * 8 + 2) & 0xf3 | 4;" (assignment_expression "*(byte *)((long)i.types + uVar24 * 8 + 2) =\n                 *(byte *)((long)i.types + uVar24 * 8 + 2) & 0xf3 | 4" (pointer_expression "*(byte *)((long)i.types + uVar24 * 8 + 2)" * (cast_expression "(byte *)((long)i.types + uVar24 * 8 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)i.types + uVar24 * 8 + 2)" ( (binary_expression "(long)i.types + uVar24 * 8 + 2" (binary_expression "(long)i.types + uVar24 * 8" (cast_expression "(long)i.types" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (field_expression "i.types" identifier . field_identifier)) + (binary_expression "uVar24 * 8" identifier * number_literal)) + number_literal) )))) = (binary_expression "*(byte *)((long)i.types + uVar24 * 8 + 2) & 0xf3 | 4" (binary_expression "*(byte *)((long)i.types + uVar24 * 8 + 2) & 0xf3" (pointer_expression "*(byte *)((long)i.types + uVar24 * 8 + 2)" * (cast_expression "(byte *)((long)i.types + uVar24 * 8 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)i.types + uVar24 * 8 + 2)" ( (binary_expression "(long)i.types + uVar24 * 8 + 2" (binary_expression "(long)i.types + uVar24 * 8" (cast_expression "(long)i.types" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (field_expression "i.types" identifier . field_identifier)) + (binary_expression "uVar24 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) | number_literal)) ;) }))) (expression_statement "puVar15 = ds;" (assignment_expression "puVar15 = ds" identifier = identifier) ;) (if_statement "if ((prVar10->reg_flags & 1) != 0) {\n            i.rex = i.rex | 2;\n          }" if (parenthesized_expression "((prVar10->reg_flags & 1) != 0)" ( (binary_expression "(prVar10->reg_flags & 1) != 0" (parenthesized_expression "(prVar10->reg_flags & 1)" ( (binary_expression "prVar10->reg_flags & 1" (field_expression "prVar10->reg_flags" identifier -> field_identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n            i.rex = i.rex | 2;\n          }" { (expression_statement "i.rex = i.rex | 2;" (assignment_expression "i.rex = i.rex | 2" (field_expression "i.rex" identifier . field_identifier) = (binary_expression "i.rex | 2" (field_expression "i.rex" identifier . field_identifier) | number_literal)) ;) })) (goto_statement "goto LAB_00133b80;" goto statement_identifier ;) })) (goto_statement "goto LAB_00133424;" goto statement_identifier ;) })) (expression_statement "aVar19 = Cpu186;" (assignment_expression "aVar19 = Cpu186" identifier = identifier) ;) (labeled_statement "LAB_00133cae:\n      if (bVar23 != 0) {\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/tc-i386.c",0x1b33,"build_modrm_byte");\n      }" statement_identifier : (if_statement "if (bVar23 != 0) {\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/tc-i386.c",0x1b33,"build_modrm_byte");\n      }" if (parenthesized_expression "(bVar23 != 0)" ( (binary_expression "bVar23 != 0" identifier != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/tc-i386.c",0x1b33,"build_modrm_byte");\n      }" { comment (expression_statement "as_abort("../../gas/config/tc-i386.c",0x1b33,"build_modrm_byte");" (call_expression "as_abort("../../gas/config/tc-i386.c",0x1b33,"build_modrm_byte")" identifier (argument_list "("../../gas/config/tc-i386.c",0x1b33,"build_modrm_byte")" ( (string_literal ""../../gas/config/tc-i386.c"" " string_content ") , number_literal , (string_literal ""build_modrm_byte"" " string_content ") ))) ;) }))) (if_statement "if (flag_code == CODE_64BIT) {\n        i.rm.regmem = 4;\n        uVar20 = (uint)(i.prefix[2] == '\0');\n        uVar18 = (uint)(i.prefix[2] != '\0');\n        i.sib.base = 5;\n        i.sib.index = 4;\n        iVar13 = 0;\n      }\n      else if ((flag_code == CODE_16BIT) == (i.prefix[2] != '\0')) {\n        i.rm.regmem = 5;\n        uVar20 = 0;\n        uVar18 = 1;\n        iVar13 = 0;\n      }\n      else {\n        i.rm.regmem = 6;\n        uVar20 = 0;\n        uVar18 = 0;\n        iVar13 = 1;\n      }" if (parenthesized_expression "(flag_code == CODE_64BIT)" ( (binary_expression "flag_code == CODE_64BIT" identifier == identifier) )) (compound_statement "{\n        i.rm.regmem = 4;\n        uVar20 = (uint)(i.prefix[2] == '\0');\n        uVar18 = (uint)(i.prefix[2] != '\0');\n        i.sib.base = 5;\n        i.sib.index = 4;\n        iVar13 = 0;\n      }" { (expression_statement "i.rm.regmem = 4;" (assignment_expression "i.rm.regmem = 4" (field_expression "i.rm.regmem" (field_expression "i.rm" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "uVar20 = (uint)(i.prefix[2] == '\0');" (assignment_expression "uVar20 = (uint)(i.prefix[2] == '\0')" identifier = (call_expression "(uint)(i.prefix[2] == '\0')" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(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 ')) )))) ;) (expression_statement "uVar18 = (uint)(i.prefix[2] != '\0');" (assignment_expression "uVar18 = (uint)(i.prefix[2] != '\0')" identifier = (call_expression "(uint)(i.prefix[2] != '\0')" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(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 ')) )))) ;) (expression_statement "i.sib.base = 5;" (assignment_expression "i.sib.base = 5" (field_expression "i.sib.base" (field_expression "i.sib" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "i.sib.index = 4;" (assignment_expression "i.sib.index = 4" (field_expression "i.sib.index" (field_expression "i.sib" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "iVar13 = 0;" (assignment_expression "iVar13 = 0" identifier = number_literal) ;) }) (else_clause "else if ((flag_code == CODE_16BIT) == (i.prefix[2] != '\0')) {\n        i.rm.regmem = 5;\n        uVar20 = 0;\n        uVar18 = 1;\n        iVar13 = 0;\n      }\n      else {\n        i.rm.regmem = 6;\n        uVar20 = 0;\n        uVar18 = 0;\n        iVar13 = 1;\n      }" else (if_statement "if ((flag_code == CODE_16BIT) == (i.prefix[2] != '\0')) {\n        i.rm.regmem = 5;\n        uVar20 = 0;\n        uVar18 = 1;\n        iVar13 = 0;\n      }\n      else {\n        i.rm.regmem = 6;\n        uVar20 = 0;\n        uVar18 = 0;\n        iVar13 = 1;\n      }" if (parenthesized_expression "((flag_code == CODE_16BIT) == (i.prefix[2] != '\0'))" ( (binary_expression "(flag_code == CODE_16BIT) == (i.prefix[2] != '\0')" (parenthesized_expression "(flag_code == CODE_16BIT)" ( (binary_expression "flag_code == CODE_16BIT" identifier == identifier) )) == (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        i.rm.regmem = 5;\n        uVar20 = 0;\n        uVar18 = 1;\n        iVar13 = 0;\n      }" { (expression_statement "i.rm.regmem = 5;" (assignment_expression "i.rm.regmem = 5" (field_expression "i.rm.regmem" (field_expression "i.rm" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "uVar20 = 0;" (assignment_expression "uVar20 = 0" identifier = number_literal) ;) (expression_statement "uVar18 = 1;" (assignment_expression "uVar18 = 1" identifier = number_literal) ;) (expression_statement "iVar13 = 0;" (assignment_expression "iVar13 = 0" identifier = number_literal) ;) }) (else_clause "else {\n        i.rm.regmem = 6;\n        uVar20 = 0;\n        uVar18 = 0;\n        iVar13 = 1;\n      }" else (compound_statement "{\n        i.rm.regmem = 6;\n        uVar20 = 0;\n        uVar18 = 0;\n        iVar13 = 1;\n      }" { (expression_statement "i.rm.regmem = 6;" (assignment_expression "i.rm.regmem = 6" (field_expression "i.rm.regmem" (field_expression "i.rm" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "uVar20 = 0;" (assignment_expression "uVar20 = 0" identifier = number_literal) ;) (expression_statement "uVar18 = 0;" (assignment_expression "uVar18 = 0" identifier = number_literal) ;) (expression_statement "iVar13 = 1;" (assignment_expression "iVar13 = 1" identifier = number_literal) ;) }))))) (expression_statement "uVar27 = ~anydisp.array[1];" (assignment_expression "uVar27 = ~anydisp.array[1]" identifier = (unary_expression "~anydisp.array[1]" ~ (subscript_expression "anydisp.array[1]" (field_expression "anydisp.array" identifier . field_identifier) [ number_literal ]))) ;) (expression_statement "i.types[uVar24].array[0] =\n           iVar13 << 0x11 | uVar18 << 0x12 | uVar20 << 0x13 |\n           ~anydisp.array[0] & i.types[uVar24].array[0];" (assignment_expression "i.types[uVar24].array[0] =\n           iVar13 << 0x11 | uVar18 << 0x12 | uVar20 << 0x13 |\n           ~anydisp.array[0] & i.types[uVar24].array[0]" (subscript_expression "i.types[uVar24].array[0]" (field_expression "i.types[uVar24].array" (subscript_expression "i.types[uVar24]" (field_expression "i.types" identifier . field_identifier) [ identifier ]) . field_identifier) [ number_literal ]) = (binary_expression "iVar13 << 0x11 | uVar18 << 0x12 | uVar20 << 0x13 |\n           ~anydisp.array[0] & i.types[uVar24].array[0]" (binary_expression "iVar13 << 0x11 | uVar18 << 0x12 | uVar20 << 0x13" (binary_expression "iVar13 << 0x11 | uVar18 << 0x12" (binary_expression "iVar13 << 0x11" identifier << number_literal) | (binary_expression "uVar18 << 0x12" identifier << number_literal)) | (binary_expression "uVar20 << 0x13" identifier << number_literal)) | (binary_expression "~anydisp.array[0] & i.types[uVar24].array[0]" (unary_expression "~anydisp.array[0]" ~ (subscript_expression "anydisp.array[0]" (field_expression "anydisp.array" identifier . field_identifier) [ number_literal ])) & (subscript_expression "i.types[uVar24].array[0]" (field_expression "i.types[uVar24].array" (subscript_expression "i.types[uVar24]" (field_expression "i.types" identifier . field_identifier) [ identifier ]) . field_identifier) [ number_literal ])))) ;) (expression_statement "puVar15 = ds;" (assignment_expression "puVar15 = ds" identifier = identifier) ;) (expression_statement "puVar1 = (uint *)((long)i.types + uVar24 * 8 + 4);" (assignment_expression "puVar1 = (uint *)((long)i.types + uVar24 * 8 + 4)" identifier = (cast_expression "(uint *)((long)i.types + uVar24 * 8 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)i.types + uVar24 * 8 + 4)" ( (binary_expression "(long)i.types + uVar24 * 8 + 4" (binary_expression "(long)i.types + uVar24 * 8" (cast_expression "(long)i.types" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (field_expression "i.types" identifier . field_identifier)) + (binary_expression "uVar24 * 8" identifier * number_literal)) + number_literal) )))) ;) (expression_statement "*puVar1 = *puVar1 & uVar27;" (assignment_expression "*puVar1 = *puVar1 & uVar27" (pointer_expression "*puVar1" * identifier) = (binary_expression "*puVar1 & uVar27" (pointer_expression "*puVar1" * identifier) & identifier)) ;) (labeled_statement "LAB_00133b80:\n      if (aVar19 != Cpu186) goto LAB_00133a67;" statement_identifier : (if_statement "if (aVar19 != Cpu186) goto LAB_00133a67;" if (parenthesized_expression "(aVar19 != Cpu186)" ( (binary_expression "aVar19 != Cpu186" identifier != identifier) )) (goto_statement "goto LAB_00133a67;" goto statement_identifier ;))) }) (else_clause "else {\n      uVar5 = (i.index_reg)->reg_num;\n      if ((byte)(uVar5 + 4) < 2) {\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/tc-i386.c",0x1b0b,"build_modrm_byte");\n      }\n      i.rm.regmem = 4;\n      if (i.base_reg == (reg_entry *)0x0) {\n        i.sib.base = 5;\n        i.sib.index = 0;\n        i.sib.scale = i.log2_scale_factor;\n        lVar3 = uVar24 * 8;\n        bVar6 = *(byte *)((long)i.types + lVar3 + 2);\n        bVar28 = flag_code == CODE_64BIT;\n        *(byte *)((long)i.types + lVar3 + 2) = bVar6 & 0xec;\n        if ((bVar28) && (i.prefix[2] == '\0')) {\n          *(byte *)((long)i.types + lVar3 + 2) = bVar6 & 0xe0 | 8;\n        }\n        else {\n          *(byte *)((long)i.types + uVar24 * 8 + 2) =\n               *(byte *)((long)i.types + uVar24 * 8 + 2) & 0xf3 | 4;\n        }\n      }\n      i.sib.index._0_1_ = uVar5;\n      i.sib.index._1_3_ = 0;\n      if ((prVar11->reg_flags & 1) != 0) {\n        i.rex = i.rex | 2;\n      }\n      if ((prVar11->reg_flags & 4) == 0) goto LAB_0013313d;\n      i.vrex = i.vrex | 2;\n      if (prVar10 == (reg_entry *)0x0) goto LAB_00133448;\nLAB_00133146:\n      bVar6 = prVar10->reg_num;\n      if (bVar6 < 0xfe) {\n        if (((ulong)prVar10->reg_type & 0x40000000) == 0) {\n          if ((flag_code == CODE_64BIT) && ((*(byte *)((long)i.types + uVar24 * 8 + 2) & 0x1f) != 0)\n             ) {\n            lVar3 = uVar24 * 8;\n            bVar25 = *(byte *)((long)i.types + lVar3 + 2);\n            bVar17 = bVar25 & 0xe1;\n            *(byte *)((long)i.types + lVar3 + 2) = bVar25 & 0xed;\n            if (i.prefix[2] == '\0') {\n              *(byte *)((long)i.types + lVar3 + 2) = bVar17 | 8;\n            }\n            else {\n              *(byte *)((long)i.types + lVar3 + 2) = bVar17 | 4;\n            }\n          }\n          if (bVar23 == 0) {\n            i.rm.regmem = (uint)bVar6;\n          }\n          if ((prVar10->reg_flags & 1) == 0) {\n            puVar15 = ss;\n            if (1 < (byte)(bVar6 - 4)) {\n              puVar15 = ds;\n            }\n          }\n          else {\n            i.rex = i.rex | 1;\n            puVar15 = ds;\n          }\n          i.sib.base = (uint)bVar6;\n          aVar19 = Cpu186;\n          if ((bVar6 == 5) && (aVar19 = Cpu186, i.disp_operands == 0)) {\n            aVar19 = Cpu286;\n            pbVar4 = (byte *)((long)i.types + uVar24 * 8 + 2);\n            *pbVar4 = *pbVar4 | 1;\n          }\n          aVar12 = i.disp_encoding;\n          i.sib.scale = i.log2_scale_factor;\n          if (i.index_reg == (reg_entry *)0x0) {\n            if (bVar23 != 0) {\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1bbf,"build_modrm_byte");\n            }\n            i.sib.index = 4;\n          }\n          else if (bVar23 == 0) {\n            i.rm.regmem = 4;\n            i.sib.index = (uint)(i.index_reg)->reg_num;\n            if ((byte)((i.index_reg)->reg_num + 4) < 2) {\n              i.sib.index = 4;\n            }\n            if (((i.index_reg)->reg_flags & 1) != 0) {\n              i.rex = i.rex | 2;\n            }\n          }\n          if (i.disp_operands == 0) {\n            if ((aVar19 == Cpu186) && (aVar19 = aVar12, i.disp_encoding != Cpu186)) {\n              if (i.disp_encoding == Cpu286) {\n                pbVar4 = (byte *)((long)i.types + uVar24 * 8 + 2);\n                *pbVar4 = *pbVar4 | 1;\n              }\n              else {\n                pbVar4 = (byte *)((long)i.types + uVar24 * 8 + 2);\n                *pbVar4 = *pbVar4 | 4;\n                aVar19 = Cpu286;\n              }\n            }\n          }\n          else if ((i.reloc[uVar24] == BFD_RELOC_386_TLS_DESC_CALL) ||\n                  (i.reloc[uVar24] == BFD_RELOC_X86_64_TLSDESC_CALL)) {\n            i.rm.mode = 0;\n            goto LAB_00133b80;\n          }\n        }\n        else {\n          if (bVar23 != 0) {\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/config/tc-i386.c",0x1b7c,"build_modrm_byte");\n          }\n          if (bVar6 == 3) {\n            if (i.index_reg != (reg_entry *)0x0) {\n              i.rm.regmem = (i.index_reg)->reg_num - 6;\n              goto LAB_0013317e;\n            }\n            i.rm.regmem = 7;\n            puVar15 = ds;\n            aVar19 = Cpu186;\n          }\n          else if (bVar6 == 5) {\n            if (i.index_reg == (reg_entry *)0x0) {\n              puVar15 = ss;\n              i.rm.regmem = 6;\n              aVar19 = Cpu186;\n              if ((*(byte *)((long)i.types + uVar24 * 8 + 2) & 0x1f) == 0) {\n                pbVar4 = (byte *)((long)i.types + uVar24 * 8 + 2);\n                *pbVar4 = *pbVar4 | 1;\n                aVar19 = Cpu286;\n              }\n            }\n            else {\n              i.rm.regmem = (i.index_reg)->reg_num - 4;\n              puVar15 = ss;\n              aVar19 = Cpu186;\n            }\n          }\n          else {\n            i.rm.regmem = bVar6 - 2;\nLAB_0013317e:\n            aVar19 = Cpu186;\n            puVar15 = ds;\n          }\n        }\n        i.rm.mode = 1;\n        if (((ulong)i.types[uVar24] >> 0x10 & 1) == 0) {\n          i.rm.mode = (uint)(((ulong)i.types[uVar24] & 0xe0000) != 0) * 2;\n        }\n        goto LAB_00133b80;\n      }\n      if (bVar23 != 0) {\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/tc-i386.c",0x1b6f,"build_modrm_byte");\n      }\n      i.rm.regmem = 5;\n      *(byte *)((long)i.types + uVar24 * 8 + 2) =\n           *(byte *)((long)i.types + uVar24 * 8 + 2) & 0xe0 | 8;\n      uVar18 = i.disp_operands;\n      i.flags[uVar24] = i.flags[uVar24] | 1;\n      if (uVar18 != 0) {\nLAB_00133424:\n        puVar15 = ds;\n        goto LAB_00133089;\n      }\nLAB_00133a60:\n      puVar15 = ds;\nLAB_00133a67:\n      if (i.op[uVar24].disps != (expressionS *)0x0) {\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/tc-i386.c",0x1bed,"build_modrm_byte");\n      }\n      uVar14 = (ulong)i.disp_operands;\n      i.disp_operands = i.disp_operands + 1;\n      i.op[uVar24].disps = disp_expressions + uVar14;\n      disp_expressions[uVar14].field_0x18 = 2;\n      disp_expressions[uVar14].X_add_number = 0;\n      disp_expressions[uVar14].X_add_symbol = (symbolS *)0x0;\n      disp_expressions[uVar14].X_op_symbol = (symbolS *)0x0;\n    }" else (compound_statement "{\n      uVar5 = (i.index_reg)->reg_num;\n      if ((byte)(uVar5 + 4) < 2) {\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/tc-i386.c",0x1b0b,"build_modrm_byte");\n      }\n      i.rm.regmem = 4;\n      if (i.base_reg == (reg_entry *)0x0) {\n        i.sib.base = 5;\n        i.sib.index = 0;\n        i.sib.scale = i.log2_scale_factor;\n        lVar3 = uVar24 * 8;\n        bVar6 = *(byte *)((long)i.types + lVar3 + 2);\n        bVar28 = flag_code == CODE_64BIT;\n        *(byte *)((long)i.types + lVar3 + 2) = bVar6 & 0xec;\n        if ((bVar28) && (i.prefix[2] == '\0')) {\n          *(byte *)((long)i.types + lVar3 + 2) = bVar6 & 0xe0 | 8;\n        }\n        else {\n          *(byte *)((long)i.types + uVar24 * 8 + 2) =\n               *(byte *)((long)i.types + uVar24 * 8 + 2) & 0xf3 | 4;\n        }\n      }\n      i.sib.index._0_1_ = uVar5;\n      i.sib.index._1_3_ = 0;\n      if ((prVar11->reg_flags & 1) != 0) {\n        i.rex = i.rex | 2;\n      }\n      if ((prVar11->reg_flags & 4) == 0) goto LAB_0013313d;\n      i.vrex = i.vrex | 2;\n      if (prVar10 == (reg_entry *)0x0) goto LAB_00133448;\nLAB_00133146:\n      bVar6 = prVar10->reg_num;\n      if (bVar6 < 0xfe) {\n        if (((ulong)prVar10->reg_type & 0x40000000) == 0) {\n          if ((flag_code == CODE_64BIT) && ((*(byte *)((long)i.types + uVar24 * 8 + 2) & 0x1f) != 0)\n             ) {\n            lVar3 = uVar24 * 8;\n            bVar25 = *(byte *)((long)i.types + lVar3 + 2);\n            bVar17 = bVar25 & 0xe1;\n            *(byte *)((long)i.types + lVar3 + 2) = bVar25 & 0xed;\n            if (i.prefix[2] == '\0') {\n              *(byte *)((long)i.types + lVar3 + 2) = bVar17 | 8;\n            }\n            else {\n              *(byte *)((long)i.types + lVar3 + 2) = bVar17 | 4;\n            }\n          }\n          if (bVar23 == 0) {\n            i.rm.regmem = (uint)bVar6;\n          }\n          if ((prVar10->reg_flags & 1) == 0) {\n            puVar15 = ss;\n            if (1 < (byte)(bVar6 - 4)) {\n              puVar15 = ds;\n            }\n          }\n          else {\n            i.rex = i.rex | 1;\n            puVar15 = ds;\n          }\n          i.sib.base = (uint)bVar6;\n          aVar19 = Cpu186;\n          if ((bVar6 == 5) && (aVar19 = Cpu186, i.disp_operands == 0)) {\n            aVar19 = Cpu286;\n            pbVar4 = (byte *)((long)i.types + uVar24 * 8 + 2);\n            *pbVar4 = *pbVar4 | 1;\n          }\n          aVar12 = i.disp_encoding;\n          i.sib.scale = i.log2_scale_factor;\n          if (i.index_reg == (reg_entry *)0x0) {\n            if (bVar23 != 0) {\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1bbf,"build_modrm_byte");\n            }\n            i.sib.index = 4;\n          }\n          else if (bVar23 == 0) {\n            i.rm.regmem = 4;\n            i.sib.index = (uint)(i.index_reg)->reg_num;\n            if ((byte)((i.index_reg)->reg_num + 4) < 2) {\n              i.sib.index = 4;\n            }\n            if (((i.index_reg)->reg_flags & 1) != 0) {\n              i.rex = i.rex | 2;\n            }\n          }\n          if (i.disp_operands == 0) {\n            if ((aVar19 == Cpu186) && (aVar19 = aVar12, i.disp_encoding != Cpu186)) {\n              if (i.disp_encoding == Cpu286) {\n                pbVar4 = (byte *)((long)i.types + uVar24 * 8 + 2);\n                *pbVar4 = *pbVar4 | 1;\n              }\n              else {\n                pbVar4 = (byte *)((long)i.types + uVar24 * 8 + 2);\n                *pbVar4 = *pbVar4 | 4;\n                aVar19 = Cpu286;\n              }\n            }\n          }\n          else if ((i.reloc[uVar24] == BFD_RELOC_386_TLS_DESC_CALL) ||\n                  (i.reloc[uVar24] == BFD_RELOC_X86_64_TLSDESC_CALL)) {\n            i.rm.mode = 0;\n            goto LAB_00133b80;\n          }\n        }\n        else {\n          if (bVar23 != 0) {\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/config/tc-i386.c",0x1b7c,"build_modrm_byte");\n          }\n          if (bVar6 == 3) {\n            if (i.index_reg != (reg_entry *)0x0) {\n              i.rm.regmem = (i.index_reg)->reg_num - 6;\n              goto LAB_0013317e;\n            }\n            i.rm.regmem = 7;\n            puVar15 = ds;\n            aVar19 = Cpu186;\n          }\n          else if (bVar6 == 5) {\n            if (i.index_reg == (reg_entry *)0x0) {\n              puVar15 = ss;\n              i.rm.regmem = 6;\n              aVar19 = Cpu186;\n              if ((*(byte *)((long)i.types + uVar24 * 8 + 2) & 0x1f) == 0) {\n                pbVar4 = (byte *)((long)i.types + uVar24 * 8 + 2);\n                *pbVar4 = *pbVar4 | 1;\n                aVar19 = Cpu286;\n              }\n            }\n            else {\n              i.rm.regmem = (i.index_reg)->reg_num - 4;\n              puVar15 = ss;\n              aVar19 = Cpu186;\n            }\n          }\n          else {\n            i.rm.regmem = bVar6 - 2;\nLAB_0013317e:\n            aVar19 = Cpu186;\n            puVar15 = ds;\n          }\n        }\n        i.rm.mode = 1;\n        if (((ulong)i.types[uVar24] >> 0x10 & 1) == 0) {\n          i.rm.mode = (uint)(((ulong)i.types[uVar24] & 0xe0000) != 0) * 2;\n        }\n        goto LAB_00133b80;\n      }\n      if (bVar23 != 0) {\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/tc-i386.c",0x1b6f,"build_modrm_byte");\n      }\n      i.rm.regmem = 5;\n      *(byte *)((long)i.types + uVar24 * 8 + 2) =\n           *(byte *)((long)i.types + uVar24 * 8 + 2) & 0xe0 | 8;\n      uVar18 = i.disp_operands;\n      i.flags[uVar24] = i.flags[uVar24] | 1;\n      if (uVar18 != 0) {\nLAB_00133424:\n        puVar15 = ds;\n        goto LAB_00133089;\n      }\nLAB_00133a60:\n      puVar15 = ds;\nLAB_00133a67:\n      if (i.op[uVar24].disps != (expressionS *)0x0) {\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/tc-i386.c",0x1bed,"build_modrm_byte");\n      }\n      uVar14 = (ulong)i.disp_operands;\n      i.disp_operands = i.disp_operands + 1;\n      i.op[uVar24].disps = disp_expressions + uVar14;\n      disp_expressions[uVar14].field_0x18 = 2;\n      disp_expressions[uVar14].X_add_number = 0;\n      disp_expressions[uVar14].X_add_symbol = (symbolS *)0x0;\n      disp_expressions[uVar14].X_op_symbol = (symbolS *)0x0;\n    }" { (expression_statement "uVar5 = (i.index_reg)->reg_num;" (assignment_expression "uVar5 = (i.index_reg)->reg_num" identifier = (field_expression "(i.index_reg)->reg_num" (parenthesized_expression "(i.index_reg)" ( (field_expression "i.index_reg" identifier . field_identifier) )) -> field_identifier)) ;) (if_statement "if ((byte)(uVar5 + 4) < 2) {\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/tc-i386.c",0x1b0b,"build_modrm_byte");\n      }" if (parenthesized_expression "((byte)(uVar5 + 4) < 2)" ( (binary_expression "(byte)(uVar5 + 4) < 2" (call_expression "(byte)(uVar5 + 4)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(uVar5 + 4)" ( (binary_expression "uVar5 + 4" identifier + number_literal) ))) < number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/tc-i386.c",0x1b0b,"build_modrm_byte");\n      }" { comment (expression_statement "as_abort("../../gas/config/tc-i386.c",0x1b0b,"build_modrm_byte");" (call_expression "as_abort("../../gas/config/tc-i386.c",0x1b0b,"build_modrm_byte")" identifier (argument_list "("../../gas/config/tc-i386.c",0x1b0b,"build_modrm_byte")" ( (string_literal ""../../gas/config/tc-i386.c"" " string_content ") , number_literal , (string_literal ""build_modrm_byte"" " string_content ") ))) ;) })) (expression_statement "i.rm.regmem = 4;" (assignment_expression "i.rm.regmem = 4" (field_expression "i.rm.regmem" (field_expression "i.rm" identifier . field_identifier) . field_identifier) = number_literal) ;) (if_statement "if (i.base_reg == (reg_entry *)0x0) {\n        i.sib.base = 5;\n        i.sib.index = 0;\n        i.sib.scale = i.log2_scale_factor;\n        lVar3 = uVar24 * 8;\n        bVar6 = *(byte *)((long)i.types + lVar3 + 2);\n        bVar28 = flag_code == CODE_64BIT;\n        *(byte *)((long)i.types + lVar3 + 2) = bVar6 & 0xec;\n        if ((bVar28) && (i.prefix[2] == '\0')) {\n          *(byte *)((long)i.types + lVar3 + 2) = bVar6 & 0xe0 | 8;\n        }\n        else {\n          *(byte *)((long)i.types + uVar24 * 8 + 2) =\n               *(byte *)((long)i.types + uVar24 * 8 + 2) & 0xf3 | 4;\n        }\n      }" if (parenthesized_expression "(i.base_reg == (reg_entry *)0x0)" ( (binary_expression "i.base_reg == (reg_entry *)0x0" (field_expression "i.base_reg" identifier . field_identifier) == (cast_expression "(reg_entry *)0x0" ( (type_descriptor "reg_entry *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        i.sib.base = 5;\n        i.sib.index = 0;\n        i.sib.scale = i.log2_scale_factor;\n        lVar3 = uVar24 * 8;\n        bVar6 = *(byte *)((long)i.types + lVar3 + 2);\n        bVar28 = flag_code == CODE_64BIT;\n        *(byte *)((long)i.types + lVar3 + 2) = bVar6 & 0xec;\n        if ((bVar28) && (i.prefix[2] == '\0')) {\n          *(byte *)((long)i.types + lVar3 + 2) = bVar6 & 0xe0 | 8;\n        }\n        else {\n          *(byte *)((long)i.types + uVar24 * 8 + 2) =\n               *(byte *)((long)i.types + uVar24 * 8 + 2) & 0xf3 | 4;\n        }\n      }" { (expression_statement "i.sib.base = 5;" (assignment_expression "i.sib.base = 5" (field_expression "i.sib.base" (field_expression "i.sib" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "i.sib.index = 0;" (assignment_expression "i.sib.index = 0" (field_expression "i.sib.index" (field_expression "i.sib" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "i.sib.scale = i.log2_scale_factor;" (assignment_expression "i.sib.scale = i.log2_scale_factor" (field_expression "i.sib.scale" (field_expression "i.sib" identifier . field_identifier) . field_identifier) = (field_expression "i.log2_scale_factor" identifier . field_identifier)) ;) (expression_statement "lVar3 = uVar24 * 8;" (assignment_expression "lVar3 = uVar24 * 8" identifier = (binary_expression "uVar24 * 8" identifier * number_literal)) ;) (expression_statement "bVar6 = *(byte *)((long)i.types + lVar3 + 2);" (assignment_expression "bVar6 = *(byte *)((long)i.types + lVar3 + 2)" identifier = (pointer_expression "*(byte *)((long)i.types + lVar3 + 2)" * (cast_expression "(byte *)((long)i.types + lVar3 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)i.types + lVar3 + 2)" ( (binary_expression "(long)i.types + lVar3 + 2" (binary_expression "(long)i.types + lVar3" (cast_expression "(long)i.types" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (field_expression "i.types" identifier . field_identifier)) + identifier) + number_literal) ))))) ;) (expression_statement "bVar28 = flag_code == CODE_64BIT;" (assignment_expression "bVar28 = flag_code == CODE_64BIT" identifier = (binary_expression "flag_code == CODE_64BIT" identifier == identifier)) ;) (expression_statement "*(byte *)((long)i.types + lVar3 + 2) = bVar6 & 0xec;" (assignment_expression "*(byte *)((long)i.types + lVar3 + 2) = bVar6 & 0xec" (pointer_expression "*(byte *)((long)i.types + lVar3 + 2)" * (cast_expression "(byte *)((long)i.types + lVar3 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)i.types + lVar3 + 2)" ( (binary_expression "(long)i.types + lVar3 + 2" (binary_expression "(long)i.types + lVar3" (cast_expression "(long)i.types" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (field_expression "i.types" identifier . field_identifier)) + identifier) + number_literal) )))) = (binary_expression "bVar6 & 0xec" identifier & number_literal)) ;) (if_statement "if ((bVar28) && (i.prefix[2] == '\0')) {\n          *(byte *)((long)i.types + lVar3 + 2) = bVar6 & 0xe0 | 8;\n        }\n        else {\n          *(byte *)((long)i.types + uVar24 * 8 + 2) =\n               *(byte *)((long)i.types + uVar24 * 8 + 2) & 0xf3 | 4;\n        }" if (parenthesized_expression "((bVar28) && (i.prefix[2] == '\0'))" ( (binary_expression "(bVar28) && (i.prefix[2] == '\0')" (parenthesized_expression "(bVar28)" ( identifier )) && (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          *(byte *)((long)i.types + lVar3 + 2) = bVar6 & 0xe0 | 8;\n        }" { (expression_statement "*(byte *)((long)i.types + lVar3 + 2) = bVar6 & 0xe0 | 8;" (assignment_expression "*(byte *)((long)i.types + lVar3 + 2) = bVar6 & 0xe0 | 8" (pointer_expression "*(byte *)((long)i.types + lVar3 + 2)" * (cast_expression "(byte *)((long)i.types + lVar3 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)i.types + lVar3 + 2)" ( (binary_expression "(long)i.types + lVar3 + 2" (binary_expression "(long)i.types + lVar3" (cast_expression "(long)i.types" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (field_expression "i.types" identifier . field_identifier)) + identifier) + number_literal) )))) = (binary_expression "bVar6 & 0xe0 | 8" (binary_expression "bVar6 & 0xe0" identifier & number_literal) | number_literal)) ;) }) (else_clause "else {\n          *(byte *)((long)i.types + uVar24 * 8 + 2) =\n               *(byte *)((long)i.types + uVar24 * 8 + 2) & 0xf3 | 4;\n        }" else (compound_statement "{\n          *(byte *)((long)i.types + uVar24 * 8 + 2) =\n               *(byte *)((long)i.types + uVar24 * 8 + 2) & 0xf3 | 4;\n        }" { (expression_statement "*(byte *)((long)i.types + uVar24 * 8 + 2) =\n               *(byte *)((long)i.types + uVar24 * 8 + 2) & 0xf3 | 4;" (assignment_expression "*(byte *)((long)i.types + uVar24 * 8 + 2) =\n               *(byte *)((long)i.types + uVar24 * 8 + 2) & 0xf3 | 4" (pointer_expression "*(byte *)((long)i.types + uVar24 * 8 + 2)" * (cast_expression "(byte *)((long)i.types + uVar24 * 8 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)i.types + uVar24 * 8 + 2)" ( (binary_expression "(long)i.types + uVar24 * 8 + 2" (binary_expression "(long)i.types + uVar24 * 8" (cast_expression "(long)i.types" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (field_expression "i.types" identifier . field_identifier)) + (binary_expression "uVar24 * 8" identifier * number_literal)) + number_literal) )))) = (binary_expression "*(byte *)((long)i.types + uVar24 * 8 + 2) & 0xf3 | 4" (binary_expression "*(byte *)((long)i.types + uVar24 * 8 + 2) & 0xf3" (pointer_expression "*(byte *)((long)i.types + uVar24 * 8 + 2)" * (cast_expression "(byte *)((long)i.types + uVar24 * 8 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)i.types + uVar24 * 8 + 2)" ( (binary_expression "(long)i.types + uVar24 * 8 + 2" (binary_expression "(long)i.types + uVar24 * 8" (cast_expression "(long)i.types" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (field_expression "i.types" identifier . field_identifier)) + (binary_expression "uVar24 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) | number_literal)) ;) }))) })) (expression_statement "i.sib.index._0_1_ = uVar5;" (assignment_expression "i.sib.index._0_1_ = uVar5" (field_expression "i.sib.index._0_1_" (field_expression "i.sib.index" (field_expression "i.sib" identifier . field_identifier) . field_identifier) . field_identifier) = identifier) ;) (expression_statement "i.sib.index._1_3_ = 0;" (assignment_expression "i.sib.index._1_3_ = 0" (field_expression "i.sib.index._1_3_" (field_expression "i.sib.index" (field_expression "i.sib" identifier . field_identifier) . field_identifier) . field_identifier) = number_literal) ;) (if_statement "if ((prVar11->reg_flags & 1) != 0) {\n        i.rex = i.rex | 2;\n      }" if (parenthesized_expression "((prVar11->reg_flags & 1) != 0)" ( (binary_expression "(prVar11->reg_flags & 1) != 0" (parenthesized_expression "(prVar11->reg_flags & 1)" ( (binary_expression "prVar11->reg_flags & 1" (field_expression "prVar11->reg_flags" identifier -> field_identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n        i.rex = i.rex | 2;\n      }" { (expression_statement "i.rex = i.rex | 2;" (assignment_expression "i.rex = i.rex | 2" (field_expression "i.rex" identifier . field_identifier) = (binary_expression "i.rex | 2" (field_expression "i.rex" identifier . field_identifier) | number_literal)) ;) })) (if_statement "if ((prVar11->reg_flags & 4) == 0) goto LAB_0013313d;" if (parenthesized_expression "((prVar11->reg_flags & 4) == 0)" ( (binary_expression "(prVar11->reg_flags & 4) == 0" (parenthesized_expression "(prVar11->reg_flags & 4)" ( (binary_expression "prVar11->reg_flags & 4" (field_expression "prVar11->reg_flags" identifier -> field_identifier) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0013313d;" goto statement_identifier ;)) (expression_statement "i.vrex = i.vrex | 2;" (assignment_expression "i.vrex = i.vrex | 2" (field_expression "i.vrex" identifier . field_identifier) = (binary_expression "i.vrex | 2" (field_expression "i.vrex" identifier . field_identifier) | number_literal)) ;) (if_statement "if (prVar10 == (reg_entry *)0x0) goto LAB_00133448;" if (parenthesized_expression "(prVar10 == (reg_entry *)0x0)" ( (binary_expression "prVar10 == (reg_entry *)0x0" identifier == (cast_expression "(reg_entry *)0x0" ( (type_descriptor "reg_entry *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00133448;" goto statement_identifier ;)) (labeled_statement "LAB_00133146:\n      bVar6 = prVar10->reg_num;" statement_identifier : (expression_statement "bVar6 = prVar10->reg_num;" (assignment_expression "bVar6 = prVar10->reg_num" identifier = (field_expression "prVar10->reg_num" identifier -> field_identifier)) ;)) (if_statement "if (bVar6 < 0xfe) {\n        if (((ulong)prVar10->reg_type & 0x40000000) == 0) {\n          if ((flag_code == CODE_64BIT) && ((*(byte *)((long)i.types + uVar24 * 8 + 2) & 0x1f) != 0)\n             ) {\n            lVar3 = uVar24 * 8;\n            bVar25 = *(byte *)((long)i.types + lVar3 + 2);\n            bVar17 = bVar25 & 0xe1;\n            *(byte *)((long)i.types + lVar3 + 2) = bVar25 & 0xed;\n            if (i.prefix[2] == '\0') {\n              *(byte *)((long)i.types + lVar3 + 2) = bVar17 | 8;\n            }\n            else {\n              *(byte *)((long)i.types + lVar3 + 2) = bVar17 | 4;\n            }\n          }\n          if (bVar23 == 0) {\n            i.rm.regmem = (uint)bVar6;\n          }\n          if ((prVar10->reg_flags & 1) == 0) {\n            puVar15 = ss;\n            if (1 < (byte)(bVar6 - 4)) {\n              puVar15 = ds;\n            }\n          }\n          else {\n            i.rex = i.rex | 1;\n            puVar15 = ds;\n          }\n          i.sib.base = (uint)bVar6;\n          aVar19 = Cpu186;\n          if ((bVar6 == 5) && (aVar19 = Cpu186, i.disp_operands == 0)) {\n            aVar19 = Cpu286;\n            pbVar4 = (byte *)((long)i.types + uVar24 * 8 + 2);\n            *pbVar4 = *pbVar4 | 1;\n          }\n          aVar12 = i.disp_encoding;\n          i.sib.scale = i.log2_scale_factor;\n          if (i.index_reg == (reg_entry *)0x0) {\n            if (bVar23 != 0) {\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1bbf,"build_modrm_byte");\n            }\n            i.sib.index = 4;\n          }\n          else if (bVar23 == 0) {\n            i.rm.regmem = 4;\n            i.sib.index = (uint)(i.index_reg)->reg_num;\n            if ((byte)((i.index_reg)->reg_num + 4) < 2) {\n              i.sib.index = 4;\n            }\n            if (((i.index_reg)->reg_flags & 1) != 0) {\n              i.rex = i.rex | 2;\n            }\n          }\n          if (i.disp_operands == 0) {\n            if ((aVar19 == Cpu186) && (aVar19 = aVar12, i.disp_encoding != Cpu186)) {\n              if (i.disp_encoding == Cpu286) {\n                pbVar4 = (byte *)((long)i.types + uVar24 * 8 + 2);\n                *pbVar4 = *pbVar4 | 1;\n              }\n              else {\n                pbVar4 = (byte *)((long)i.types + uVar24 * 8 + 2);\n                *pbVar4 = *pbVar4 | 4;\n                aVar19 = Cpu286;\n              }\n            }\n          }\n          else if ((i.reloc[uVar24] == BFD_RELOC_386_TLS_DESC_CALL) ||\n                  (i.reloc[uVar24] == BFD_RELOC_X86_64_TLSDESC_CALL)) {\n            i.rm.mode = 0;\n            goto LAB_00133b80;\n          }\n        }\n        else {\n          if (bVar23 != 0) {\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/config/tc-i386.c",0x1b7c,"build_modrm_byte");\n          }\n          if (bVar6 == 3) {\n            if (i.index_reg != (reg_entry *)0x0) {\n              i.rm.regmem = (i.index_reg)->reg_num - 6;\n              goto LAB_0013317e;\n            }\n            i.rm.regmem = 7;\n            puVar15 = ds;\n            aVar19 = Cpu186;\n          }\n          else if (bVar6 == 5) {\n            if (i.index_reg == (reg_entry *)0x0) {\n              puVar15 = ss;\n              i.rm.regmem = 6;\n              aVar19 = Cpu186;\n              if ((*(byte *)((long)i.types + uVar24 * 8 + 2) & 0x1f) == 0) {\n                pbVar4 = (byte *)((long)i.types + uVar24 * 8 + 2);\n                *pbVar4 = *pbVar4 | 1;\n                aVar19 = Cpu286;\n              }\n            }\n            else {\n              i.rm.regmem = (i.index_reg)->reg_num - 4;\n              puVar15 = ss;\n              aVar19 = Cpu186;\n            }\n          }\n          else {\n            i.rm.regmem = bVar6 - 2;\nLAB_0013317e:\n            aVar19 = Cpu186;\n            puVar15 = ds;\n          }\n        }\n        i.rm.mode = 1;\n        if (((ulong)i.types[uVar24] >> 0x10 & 1) == 0) {\n          i.rm.mode = (uint)(((ulong)i.types[uVar24] & 0xe0000) != 0) * 2;\n        }\n        goto LAB_00133b80;\n      }" if (parenthesized_expression "(bVar6 < 0xfe)" ( (binary_expression "bVar6 < 0xfe" identifier < number_literal) )) (compound_statement "{\n        if (((ulong)prVar10->reg_type & 0x40000000) == 0) {\n          if ((flag_code == CODE_64BIT) && ((*(byte *)((long)i.types + uVar24 * 8 + 2) & 0x1f) != 0)\n             ) {\n            lVar3 = uVar24 * 8;\n            bVar25 = *(byte *)((long)i.types + lVar3 + 2);\n            bVar17 = bVar25 & 0xe1;\n            *(byte *)((long)i.types + lVar3 + 2) = bVar25 & 0xed;\n            if (i.prefix[2] == '\0') {\n              *(byte *)((long)i.types + lVar3 + 2) = bVar17 | 8;\n            }\n            else {\n              *(byte *)((long)i.types + lVar3 + 2) = bVar17 | 4;\n            }\n          }\n          if (bVar23 == 0) {\n            i.rm.regmem = (uint)bVar6;\n          }\n          if ((prVar10->reg_flags & 1) == 0) {\n            puVar15 = ss;\n            if (1 < (byte)(bVar6 - 4)) {\n              puVar15 = ds;\n            }\n          }\n          else {\n            i.rex = i.rex | 1;\n            puVar15 = ds;\n          }\n          i.sib.base = (uint)bVar6;\n          aVar19 = Cpu186;\n          if ((bVar6 == 5) && (aVar19 = Cpu186, i.disp_operands == 0)) {\n            aVar19 = Cpu286;\n            pbVar4 = (byte *)((long)i.types + uVar24 * 8 + 2);\n            *pbVar4 = *pbVar4 | 1;\n          }\n          aVar12 = i.disp_encoding;\n          i.sib.scale = i.log2_scale_factor;\n          if (i.index_reg == (reg_entry *)0x0) {\n            if (bVar23 != 0) {\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1bbf,"build_modrm_byte");\n            }\n            i.sib.index = 4;\n          }\n          else if (bVar23 == 0) {\n            i.rm.regmem = 4;\n            i.sib.index = (uint)(i.index_reg)->reg_num;\n            if ((byte)((i.index_reg)->reg_num + 4) < 2) {\n              i.sib.index = 4;\n            }\n            if (((i.index_reg)->reg_flags & 1) != 0) {\n              i.rex = i.rex | 2;\n            }\n          }\n          if (i.disp_operands == 0) {\n            if ((aVar19 == Cpu186) && (aVar19 = aVar12, i.disp_encoding != Cpu186)) {\n              if (i.disp_encoding == Cpu286) {\n                pbVar4 = (byte *)((long)i.types + uVar24 * 8 + 2);\n                *pbVar4 = *pbVar4 | 1;\n              }\n              else {\n                pbVar4 = (byte *)((long)i.types + uVar24 * 8 + 2);\n                *pbVar4 = *pbVar4 | 4;\n                aVar19 = Cpu286;\n              }\n            }\n          }\n          else if ((i.reloc[uVar24] == BFD_RELOC_386_TLS_DESC_CALL) ||\n                  (i.reloc[uVar24] == BFD_RELOC_X86_64_TLSDESC_CALL)) {\n            i.rm.mode = 0;\n            goto LAB_00133b80;\n          }\n        }\n        else {\n          if (bVar23 != 0) {\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/config/tc-i386.c",0x1b7c,"build_modrm_byte");\n          }\n          if (bVar6 == 3) {\n            if (i.index_reg != (reg_entry *)0x0) {\n              i.rm.regmem = (i.index_reg)->reg_num - 6;\n              goto LAB_0013317e;\n            }\n            i.rm.regmem = 7;\n            puVar15 = ds;\n            aVar19 = Cpu186;\n          }\n          else if (bVar6 == 5) {\n            if (i.index_reg == (reg_entry *)0x0) {\n              puVar15 = ss;\n              i.rm.regmem = 6;\n              aVar19 = Cpu186;\n              if ((*(byte *)((long)i.types + uVar24 * 8 + 2) & 0x1f) == 0) {\n                pbVar4 = (byte *)((long)i.types + uVar24 * 8 + 2);\n                *pbVar4 = *pbVar4 | 1;\n                aVar19 = Cpu286;\n              }\n            }\n            else {\n              i.rm.regmem = (i.index_reg)->reg_num - 4;\n              puVar15 = ss;\n              aVar19 = Cpu186;\n            }\n          }\n          else {\n            i.rm.regmem = bVar6 - 2;\nLAB_0013317e:\n            aVar19 = Cpu186;\n            puVar15 = ds;\n          }\n        }\n        i.rm.mode = 1;\n        if (((ulong)i.types[uVar24] >> 0x10 & 1) == 0) {\n          i.rm.mode = (uint)(((ulong)i.types[uVar24] & 0xe0000) != 0) * 2;\n        }\n        goto LAB_00133b80;\n      }" { (if_statement "if (((ulong)prVar10->reg_type & 0x40000000) == 0) {\n          if ((flag_code == CODE_64BIT) && ((*(byte *)((long)i.types + uVar24 * 8 + 2) & 0x1f) != 0)\n             ) {\n            lVar3 = uVar24 * 8;\n            bVar25 = *(byte *)((long)i.types + lVar3 + 2);\n            bVar17 = bVar25 & 0xe1;\n            *(byte *)((long)i.types + lVar3 + 2) = bVar25 & 0xed;\n            if (i.prefix[2] == '\0') {\n              *(byte *)((long)i.types + lVar3 + 2) = bVar17 | 8;\n            }\n            else {\n              *(byte *)((long)i.types + lVar3 + 2) = bVar17 | 4;\n            }\n          }\n          if (bVar23 == 0) {\n            i.rm.regmem = (uint)bVar6;\n          }\n          if ((prVar10->reg_flags & 1) == 0) {\n            puVar15 = ss;\n            if (1 < (byte)(bVar6 - 4)) {\n              puVar15 = ds;\n            }\n          }\n          else {\n            i.rex = i.rex | 1;\n            puVar15 = ds;\n          }\n          i.sib.base = (uint)bVar6;\n          aVar19 = Cpu186;\n          if ((bVar6 == 5) && (aVar19 = Cpu186, i.disp_operands == 0)) {\n            aVar19 = Cpu286;\n            pbVar4 = (byte *)((long)i.types + uVar24 * 8 + 2);\n            *pbVar4 = *pbVar4 | 1;\n          }\n          aVar12 = i.disp_encoding;\n          i.sib.scale = i.log2_scale_factor;\n          if (i.index_reg == (reg_entry *)0x0) {\n            if (bVar23 != 0) {\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1bbf,"build_modrm_byte");\n            }\n            i.sib.index = 4;\n          }\n          else if (bVar23 == 0) {\n            i.rm.regmem = 4;\n            i.sib.index = (uint)(i.index_reg)->reg_num;\n            if ((byte)((i.index_reg)->reg_num + 4) < 2) {\n              i.sib.index = 4;\n            }\n            if (((i.index_reg)->reg_flags & 1) != 0) {\n              i.rex = i.rex | 2;\n            }\n          }\n          if (i.disp_operands == 0) {\n            if ((aVar19 == Cpu186) && (aVar19 = aVar12, i.disp_encoding != Cpu186)) {\n              if (i.disp_encoding == Cpu286) {\n                pbVar4 = (byte *)((long)i.types + uVar24 * 8 + 2);\n                *pbVar4 = *pbVar4 | 1;\n              }\n              else {\n                pbVar4 = (byte *)((long)i.types + uVar24 * 8 + 2);\n                *pbVar4 = *pbVar4 | 4;\n                aVar19 = Cpu286;\n              }\n            }\n          }\n          else if ((i.reloc[uVar24] == BFD_RELOC_386_TLS_DESC_CALL) ||\n                  (i.reloc[uVar24] == BFD_RELOC_X86_64_TLSDESC_CALL)) {\n            i.rm.mode = 0;\n            goto LAB_00133b80;\n          }\n        }\n        else {\n          if (bVar23 != 0) {\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/config/tc-i386.c",0x1b7c,"build_modrm_byte");\n          }\n          if (bVar6 == 3) {\n            if (i.index_reg != (reg_entry *)0x0) {\n              i.rm.regmem = (i.index_reg)->reg_num - 6;\n              goto LAB_0013317e;\n            }\n            i.rm.regmem = 7;\n            puVar15 = ds;\n            aVar19 = Cpu186;\n          }\n          else if (bVar6 == 5) {\n            if (i.index_reg == (reg_entry *)0x0) {\n              puVar15 = ss;\n              i.rm.regmem = 6;\n              aVar19 = Cpu186;\n              if ((*(byte *)((long)i.types + uVar24 * 8 + 2) & 0x1f) == 0) {\n                pbVar4 = (byte *)((long)i.types + uVar24 * 8 + 2);\n                *pbVar4 = *pbVar4 | 1;\n                aVar19 = Cpu286;\n              }\n            }\n            else {\n              i.rm.regmem = (i.index_reg)->reg_num - 4;\n              puVar15 = ss;\n              aVar19 = Cpu186;\n            }\n          }\n          else {\n            i.rm.regmem = bVar6 - 2;\nLAB_0013317e:\n            aVar19 = Cpu186;\n            puVar15 = ds;\n          }\n        }" if (parenthesized_expression "(((ulong)prVar10->reg_type & 0x40000000) == 0)" ( (binary_expression "((ulong)prVar10->reg_type & 0x40000000) == 0" (parenthesized_expression "((ulong)prVar10->reg_type & 0x40000000)" ( (binary_expression "(ulong)prVar10->reg_type & 0x40000000" (cast_expression "(ulong)prVar10->reg_type" ( (type_descriptor "ulong" type_identifier) ) (field_expression "prVar10->reg_type" identifier -> field_identifier)) & number_literal) )) == number_literal) )) (compound_statement "{\n          if ((flag_code == CODE_64BIT) && ((*(byte *)((long)i.types + uVar24 * 8 + 2) & 0x1f) != 0)\n             ) {\n            lVar3 = uVar24 * 8;\n            bVar25 = *(byte *)((long)i.types + lVar3 + 2);\n            bVar17 = bVar25 & 0xe1;\n            *(byte *)((long)i.types + lVar3 + 2) = bVar25 & 0xed;\n            if (i.prefix[2] == '\0') {\n              *(byte *)((long)i.types + lVar3 + 2) = bVar17 | 8;\n            }\n            else {\n              *(byte *)((long)i.types + lVar3 + 2) = bVar17 | 4;\n            }\n          }\n          if (bVar23 == 0) {\n            i.rm.regmem = (uint)bVar6;\n          }\n          if ((prVar10->reg_flags & 1) == 0) {\n            puVar15 = ss;\n            if (1 < (byte)(bVar6 - 4)) {\n              puVar15 = ds;\n            }\n          }\n          else {\n            i.rex = i.rex | 1;\n            puVar15 = ds;\n          }\n          i.sib.base = (uint)bVar6;\n          aVar19 = Cpu186;\n          if ((bVar6 == 5) && (aVar19 = Cpu186, i.disp_operands == 0)) {\n            aVar19 = Cpu286;\n            pbVar4 = (byte *)((long)i.types + uVar24 * 8 + 2);\n            *pbVar4 = *pbVar4 | 1;\n          }\n          aVar12 = i.disp_encoding;\n          i.sib.scale = i.log2_scale_factor;\n          if (i.index_reg == (reg_entry *)0x0) {\n            if (bVar23 != 0) {\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1bbf,"build_modrm_byte");\n            }\n            i.sib.index = 4;\n          }\n          else if (bVar23 == 0) {\n            i.rm.regmem = 4;\n            i.sib.index = (uint)(i.index_reg)->reg_num;\n            if ((byte)((i.index_reg)->reg_num + 4) < 2) {\n              i.sib.index = 4;\n            }\n            if (((i.index_reg)->reg_flags & 1) != 0) {\n              i.rex = i.rex | 2;\n            }\n          }\n          if (i.disp_operands == 0) {\n            if ((aVar19 == Cpu186) && (aVar19 = aVar12, i.disp_encoding != Cpu186)) {\n              if (i.disp_encoding == Cpu286) {\n                pbVar4 = (byte *)((long)i.types + uVar24 * 8 + 2);\n                *pbVar4 = *pbVar4 | 1;\n              }\n              else {\n                pbVar4 = (byte *)((long)i.types + uVar24 * 8 + 2);\n                *pbVar4 = *pbVar4 | 4;\n                aVar19 = Cpu286;\n              }\n            }\n          }\n          else if ((i.reloc[uVar24] == BFD_RELOC_386_TLS_DESC_CALL) ||\n                  (i.reloc[uVar24] == BFD_RELOC_X86_64_TLSDESC_CALL)) {\n            i.rm.mode = 0;\n            goto LAB_00133b80;\n          }\n        }" { (if_statement "if ((flag_code == CODE_64BIT) && ((*(byte *)((long)i.types + uVar24 * 8 + 2) & 0x1f) != 0)\n             ) {\n            lVar3 = uVar24 * 8;\n            bVar25 = *(byte *)((long)i.types + lVar3 + 2);\n            bVar17 = bVar25 & 0xe1;\n            *(byte *)((long)i.types + lVar3 + 2) = bVar25 & 0xed;\n            if (i.prefix[2] == '\0') {\n              *(byte *)((long)i.types + lVar3 + 2) = bVar17 | 8;\n            }\n            else {\n              *(byte *)((long)i.types + lVar3 + 2) = bVar17 | 4;\n            }\n          }" if (parenthesized_expression "((flag_code == CODE_64BIT) && ((*(byte *)((long)i.types + uVar24 * 8 + 2) & 0x1f) != 0)\n             )" ( (binary_expression "(flag_code == CODE_64BIT) && ((*(byte *)((long)i.types + uVar24 * 8 + 2) & 0x1f) != 0)" (parenthesized_expression "(flag_code == CODE_64BIT)" ( (binary_expression "flag_code == CODE_64BIT" identifier == identifier) )) && (parenthesized_expression "((*(byte *)((long)i.types + uVar24 * 8 + 2) & 0x1f) != 0)" ( (binary_expression "(*(byte *)((long)i.types + uVar24 * 8 + 2) & 0x1f) != 0" (parenthesized_expression "(*(byte *)((long)i.types + uVar24 * 8 + 2) & 0x1f)" ( (binary_expression "*(byte *)((long)i.types + uVar24 * 8 + 2) & 0x1f" (pointer_expression "*(byte *)((long)i.types + uVar24 * 8 + 2)" * (cast_expression "(byte *)((long)i.types + uVar24 * 8 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)i.types + uVar24 * 8 + 2)" ( (binary_expression "(long)i.types + uVar24 * 8 + 2" (binary_expression "(long)i.types + uVar24 * 8" (cast_expression "(long)i.types" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (field_expression "i.types" identifier . field_identifier)) + (binary_expression "uVar24 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n            lVar3 = uVar24 * 8;\n            bVar25 = *(byte *)((long)i.types + lVar3 + 2);\n            bVar17 = bVar25 & 0xe1;\n            *(byte *)((long)i.types + lVar3 + 2) = bVar25 & 0xed;\n            if (i.prefix[2] == '\0') {\n              *(byte *)((long)i.types + lVar3 + 2) = bVar17 | 8;\n            }\n            else {\n              *(byte *)((long)i.types + lVar3 + 2) = bVar17 | 4;\n            }\n          }" { (expression_statement "lVar3 = uVar24 * 8;" (assignment_expression "lVar3 = uVar24 * 8" identifier = (binary_expression "uVar24 * 8" identifier * number_literal)) ;) (expression_statement "bVar25 = *(byte *)((long)i.types + lVar3 + 2);" (assignment_expression "bVar25 = *(byte *)((long)i.types + lVar3 + 2)" identifier = (pointer_expression "*(byte *)((long)i.types + lVar3 + 2)" * (cast_expression "(byte *)((long)i.types + lVar3 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)i.types + lVar3 + 2)" ( (binary_expression "(long)i.types + lVar3 + 2" (binary_expression "(long)i.types + lVar3" (cast_expression "(long)i.types" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (field_expression "i.types" identifier . field_identifier)) + identifier) + number_literal) ))))) ;) (expression_statement "bVar17 = bVar25 & 0xe1;" (assignment_expression "bVar17 = bVar25 & 0xe1" identifier = (binary_expression "bVar25 & 0xe1" identifier & number_literal)) ;) (expression_statement "*(byte *)((long)i.types + lVar3 + 2) = bVar25 & 0xed;" (assignment_expression "*(byte *)((long)i.types + lVar3 + 2) = bVar25 & 0xed" (pointer_expression "*(byte *)((long)i.types + lVar3 + 2)" * (cast_expression "(byte *)((long)i.types + lVar3 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)i.types + lVar3 + 2)" ( (binary_expression "(long)i.types + lVar3 + 2" (binary_expression "(long)i.types + lVar3" (cast_expression "(long)i.types" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (field_expression "i.types" identifier . field_identifier)) + identifier) + number_literal) )))) = (binary_expression "bVar25 & 0xed" identifier & number_literal)) ;) (if_statement "if (i.prefix[2] == '\0') {\n              *(byte *)((long)i.types + lVar3 + 2) = bVar17 | 8;\n            }\n            else {\n              *(byte *)((long)i.types + lVar3 + 2) = bVar17 | 4;\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              *(byte *)((long)i.types + lVar3 + 2) = bVar17 | 8;\n            }" { (expression_statement "*(byte *)((long)i.types + lVar3 + 2) = bVar17 | 8;" (assignment_expression "*(byte *)((long)i.types + lVar3 + 2) = bVar17 | 8" (pointer_expression "*(byte *)((long)i.types + lVar3 + 2)" * (cast_expression "(byte *)((long)i.types + lVar3 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)i.types + lVar3 + 2)" ( (binary_expression "(long)i.types + lVar3 + 2" (binary_expression "(long)i.types + lVar3" (cast_expression "(long)i.types" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (field_expression "i.types" identifier . field_identifier)) + identifier) + number_literal) )))) = (binary_expression "bVar17 | 8" identifier | number_literal)) ;) }) (else_clause "else {\n              *(byte *)((long)i.types + lVar3 + 2) = bVar17 | 4;\n            }" else (compound_statement "{\n              *(byte *)((long)i.types + lVar3 + 2) = bVar17 | 4;\n            }" { (expression_statement "*(byte *)((long)i.types + lVar3 + 2) = bVar17 | 4;" (assignment_expression "*(byte *)((long)i.types + lVar3 + 2) = bVar17 | 4" (pointer_expression "*(byte *)((long)i.types + lVar3 + 2)" * (cast_expression "(byte *)((long)i.types + lVar3 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)i.types + lVar3 + 2)" ( (binary_expression "(long)i.types + lVar3 + 2" (binary_expression "(long)i.types + lVar3" (cast_expression "(long)i.types" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (field_expression "i.types" identifier . field_identifier)) + identifier) + number_literal) )))) = (binary_expression "bVar17 | 4" identifier | number_literal)) ;) }))) })) (if_statement "if (bVar23 == 0) {\n            i.rm.regmem = (uint)bVar6;\n          }" if (parenthesized_expression "(bVar23 == 0)" ( (binary_expression "bVar23 == 0" identifier == number_literal) )) (compound_statement "{\n            i.rm.regmem = (uint)bVar6;\n          }" { (expression_statement "i.rm.regmem = (uint)bVar6;" (assignment_expression "i.rm.regmem = (uint)bVar6" (field_expression "i.rm.regmem" (field_expression "i.rm" identifier . field_identifier) . field_identifier) = (cast_expression "(uint)bVar6" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) })) (if_statement "if ((prVar10->reg_flags & 1) == 0) {\n            puVar15 = ss;\n            if (1 < (byte)(bVar6 - 4)) {\n              puVar15 = ds;\n            }\n          }\n          else {\n            i.rex = i.rex | 1;\n            puVar15 = ds;\n          }" if (parenthesized_expression "((prVar10->reg_flags & 1) == 0)" ( (binary_expression "(prVar10->reg_flags & 1) == 0" (parenthesized_expression "(prVar10->reg_flags & 1)" ( (binary_expression "prVar10->reg_flags & 1" (field_expression "prVar10->reg_flags" identifier -> field_identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n            puVar15 = ss;\n            if (1 < (byte)(bVar6 - 4)) {\n              puVar15 = ds;\n            }\n          }" { (expression_statement "puVar15 = ss;" (assignment_expression "puVar15 = ss" identifier = identifier) ;) (if_statement "if (1 < (byte)(bVar6 - 4)) {\n              puVar15 = ds;\n            }" if (parenthesized_expression "(1 < (byte)(bVar6 - 4))" ( (binary_expression "1 < (byte)(bVar6 - 4)" number_literal < (call_expression "(byte)(bVar6 - 4)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(bVar6 - 4)" ( (binary_expression "bVar6 - 4" identifier - number_literal) )))) )) (compound_statement "{\n              puVar15 = ds;\n            }" { (expression_statement "puVar15 = ds;" (assignment_expression "puVar15 = ds" identifier = identifier) ;) })) }) (else_clause "else {\n            i.rex = i.rex | 1;\n            puVar15 = ds;\n          }" else (compound_statement "{\n            i.rex = i.rex | 1;\n            puVar15 = ds;\n          }" { (expression_statement "i.rex = i.rex | 1;" (assignment_expression "i.rex = i.rex | 1" (field_expression "i.rex" identifier . field_identifier) = (binary_expression "i.rex | 1" (field_expression "i.rex" identifier . field_identifier) | number_literal)) ;) (expression_statement "puVar15 = ds;" (assignment_expression "puVar15 = ds" identifier = identifier) ;) }))) (expression_statement "i.sib.base = (uint)bVar6;" (assignment_expression "i.sib.base = (uint)bVar6" (field_expression "i.sib.base" (field_expression "i.sib" identifier . field_identifier) . field_identifier) = (cast_expression "(uint)bVar6" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "aVar19 = Cpu186;" (assignment_expression "aVar19 = Cpu186" identifier = identifier) ;) (if_statement "if ((bVar6 == 5) && (aVar19 = Cpu186, i.disp_operands == 0)) {\n            aVar19 = Cpu286;\n            pbVar4 = (byte *)((long)i.types + uVar24 * 8 + 2);\n            *pbVar4 = *pbVar4 | 1;\n          }" if (parenthesized_expression "((bVar6 == 5) && (aVar19 = Cpu186, i.disp_operands == 0))" ( (binary_expression "(bVar6 == 5) && (aVar19 = Cpu186, i.disp_operands == 0)" (parenthesized_expression "(bVar6 == 5)" ( (binary_expression "bVar6 == 5" identifier == number_literal) )) && (parenthesized_expression "(aVar19 = Cpu186, i.disp_operands == 0)" ( (comma_expression "aVar19 = Cpu186, i.disp_operands == 0" (assignment_expression "aVar19 = Cpu186" identifier = identifier) , (binary_expression "i.disp_operands == 0" (field_expression "i.disp_operands" identifier . field_identifier) == number_literal)) ))) )) (compound_statement "{\n            aVar19 = Cpu286;\n            pbVar4 = (byte *)((long)i.types + uVar24 * 8 + 2);\n            *pbVar4 = *pbVar4 | 1;\n          }" { (expression_statement "aVar19 = Cpu286;" (assignment_expression "aVar19 = Cpu286" identifier = identifier) ;) (expression_statement "pbVar4 = (byte *)((long)i.types + uVar24 * 8 + 2);" (assignment_expression "pbVar4 = (byte *)((long)i.types + uVar24 * 8 + 2)" identifier = (cast_expression "(byte *)((long)i.types + uVar24 * 8 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)i.types + uVar24 * 8 + 2)" ( (binary_expression "(long)i.types + uVar24 * 8 + 2" (binary_expression "(long)i.types + uVar24 * 8" (cast_expression "(long)i.types" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (field_expression "i.types" identifier . field_identifier)) + (binary_expression "uVar24 * 8" identifier * number_literal)) + number_literal) )))) ;) (expression_statement "*pbVar4 = *pbVar4 | 1;" (assignment_expression "*pbVar4 = *pbVar4 | 1" (pointer_expression "*pbVar4" * identifier) = (binary_expression "*pbVar4 | 1" (pointer_expression "*pbVar4" * identifier) | number_literal)) ;) })) (expression_statement "aVar12 = i.disp_encoding;" (assignment_expression "aVar12 = i.disp_encoding" identifier = (field_expression "i.disp_encoding" identifier . field_identifier)) ;) (expression_statement "i.sib.scale = i.log2_scale_factor;" (assignment_expression "i.sib.scale = i.log2_scale_factor" (field_expression "i.sib.scale" (field_expression "i.sib" identifier . field_identifier) . field_identifier) = (field_expression "i.log2_scale_factor" identifier . field_identifier)) ;) (if_statement "if (i.index_reg == (reg_entry *)0x0) {\n            if (bVar23 != 0) {\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1bbf,"build_modrm_byte");\n            }\n            i.sib.index = 4;\n          }\n          else if (bVar23 == 0) {\n            i.rm.regmem = 4;\n            i.sib.index = (uint)(i.index_reg)->reg_num;\n            if ((byte)((i.index_reg)->reg_num + 4) < 2) {\n              i.sib.index = 4;\n            }\n            if (((i.index_reg)->reg_flags & 1) != 0) {\n              i.rex = i.rex | 2;\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 (bVar23 != 0) {\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1bbf,"build_modrm_byte");\n            }\n            i.sib.index = 4;\n          }" { (if_statement "if (bVar23 != 0) {\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1bbf,"build_modrm_byte");\n            }" if (parenthesized_expression "(bVar23 != 0)" ( (binary_expression "bVar23 != 0" identifier != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1bbf,"build_modrm_byte");\n            }" { comment (expression_statement "as_abort("../../gas/config/tc-i386.c",0x1bbf,"build_modrm_byte");" (call_expression "as_abort("../../gas/config/tc-i386.c",0x1bbf,"build_modrm_byte")" identifier (argument_list "("../../gas/config/tc-i386.c",0x1bbf,"build_modrm_byte")" ( (string_literal ""../../gas/config/tc-i386.c"" " string_content ") , number_literal , (string_literal ""build_modrm_byte"" " string_content ") ))) ;) })) (expression_statement "i.sib.index = 4;" (assignment_expression "i.sib.index = 4" (field_expression "i.sib.index" (field_expression "i.sib" identifier . field_identifier) . field_identifier) = number_literal) ;) }) (else_clause "else if (bVar23 == 0) {\n            i.rm.regmem = 4;\n            i.sib.index = (uint)(i.index_reg)->reg_num;\n            if ((byte)((i.index_reg)->reg_num + 4) < 2) {\n              i.sib.index = 4;\n            }\n            if (((i.index_reg)->reg_flags & 1) != 0) {\n              i.rex = i.rex | 2;\n            }\n          }" else (if_statement "if (bVar23 == 0) {\n            i.rm.regmem = 4;\n            i.sib.index = (uint)(i.index_reg)->reg_num;\n            if ((byte)((i.index_reg)->reg_num + 4) < 2) {\n              i.sib.index = 4;\n            }\n            if (((i.index_reg)->reg_flags & 1) != 0) {\n              i.rex = i.rex | 2;\n            }\n          }" if (parenthesized_expression "(bVar23 == 0)" ( (binary_expression "bVar23 == 0" identifier == number_literal) )) (compound_statement "{\n            i.rm.regmem = 4;\n            i.sib.index = (uint)(i.index_reg)->reg_num;\n            if ((byte)((i.index_reg)->reg_num + 4) < 2) {\n              i.sib.index = 4;\n            }\n            if (((i.index_reg)->reg_flags & 1) != 0) {\n              i.rex = i.rex | 2;\n            }\n          }" { (expression_statement "i.rm.regmem = 4;" (assignment_expression "i.rm.regmem = 4" (field_expression "i.rm.regmem" (field_expression "i.rm" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "i.sib.index = (uint)(i.index_reg)->reg_num;" (assignment_expression "i.sib.index = (uint)(i.index_reg)->reg_num" (field_expression "i.sib.index" (field_expression "i.sib" identifier . field_identifier) . field_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 ((byte)((i.index_reg)->reg_num + 4) < 2) {\n              i.sib.index = 4;\n            }" if (parenthesized_expression "((byte)((i.index_reg)->reg_num + 4) < 2)" ( (binary_expression "(byte)((i.index_reg)->reg_num + 4) < 2" (call_expression "(byte)((i.index_reg)->reg_num + 4)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "((i.index_reg)->reg_num + 4)" ( (binary_expression "(i.index_reg)->reg_num + 4" (field_expression "(i.index_reg)->reg_num" (parenthesized_expression "(i.index_reg)" ( (field_expression "i.index_reg" identifier . field_identifier) )) -> field_identifier) + number_literal) ))) < number_literal) )) (compound_statement "{\n              i.sib.index = 4;\n            }" { (expression_statement "i.sib.index = 4;" (assignment_expression "i.sib.index = 4" (field_expression "i.sib.index" (field_expression "i.sib" identifier . field_identifier) . field_identifier) = number_literal) ;) })) (if_statement "if (((i.index_reg)->reg_flags & 1) != 0) {\n              i.rex = i.rex | 2;\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              i.rex = i.rex | 2;\n            }" { (expression_statement "i.rex = i.rex | 2;" (assignment_expression "i.rex = i.rex | 2" (field_expression "i.rex" identifier . field_identifier) = (binary_expression "i.rex | 2" (field_expression "i.rex" identifier . field_identifier) | number_literal)) ;) })) })))) (if_statement "if (i.disp_operands == 0) {\n            if ((aVar19 == Cpu186) && (aVar19 = aVar12, i.disp_encoding != Cpu186)) {\n              if (i.disp_encoding == Cpu286) {\n                pbVar4 = (byte *)((long)i.types + uVar24 * 8 + 2);\n                *pbVar4 = *pbVar4 | 1;\n              }\n              else {\n                pbVar4 = (byte *)((long)i.types + uVar24 * 8 + 2);\n                *pbVar4 = *pbVar4 | 4;\n                aVar19 = Cpu286;\n              }\n            }\n          }\n          else if ((i.reloc[uVar24] == BFD_RELOC_386_TLS_DESC_CALL) ||\n                  (i.reloc[uVar24] == BFD_RELOC_X86_64_TLSDESC_CALL)) {\n            i.rm.mode = 0;\n            goto LAB_00133b80;\n          }" if (parenthesized_expression "(i.disp_operands == 0)" ( (binary_expression "i.disp_operands == 0" (field_expression "i.disp_operands" identifier . field_identifier) == number_literal) )) (compound_statement "{\n            if ((aVar19 == Cpu186) && (aVar19 = aVar12, i.disp_encoding != Cpu186)) {\n              if (i.disp_encoding == Cpu286) {\n                pbVar4 = (byte *)((long)i.types + uVar24 * 8 + 2);\n                *pbVar4 = *pbVar4 | 1;\n              }\n              else {\n                pbVar4 = (byte *)((long)i.types + uVar24 * 8 + 2);\n                *pbVar4 = *pbVar4 | 4;\n                aVar19 = Cpu286;\n              }\n            }\n          }" { (if_statement "if ((aVar19 == Cpu186) && (aVar19 = aVar12, i.disp_encoding != Cpu186)) {\n              if (i.disp_encoding == Cpu286) {\n                pbVar4 = (byte *)((long)i.types + uVar24 * 8 + 2);\n                *pbVar4 = *pbVar4 | 1;\n              }\n              else {\n                pbVar4 = (byte *)((long)i.types + uVar24 * 8 + 2);\n                *pbVar4 = *pbVar4 | 4;\n                aVar19 = Cpu286;\n              }\n            }" if (parenthesized_expression "((aVar19 == Cpu186) && (aVar19 = aVar12, i.disp_encoding != Cpu186))" ( (binary_expression "(aVar19 == Cpu186) && (aVar19 = aVar12, i.disp_encoding != Cpu186)" (parenthesized_expression "(aVar19 == Cpu186)" ( (binary_expression "aVar19 == Cpu186" identifier == identifier) )) && (parenthesized_expression "(aVar19 = aVar12, i.disp_encoding != Cpu186)" ( (comma_expression "aVar19 = aVar12, i.disp_encoding != Cpu186" (assignment_expression "aVar19 = aVar12" identifier = identifier) , (binary_expression "i.disp_encoding != Cpu186" (field_expression "i.disp_encoding" identifier . field_identifier) != identifier)) ))) )) (compound_statement "{\n              if (i.disp_encoding == Cpu286) {\n                pbVar4 = (byte *)((long)i.types + uVar24 * 8 + 2);\n                *pbVar4 = *pbVar4 | 1;\n              }\n              else {\n                pbVar4 = (byte *)((long)i.types + uVar24 * 8 + 2);\n                *pbVar4 = *pbVar4 | 4;\n                aVar19 = Cpu286;\n              }\n            }" { (if_statement "if (i.disp_encoding == Cpu286) {\n                pbVar4 = (byte *)((long)i.types + uVar24 * 8 + 2);\n                *pbVar4 = *pbVar4 | 1;\n              }\n              else {\n                pbVar4 = (byte *)((long)i.types + uVar24 * 8 + 2);\n                *pbVar4 = *pbVar4 | 4;\n                aVar19 = Cpu286;\n              }" if (parenthesized_expression "(i.disp_encoding == Cpu286)" ( (binary_expression "i.disp_encoding == Cpu286" (field_expression "i.disp_encoding" identifier . field_identifier) == identifier) )) (compound_statement "{\n                pbVar4 = (byte *)((long)i.types + uVar24 * 8 + 2);\n                *pbVar4 = *pbVar4 | 1;\n              }" { (expression_statement "pbVar4 = (byte *)((long)i.types + uVar24 * 8 + 2);" (assignment_expression "pbVar4 = (byte *)((long)i.types + uVar24 * 8 + 2)" identifier = (cast_expression "(byte *)((long)i.types + uVar24 * 8 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)i.types + uVar24 * 8 + 2)" ( (binary_expression "(long)i.types + uVar24 * 8 + 2" (binary_expression "(long)i.types + uVar24 * 8" (cast_expression "(long)i.types" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (field_expression "i.types" identifier . field_identifier)) + (binary_expression "uVar24 * 8" identifier * number_literal)) + number_literal) )))) ;) (expression_statement "*pbVar4 = *pbVar4 | 1;" (assignment_expression "*pbVar4 = *pbVar4 | 1" (pointer_expression "*pbVar4" * identifier) = (binary_expression "*pbVar4 | 1" (pointer_expression "*pbVar4" * identifier) | number_literal)) ;) }) (else_clause "else {\n                pbVar4 = (byte *)((long)i.types + uVar24 * 8 + 2);\n                *pbVar4 = *pbVar4 | 4;\n                aVar19 = Cpu286;\n              }" else (compound_statement "{\n                pbVar4 = (byte *)((long)i.types + uVar24 * 8 + 2);\n                *pbVar4 = *pbVar4 | 4;\n                aVar19 = Cpu286;\n              }" { (expression_statement "pbVar4 = (byte *)((long)i.types + uVar24 * 8 + 2);" (assignment_expression "pbVar4 = (byte *)((long)i.types + uVar24 * 8 + 2)" identifier = (cast_expression "(byte *)((long)i.types + uVar24 * 8 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)i.types + uVar24 * 8 + 2)" ( (binary_expression "(long)i.types + uVar24 * 8 + 2" (binary_expression "(long)i.types + uVar24 * 8" (cast_expression "(long)i.types" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (field_expression "i.types" identifier . field_identifier)) + (binary_expression "uVar24 * 8" identifier * number_literal)) + number_literal) )))) ;) (expression_statement "*pbVar4 = *pbVar4 | 4;" (assignment_expression "*pbVar4 = *pbVar4 | 4" (pointer_expression "*pbVar4" * identifier) = (binary_expression "*pbVar4 | 4" (pointer_expression "*pbVar4" * identifier) | number_literal)) ;) (expression_statement "aVar19 = Cpu286;" (assignment_expression "aVar19 = Cpu286" identifier = identifier) ;) }))) })) }) (else_clause "else if ((i.reloc[uVar24] == BFD_RELOC_386_TLS_DESC_CALL) ||\n                  (i.reloc[uVar24] == BFD_RELOC_X86_64_TLSDESC_CALL)) {\n            i.rm.mode = 0;\n            goto LAB_00133b80;\n          }" else (if_statement "if ((i.reloc[uVar24] == BFD_RELOC_386_TLS_DESC_CALL) ||\n                  (i.reloc[uVar24] == BFD_RELOC_X86_64_TLSDESC_CALL)) {\n            i.rm.mode = 0;\n            goto LAB_00133b80;\n          }" if (parenthesized_expression "((i.reloc[uVar24] == BFD_RELOC_386_TLS_DESC_CALL) ||\n                  (i.reloc[uVar24] == BFD_RELOC_X86_64_TLSDESC_CALL))" ( (binary_expression "(i.reloc[uVar24] == BFD_RELOC_386_TLS_DESC_CALL) ||\n                  (i.reloc[uVar24] == BFD_RELOC_X86_64_TLSDESC_CALL)" (parenthesized_expression "(i.reloc[uVar24] == BFD_RELOC_386_TLS_DESC_CALL)" ( (binary_expression "i.reloc[uVar24] == BFD_RELOC_386_TLS_DESC_CALL" (subscript_expression "i.reloc[uVar24]" (field_expression "i.reloc" identifier . field_identifier) [ identifier ]) == identifier) )) || (parenthesized_expression "(i.reloc[uVar24] == BFD_RELOC_X86_64_TLSDESC_CALL)" ( (binary_expression "i.reloc[uVar24] == BFD_RELOC_X86_64_TLSDESC_CALL" (subscript_expression "i.reloc[uVar24]" (field_expression "i.reloc" identifier . field_identifier) [ identifier ]) == identifier) ))) )) (compound_statement "{\n            i.rm.mode = 0;\n            goto LAB_00133b80;\n          }" { (expression_statement "i.rm.mode = 0;" (assignment_expression "i.rm.mode = 0" (field_expression "i.rm.mode" (field_expression "i.rm" identifier . field_identifier) . field_identifier) = number_literal) ;) (goto_statement "goto LAB_00133b80;" goto statement_identifier ;) })))) }) (else_clause "else {\n          if (bVar23 != 0) {\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/config/tc-i386.c",0x1b7c,"build_modrm_byte");\n          }\n          if (bVar6 == 3) {\n            if (i.index_reg != (reg_entry *)0x0) {\n              i.rm.regmem = (i.index_reg)->reg_num - 6;\n              goto LAB_0013317e;\n            }\n            i.rm.regmem = 7;\n            puVar15 = ds;\n            aVar19 = Cpu186;\n          }\n          else if (bVar6 == 5) {\n            if (i.index_reg == (reg_entry *)0x0) {\n              puVar15 = ss;\n              i.rm.regmem = 6;\n              aVar19 = Cpu186;\n              if ((*(byte *)((long)i.types + uVar24 * 8 + 2) & 0x1f) == 0) {\n                pbVar4 = (byte *)((long)i.types + uVar24 * 8 + 2);\n                *pbVar4 = *pbVar4 | 1;\n                aVar19 = Cpu286;\n              }\n            }\n            else {\n              i.rm.regmem = (i.index_reg)->reg_num - 4;\n              puVar15 = ss;\n              aVar19 = Cpu186;\n            }\n          }\n          else {\n            i.rm.regmem = bVar6 - 2;\nLAB_0013317e:\n            aVar19 = Cpu186;\n            puVar15 = ds;\n          }\n        }" else (compound_statement "{\n          if (bVar23 != 0) {\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/config/tc-i386.c",0x1b7c,"build_modrm_byte");\n          }\n          if (bVar6 == 3) {\n            if (i.index_reg != (reg_entry *)0x0) {\n              i.rm.regmem = (i.index_reg)->reg_num - 6;\n              goto LAB_0013317e;\n            }\n            i.rm.regmem = 7;\n            puVar15 = ds;\n            aVar19 = Cpu186;\n          }\n          else if (bVar6 == 5) {\n            if (i.index_reg == (reg_entry *)0x0) {\n              puVar15 = ss;\n              i.rm.regmem = 6;\n              aVar19 = Cpu186;\n              if ((*(byte *)((long)i.types + uVar24 * 8 + 2) & 0x1f) == 0) {\n                pbVar4 = (byte *)((long)i.types + uVar24 * 8 + 2);\n                *pbVar4 = *pbVar4 | 1;\n                aVar19 = Cpu286;\n              }\n            }\n            else {\n              i.rm.regmem = (i.index_reg)->reg_num - 4;\n              puVar15 = ss;\n              aVar19 = Cpu186;\n            }\n          }\n          else {\n            i.rm.regmem = bVar6 - 2;\nLAB_0013317e:\n            aVar19 = Cpu186;\n            puVar15 = ds;\n          }\n        }" { (if_statement "if (bVar23 != 0) {\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/config/tc-i386.c",0x1b7c,"build_modrm_byte");\n          }" if (parenthesized_expression "(bVar23 != 0)" ( (binary_expression "bVar23 != 0" identifier != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/config/tc-i386.c",0x1b7c,"build_modrm_byte");\n          }" { comment (expression_statement "as_abort("../../gas/config/tc-i386.c",0x1b7c,"build_modrm_byte");" (call_expression "as_abort("../../gas/config/tc-i386.c",0x1b7c,"build_modrm_byte")" identifier (argument_list "("../../gas/config/tc-i386.c",0x1b7c,"build_modrm_byte")" ( (string_literal ""../../gas/config/tc-i386.c"" " string_content ") , number_literal , (string_literal ""build_modrm_byte"" " string_content ") ))) ;) })) (if_statement "if (bVar6 == 3) {\n            if (i.index_reg != (reg_entry *)0x0) {\n              i.rm.regmem = (i.index_reg)->reg_num - 6;\n              goto LAB_0013317e;\n            }\n            i.rm.regmem = 7;\n            puVar15 = ds;\n            aVar19 = Cpu186;\n          }\n          else if (bVar6 == 5) {\n            if (i.index_reg == (reg_entry *)0x0) {\n              puVar15 = ss;\n              i.rm.regmem = 6;\n              aVar19 = Cpu186;\n              if ((*(byte *)((long)i.types + uVar24 * 8 + 2) & 0x1f) == 0) {\n                pbVar4 = (byte *)((long)i.types + uVar24 * 8 + 2);\n                *pbVar4 = *pbVar4 | 1;\n                aVar19 = Cpu286;\n              }\n            }\n            else {\n              i.rm.regmem = (i.index_reg)->reg_num - 4;\n              puVar15 = ss;\n              aVar19 = Cpu186;\n            }\n          }\n          else {\n            i.rm.regmem = bVar6 - 2;\nLAB_0013317e:\n            aVar19 = Cpu186;\n            puVar15 = ds;\n          }" if (parenthesized_expression "(bVar6 == 3)" ( (binary_expression "bVar6 == 3" identifier == number_literal) )) (compound_statement "{\n            if (i.index_reg != (reg_entry *)0x0) {\n              i.rm.regmem = (i.index_reg)->reg_num - 6;\n              goto LAB_0013317e;\n            }\n            i.rm.regmem = 7;\n            puVar15 = ds;\n            aVar19 = Cpu186;\n          }" { (if_statement "if (i.index_reg != (reg_entry *)0x0) {\n              i.rm.regmem = (i.index_reg)->reg_num - 6;\n              goto LAB_0013317e;\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              i.rm.regmem = (i.index_reg)->reg_num - 6;\n              goto LAB_0013317e;\n            }" { (expression_statement "i.rm.regmem = (i.index_reg)->reg_num - 6;" (assignment_expression "i.rm.regmem = (i.index_reg)->reg_num - 6" (field_expression "i.rm.regmem" (field_expression "i.rm" identifier . field_identifier) . field_identifier) = (binary_expression "(i.index_reg)->reg_num - 6" (field_expression "(i.index_reg)->reg_num" (parenthesized_expression "(i.index_reg)" ( (field_expression "i.index_reg" identifier . field_identifier) )) -> field_identifier) - number_literal)) ;) (goto_statement "goto LAB_0013317e;" goto statement_identifier ;) })) (expression_statement "i.rm.regmem = 7;" (assignment_expression "i.rm.regmem = 7" (field_expression "i.rm.regmem" (field_expression "i.rm" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "puVar15 = ds;" (assignment_expression "puVar15 = ds" identifier = identifier) ;) (expression_statement "aVar19 = Cpu186;" (assignment_expression "aVar19 = Cpu186" identifier = identifier) ;) }) (else_clause "else if (bVar6 == 5) {\n            if (i.index_reg == (reg_entry *)0x0) {\n              puVar15 = ss;\n              i.rm.regmem = 6;\n              aVar19 = Cpu186;\n              if ((*(byte *)((long)i.types + uVar24 * 8 + 2) & 0x1f) == 0) {\n                pbVar4 = (byte *)((long)i.types + uVar24 * 8 + 2);\n                *pbVar4 = *pbVar4 | 1;\n                aVar19 = Cpu286;\n              }\n            }\n            else {\n              i.rm.regmem = (i.index_reg)->reg_num - 4;\n              puVar15 = ss;\n              aVar19 = Cpu186;\n            }\n          }\n          else {\n            i.rm.regmem = bVar6 - 2;\nLAB_0013317e:\n            aVar19 = Cpu186;\n            puVar15 = ds;\n          }" else (if_statement "if (bVar6 == 5) {\n            if (i.index_reg == (reg_entry *)0x0) {\n              puVar15 = ss;\n              i.rm.regmem = 6;\n              aVar19 = Cpu186;\n              if ((*(byte *)((long)i.types + uVar24 * 8 + 2) & 0x1f) == 0) {\n                pbVar4 = (byte *)((long)i.types + uVar24 * 8 + 2);\n                *pbVar4 = *pbVar4 | 1;\n                aVar19 = Cpu286;\n              }\n            }\n            else {\n              i.rm.regmem = (i.index_reg)->reg_num - 4;\n              puVar15 = ss;\n              aVar19 = Cpu186;\n            }\n          }\n          else {\n            i.rm.regmem = bVar6 - 2;\nLAB_0013317e:\n            aVar19 = Cpu186;\n            puVar15 = ds;\n          }" if (parenthesized_expression "(bVar6 == 5)" ( (binary_expression "bVar6 == 5" identifier == number_literal) )) (compound_statement "{\n            if (i.index_reg == (reg_entry *)0x0) {\n              puVar15 = ss;\n              i.rm.regmem = 6;\n              aVar19 = Cpu186;\n              if ((*(byte *)((long)i.types + uVar24 * 8 + 2) & 0x1f) == 0) {\n                pbVar4 = (byte *)((long)i.types + uVar24 * 8 + 2);\n                *pbVar4 = *pbVar4 | 1;\n                aVar19 = Cpu286;\n              }\n            }\n            else {\n              i.rm.regmem = (i.index_reg)->reg_num - 4;\n              puVar15 = ss;\n              aVar19 = Cpu186;\n            }\n          }" { (if_statement "if (i.index_reg == (reg_entry *)0x0) {\n              puVar15 = ss;\n              i.rm.regmem = 6;\n              aVar19 = Cpu186;\n              if ((*(byte *)((long)i.types + uVar24 * 8 + 2) & 0x1f) == 0) {\n                pbVar4 = (byte *)((long)i.types + uVar24 * 8 + 2);\n                *pbVar4 = *pbVar4 | 1;\n                aVar19 = Cpu286;\n              }\n            }\n            else {\n              i.rm.regmem = (i.index_reg)->reg_num - 4;\n              puVar15 = ss;\n              aVar19 = Cpu186;\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              puVar15 = ss;\n              i.rm.regmem = 6;\n              aVar19 = Cpu186;\n              if ((*(byte *)((long)i.types + uVar24 * 8 + 2) & 0x1f) == 0) {\n                pbVar4 = (byte *)((long)i.types + uVar24 * 8 + 2);\n                *pbVar4 = *pbVar4 | 1;\n                aVar19 = Cpu286;\n              }\n            }" { (expression_statement "puVar15 = ss;" (assignment_expression "puVar15 = ss" identifier = identifier) ;) (expression_statement "i.rm.regmem = 6;" (assignment_expression "i.rm.regmem = 6" (field_expression "i.rm.regmem" (field_expression "i.rm" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "aVar19 = Cpu186;" (assignment_expression "aVar19 = Cpu186" identifier = identifier) ;) (if_statement "if ((*(byte *)((long)i.types + uVar24 * 8 + 2) & 0x1f) == 0) {\n                pbVar4 = (byte *)((long)i.types + uVar24 * 8 + 2);\n                *pbVar4 = *pbVar4 | 1;\n                aVar19 = Cpu286;\n              }" if (parenthesized_expression "((*(byte *)((long)i.types + uVar24 * 8 + 2) & 0x1f) == 0)" ( (binary_expression "(*(byte *)((long)i.types + uVar24 * 8 + 2) & 0x1f) == 0" (parenthesized_expression "(*(byte *)((long)i.types + uVar24 * 8 + 2) & 0x1f)" ( (binary_expression "*(byte *)((long)i.types + uVar24 * 8 + 2) & 0x1f" (pointer_expression "*(byte *)((long)i.types + uVar24 * 8 + 2)" * (cast_expression "(byte *)((long)i.types + uVar24 * 8 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)i.types + uVar24 * 8 + 2)" ( (binary_expression "(long)i.types + uVar24 * 8 + 2" (binary_expression "(long)i.types + uVar24 * 8" (cast_expression "(long)i.types" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (field_expression "i.types" identifier . field_identifier)) + (binary_expression "uVar24 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n                pbVar4 = (byte *)((long)i.types + uVar24 * 8 + 2);\n                *pbVar4 = *pbVar4 | 1;\n                aVar19 = Cpu286;\n              }" { (expression_statement "pbVar4 = (byte *)((long)i.types + uVar24 * 8 + 2);" (assignment_expression "pbVar4 = (byte *)((long)i.types + uVar24 * 8 + 2)" identifier = (cast_expression "(byte *)((long)i.types + uVar24 * 8 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)i.types + uVar24 * 8 + 2)" ( (binary_expression "(long)i.types + uVar24 * 8 + 2" (binary_expression "(long)i.types + uVar24 * 8" (cast_expression "(long)i.types" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (field_expression "i.types" identifier . field_identifier)) + (binary_expression "uVar24 * 8" identifier * number_literal)) + number_literal) )))) ;) (expression_statement "*pbVar4 = *pbVar4 | 1;" (assignment_expression "*pbVar4 = *pbVar4 | 1" (pointer_expression "*pbVar4" * identifier) = (binary_expression "*pbVar4 | 1" (pointer_expression "*pbVar4" * identifier) | number_literal)) ;) (expression_statement "aVar19 = Cpu286;" (assignment_expression "aVar19 = Cpu286" identifier = identifier) ;) })) }) (else_clause "else {\n              i.rm.regmem = (i.index_reg)->reg_num - 4;\n              puVar15 = ss;\n              aVar19 = Cpu186;\n            }" else (compound_statement "{\n              i.rm.regmem = (i.index_reg)->reg_num - 4;\n              puVar15 = ss;\n              aVar19 = Cpu186;\n            }" { (expression_statement "i.rm.regmem = (i.index_reg)->reg_num - 4;" (assignment_expression "i.rm.regmem = (i.index_reg)->reg_num - 4" (field_expression "i.rm.regmem" (field_expression "i.rm" identifier . field_identifier) . field_identifier) = (binary_expression "(i.index_reg)->reg_num - 4" (field_expression "(i.index_reg)->reg_num" (parenthesized_expression "(i.index_reg)" ( (field_expression "i.index_reg" identifier . field_identifier) )) -> field_identifier) - number_literal)) ;) (expression_statement "puVar15 = ss;" (assignment_expression "puVar15 = ss" identifier = identifier) ;) (expression_statement "aVar19 = Cpu186;" (assignment_expression "aVar19 = Cpu186" identifier = identifier) ;) }))) }) (else_clause "else {\n            i.rm.regmem = bVar6 - 2;\nLAB_0013317e:\n            aVar19 = Cpu186;\n            puVar15 = ds;\n          }" else (compound_statement "{\n            i.rm.regmem = bVar6 - 2;\nLAB_0013317e:\n            aVar19 = Cpu186;\n            puVar15 = ds;\n          }" { (expression_statement "i.rm.regmem = bVar6 - 2;" (assignment_expression "i.rm.regmem = bVar6 - 2" (field_expression "i.rm.regmem" (field_expression "i.rm" identifier . field_identifier) . field_identifier) = (binary_expression "bVar6 - 2" identifier - number_literal)) ;) (labeled_statement "LAB_0013317e:\n            aVar19 = Cpu186;" statement_identifier : (expression_statement "aVar19 = Cpu186;" (assignment_expression "aVar19 = Cpu186" identifier = identifier) ;)) (expression_statement "puVar15 = ds;" (assignment_expression "puVar15 = ds" identifier = identifier) ;) }))))) }))) (expression_statement "i.rm.mode = 1;" (assignment_expression "i.rm.mode = 1" (field_expression "i.rm.mode" (field_expression "i.rm" identifier . field_identifier) . field_identifier) = number_literal) ;) (if_statement "if (((ulong)i.types[uVar24] >> 0x10 & 1) == 0) {\n          i.rm.mode = (uint)(((ulong)i.types[uVar24] & 0xe0000) != 0) * 2;\n        }" if (parenthesized_expression "(((ulong)i.types[uVar24] >> 0x10 & 1) == 0)" ( (binary_expression "((ulong)i.types[uVar24] >> 0x10 & 1) == 0" (parenthesized_expression "((ulong)i.types[uVar24] >> 0x10 & 1)" ( (binary_expression "(ulong)i.types[uVar24] >> 0x10 & 1" (binary_expression "(ulong)i.types[uVar24] >> 0x10" (cast_expression "(ulong)i.types[uVar24]" ( (type_descriptor "ulong" type_identifier) ) (subscript_expression "i.types[uVar24]" (field_expression "i.types" identifier . field_identifier) [ identifier ])) >> number_literal) & number_literal) )) == number_literal) )) (compound_statement "{\n          i.rm.mode = (uint)(((ulong)i.types[uVar24] & 0xe0000) != 0) * 2;\n        }" { (expression_statement "i.rm.mode = (uint)(((ulong)i.types[uVar24] & 0xe0000) != 0) * 2;" (assignment_expression "i.rm.mode = (uint)(((ulong)i.types[uVar24] & 0xe0000) != 0) * 2" (field_expression "i.rm.mode" (field_expression "i.rm" identifier . field_identifier) . field_identifier) = (binary_expression "(uint)(((ulong)i.types[uVar24] & 0xe0000) != 0) * 2" (call_expression "(uint)(((ulong)i.types[uVar24] & 0xe0000) != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(((ulong)i.types[uVar24] & 0xe0000) != 0)" ( (binary_expression "((ulong)i.types[uVar24] & 0xe0000) != 0" (parenthesized_expression "((ulong)i.types[uVar24] & 0xe0000)" ( (binary_expression "(ulong)i.types[uVar24] & 0xe0000" (cast_expression "(ulong)i.types[uVar24]" ( (type_descriptor "ulong" type_identifier) ) (subscript_expression "i.types[uVar24]" (field_expression "i.types" identifier . field_identifier) [ identifier ])) & number_literal) )) != number_literal) ))) * number_literal)) ;) })) (goto_statement "goto LAB_00133b80;" goto statement_identifier ;) })) (if_statement "if (bVar23 != 0) {\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/tc-i386.c",0x1b6f,"build_modrm_byte");\n      }" if (parenthesized_expression "(bVar23 != 0)" ( (binary_expression "bVar23 != 0" identifier != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/tc-i386.c",0x1b6f,"build_modrm_byte");\n      }" { comment (expression_statement "as_abort("../../gas/config/tc-i386.c",0x1b6f,"build_modrm_byte");" (call_expression "as_abort("../../gas/config/tc-i386.c",0x1b6f,"build_modrm_byte")" identifier (argument_list "("../../gas/config/tc-i386.c",0x1b6f,"build_modrm_byte")" ( (string_literal ""../../gas/config/tc-i386.c"" " string_content ") , number_literal , (string_literal ""build_modrm_byte"" " string_content ") ))) ;) })) (expression_statement "i.rm.regmem = 5;" (assignment_expression "i.rm.regmem = 5" (field_expression "i.rm.regmem" (field_expression "i.rm" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "*(byte *)((long)i.types + uVar24 * 8 + 2) =\n           *(byte *)((long)i.types + uVar24 * 8 + 2) & 0xe0 | 8;" (assignment_expression "*(byte *)((long)i.types + uVar24 * 8 + 2) =\n           *(byte *)((long)i.types + uVar24 * 8 + 2) & 0xe0 | 8" (pointer_expression "*(byte *)((long)i.types + uVar24 * 8 + 2)" * (cast_expression "(byte *)((long)i.types + uVar24 * 8 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)i.types + uVar24 * 8 + 2)" ( (binary_expression "(long)i.types + uVar24 * 8 + 2" (binary_expression "(long)i.types + uVar24 * 8" (cast_expression "(long)i.types" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (field_expression "i.types" identifier . field_identifier)) + (binary_expression "uVar24 * 8" identifier * number_literal)) + number_literal) )))) = (binary_expression "*(byte *)((long)i.types + uVar24 * 8 + 2) & 0xe0 | 8" (binary_expression "*(byte *)((long)i.types + uVar24 * 8 + 2) & 0xe0" (pointer_expression "*(byte *)((long)i.types + uVar24 * 8 + 2)" * (cast_expression "(byte *)((long)i.types + uVar24 * 8 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)i.types + uVar24 * 8 + 2)" ( (binary_expression "(long)i.types + uVar24 * 8 + 2" (binary_expression "(long)i.types + uVar24 * 8" (cast_expression "(long)i.types" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (field_expression "i.types" identifier . field_identifier)) + (binary_expression "uVar24 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) | number_literal)) ;) (expression_statement "uVar18 = i.disp_operands;" (assignment_expression "uVar18 = i.disp_operands" identifier = (field_expression "i.disp_operands" identifier . field_identifier)) ;) (expression_statement "i.flags[uVar24] = i.flags[uVar24] | 1;" (assignment_expression "i.flags[uVar24] = i.flags[uVar24] | 1" (subscript_expression "i.flags[uVar24]" (field_expression "i.flags" identifier . field_identifier) [ identifier ]) = (binary_expression "i.flags[uVar24] | 1" (subscript_expression "i.flags[uVar24]" (field_expression "i.flags" identifier . field_identifier) [ identifier ]) | number_literal)) ;) (if_statement "if (uVar18 != 0) {\nLAB_00133424:\n        puVar15 = ds;\n        goto LAB_00133089;\n      }" if (parenthesized_expression "(uVar18 != 0)" ( (binary_expression "uVar18 != 0" identifier != number_literal) )) (compound_statement "{\nLAB_00133424:\n        puVar15 = ds;\n        goto LAB_00133089;\n      }" { (labeled_statement "LAB_00133424:\n        puVar15 = ds;" statement_identifier : (expression_statement "puVar15 = ds;" (assignment_expression "puVar15 = ds" identifier = identifier) ;)) (goto_statement "goto LAB_00133089;" goto statement_identifier ;) })) (labeled_statement "LAB_00133a60:\n      puVar15 = ds;" statement_identifier : (expression_statement "puVar15 = ds;" (assignment_expression "puVar15 = ds" identifier = identifier) ;)) (labeled_statement "LAB_00133a67:\n      if (i.op[uVar24].disps != (expressionS *)0x0) {\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/tc-i386.c",0x1bed,"build_modrm_byte");\n      }" statement_identifier : (if_statement "if (i.op[uVar24].disps != (expressionS *)0x0) {\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/tc-i386.c",0x1bed,"build_modrm_byte");\n      }" if (parenthesized_expression "(i.op[uVar24].disps != (expressionS *)0x0)" ( (binary_expression "i.op[uVar24].disps != (expressionS *)0x0" (field_expression "i.op[uVar24].disps" (subscript_expression "i.op[uVar24]" (field_expression "i.op" identifier . field_identifier) [ identifier ]) . field_identifier) != (cast_expression "(expressionS *)0x0" ( (type_descriptor "expressionS *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/tc-i386.c",0x1bed,"build_modrm_byte");\n      }" { comment (expression_statement "as_abort("../../gas/config/tc-i386.c",0x1bed,"build_modrm_byte");" (call_expression "as_abort("../../gas/config/tc-i386.c",0x1bed,"build_modrm_byte")" identifier (argument_list "("../../gas/config/tc-i386.c",0x1bed,"build_modrm_byte")" ( (string_literal ""../../gas/config/tc-i386.c"" " string_content ") , number_literal , (string_literal ""build_modrm_byte"" " string_content ") ))) ;) }))) (expression_statement "uVar14 = (ulong)i.disp_operands;" (assignment_expression "uVar14 = (ulong)i.disp_operands" identifier = (cast_expression "(ulong)i.disp_operands" ( (type_descriptor "ulong" type_identifier) ) (field_expression "i.disp_operands" identifier . field_identifier))) ;) (expression_statement "i.disp_operands = i.disp_operands + 1;" (assignment_expression "i.disp_operands = i.disp_operands + 1" (field_expression "i.disp_operands" identifier . field_identifier) = (binary_expression "i.disp_operands + 1" (field_expression "i.disp_operands" identifier . field_identifier) + number_literal)) ;) (expression_statement "i.op[uVar24].disps = disp_expressions + uVar14;" (assignment_expression "i.op[uVar24].disps = disp_expressions + uVar14" (field_expression "i.op[uVar24].disps" (subscript_expression "i.op[uVar24]" (field_expression "i.op" identifier . field_identifier) [ identifier ]) . field_identifier) = (binary_expression "disp_expressions + uVar14" identifier + identifier)) ;) (expression_statement "disp_expressions[uVar14].field_0x18 = 2;" (assignment_expression "disp_expressions[uVar14].field_0x18 = 2" (field_expression "disp_expressions[uVar14].field_0x18" (subscript_expression "disp_expressions[uVar14]" identifier [ identifier ]) . field_identifier) = number_literal) ;) (expression_statement "disp_expressions[uVar14].X_add_number = 0;" (assignment_expression "disp_expressions[uVar14].X_add_number = 0" (field_expression "disp_expressions[uVar14].X_add_number" (subscript_expression "disp_expressions[uVar14]" identifier [ identifier ]) . field_identifier) = number_literal) ;) (expression_statement "disp_expressions[uVar14].X_add_symbol = (symbolS *)0x0;" (assignment_expression "disp_expressions[uVar14].X_add_symbol = (symbolS *)0x0" (field_expression "disp_expressions[uVar14].X_add_symbol" (subscript_expression "disp_expressions[uVar14]" identifier [ identifier ]) . field_identifier) = (cast_expression "(symbolS *)0x0" ( (type_descriptor "symbolS *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "disp_expressions[uVar14].X_op_symbol = (symbolS *)0x0;" (assignment_expression "disp_expressions[uVar14].X_op_symbol = (symbolS *)0x0" (field_expression "disp_expressions[uVar14].X_op_symbol" (subscript_expression "disp_expressions[uVar14]" identifier [ identifier ]) . field_identifier) = (cast_expression "(symbolS *)0x0" ( (type_descriptor "symbolS *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) (expression_statement "bVar25 = i.tm.opcode_modifier._6_1_ & 0xc;" (assignment_expression "bVar25 = i.tm.opcode_modifier._6_1_ & 0xc" identifier = (binary_expression "i.tm.opcode_modifier._6_1_ & 0xc" (field_expression "i.tm.opcode_modifier._6_1_" (field_expression "i.tm.opcode_modifier" (field_expression "i.tm" identifier . field_identifier) . field_identifier) . field_identifier) & number_literal)) ;) }))) (labeled_statement "LAB_00133089:\n  if (bVar25 == 4) {\n    if ((i.types[0].array[0]._1_1_ & 0xfc) == 0) {\n      if ((i.tm.opcode_modifier._5_1_ & 0x60) == 0x20) {\n        i.vex.register_specifier = i.op[0].regs;\n      }\n      else {\n        i.vex.register_specifier = i.op[1].regs;\n      }\n    }\n    else {\n      i.vex.register_specifier = (reg_entry *)0x0;\n    }\n    i.rm.reg = (uint)(i.op[2].regs)->reg_num;\n    if (((i.op[2].regs)->reg_flags & 1) != 0) {\n      i.rex = i.rex | 4;\n    }\n    if (i.mem_operands != 0) goto LAB_001330bc;\n    if ((i.tm.opcode_modifier._5_1_ & 0x60) == 0x20) {\n      bVar22 = (i.op[1].regs)->reg_num;\n    }\n    else {\n      bVar22 = (i.op[0].regs)->reg_num;\n    }\n    bVar25 = (i.op[1].regs)->reg_flags;\n  }\n  else {\n    bVar25 = i.tm.opcode_modifier._5_1_ & 0x18;\n    if (bVar25 != 0x18) {\n      if (i.reg_operands == 0) goto LAB_001330bc;\n      if ((((i.operands == 0) || ((i.types[0].array[0]._0_1_ & 1) != 0)) ||\n          ((i.types[0].array[0]._0_1_ & 2) != 0)) ||\n         (((i.types[0].array[0]._0_1_ & 4) != 0 || ((i.types[0].array[1]._1_1_ & 2) != 0)))) {\n        uVar24 = 0;\n      }\n      else {\n        uVar24 = 0;\n        if ((i.types[0].array[0]._0_1_ & 8) == 0) {\n          uVar14 = 0;\n          while( true ) {\n            bVar23 = *(byte *)(i.types + uVar14);\n            if ((((char)bVar23 < '\0') || ((*(byte *)((long)i.types + uVar14 * 8 + 1) & 1) != 0)) ||\n               (((bVar23 & 0x10) != 0 || (((bVar23 & 0x20) != 0 || ((bVar23 & 0x40) != 0))))))\n            goto LAB_00133670;\n            uVar18 = (int)uVar24 + 1;\n            uVar24 = (ulong)uVar18;\n            if (i.operands == uVar18) break;\n            uVar14 = (ulong)uVar18;\n            iVar8 = i.types[uVar14];\n            if ((((((ulong)iVar8 & 1) != 0) || (((ulong)iVar8 & 2) != 0)) ||\n                (((ulong)iVar8 & 4) != 0)) ||\n               (((*(byte *)((long)i.types + uVar14 * 8 + 5) & 2) != 0 ||\n                (((ulong)i.types[uVar14] & 8) != 0)))) goto LAB_00133670;\n          }\n          uVar24 = (ulong)i.operands;\n        }\n      }\nLAB_00133670:\n      uVar18 = (uint)uVar24;\n      if (bVar22 == 8) {\n        uVar18 = 0xffffffff;\n        uVar24 = uVar21;\nLAB_00133b96:\n        if (uVar18 != (uint)uVar24) goto LAB_001336a6;\n        if (i.mem_operands != 0) goto LAB_001330bc;\n      }\n      else {\n        uVar21 = uVar24;\n        if (bVar25 == 8) {\n          if (uVar26 == 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/config/tc-i386.c",0x1c44,"build_modrm_byte");\n          }\n          uVar20 = uVar18 + 1;\n          uVar21 = (ulong)uVar20;\n          uVar14 = uVar24;\n          if (uVar26 < uVar18) {\n            if (i.operands <= uVar20) {\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1c49,"build_modrm_byte");\n            }\n          }\n          else if (((*(byte *)((long)i.tm.operand_types + uVar24 * 8 + 2) & 0x40) == 0) &&\n                  ((*(byte *)((long)i.tm.operand_types + uVar21 * 8 + 2) & 0x40) != 0)) {\n            if ((i.operands <= uVar18 + 2) || (uVar26 != uVar20)) {\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1c55,"build_modrm_byte");\n            }\n            uVar21 = (ulong)(uVar18 + 2);\n          }\n          else {\n            uVar14 = uVar21;\n            uVar21 = uVar24;\n            uVar18 = uVar20;\n            if (i.operands <= uVar20) {\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1c5a,"build_modrm_byte");\n            }\n          }\nLAB_00133e49:\n          iVar8 = i.tm.operand_types[uVar14];\n          if (((((ulong)iVar8 & 1) == 0) ||\n              ((-1 < *(char *)((long)i.tm.operand_types + uVar14 * 8 + 3) &&\n               ((*(byte *)((long)i.tm.operand_types + uVar14 * 8 + 4) & 2) == 0)))) &&\n             ((((ulong)iVar8 & 4) == 0 &&\n              ((*(uint *)((long)i.tm.operand_types + uVar14 * 8 + 4) != regmask.array[1] ||\n               (i.tm.operand_types[uVar14].array[0] != regmask.array[0])))))) {\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/config/tc-i386.c",0x1c7b,"build_modrm_byte");\n          }\n          i.vex.register_specifier = i.op[uVar14].regs;\n          uVar24 = uVar21;\n          goto LAB_00133b96;\n        }\n        if (bVar25 == 0x10) {\n          if (i.mem_operands == 0) {\n            if (i.operands != uVar18 + 2) {\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1c65,"build_modrm_byte");\n            }\n            uVar14 = (ulong)(uVar18 + 1);\n            uVar18 = uVar18 + 1;\n          }\n          else {\n            if ((i.imm_operands + 2 <= uVar18) || (i.operands != i.imm_operands + 2)) {\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1c6c,"build_modrm_byte");\n            }\n            uVar18 = i.imm_operands + 1;\n            if (uVar18 == 0xffffffff) goto LAB_001336a6;\n            uVar14 = (ulong)uVar18;\n          }\n          goto LAB_00133e49;\n        }\n        if (i.operands <= uVar18) {\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/config/tc-i386.c",0x1c71,"build_modrm_byte");\n        }\nLAB_001336a6:\n        if (i.tm.extension_opcode == 0xffff) {\n          i.rm.reg = (uint)(i.op[uVar24].regs)->reg_num;\n          bVar22 = (i.op[uVar24].regs)->reg_flags;\n          if ((bVar22 & 1) != 0) {\n            i.rex = i.rex | 4;\n          }\n          if ((bVar22 & 4) != 0) {\n            i.vrex = i.vrex | 4;\n          }\n          if (i.mem_operands == 0) {\n            i.rm.mode = 3;\n            return (seg_entry *)puVar15;\n          }\n          return (seg_entry *)puVar15;\n        }\n        i.rm.regmem = (uint)(i.op[uVar24].regs)->reg_num;\n        bVar22 = (i.op[uVar24].regs)->reg_flags;\n        if ((bVar22 & 1) != 0) {\n          i.rex = i.rex | 1;\n        }\n        if ((bVar22 & 4) != 0) {\n          i.vrex = i.vrex | 1;\n        }\n        if (i.mem_operands != 0) {\n          i.rm.reg = i.tm.extension_opcode;\n          return (seg_entry *)puVar15;\n        }\n      }\n      i.rm.mode = 3;\n      goto LAB_001330bc;\n    }\n    i.vex.register_specifier = i.op[2].regs;\n    if (i.mem_operands != 0) goto LAB_001330bc;\n    bVar22 = (i.op[1].regs)->reg_num;\n    bVar25 = (i.op[1].regs)->reg_flags;\n  }" statement_identifier : (if_statement "if (bVar25 == 4) {\n    if ((i.types[0].array[0]._1_1_ & 0xfc) == 0) {\n      if ((i.tm.opcode_modifier._5_1_ & 0x60) == 0x20) {\n        i.vex.register_specifier = i.op[0].regs;\n      }\n      else {\n        i.vex.register_specifier = i.op[1].regs;\n      }\n    }\n    else {\n      i.vex.register_specifier = (reg_entry *)0x0;\n    }\n    i.rm.reg = (uint)(i.op[2].regs)->reg_num;\n    if (((i.op[2].regs)->reg_flags & 1) != 0) {\n      i.rex = i.rex | 4;\n    }\n    if (i.mem_operands != 0) goto LAB_001330bc;\n    if ((i.tm.opcode_modifier._5_1_ & 0x60) == 0x20) {\n      bVar22 = (i.op[1].regs)->reg_num;\n    }\n    else {\n      bVar22 = (i.op[0].regs)->reg_num;\n    }\n    bVar25 = (i.op[1].regs)->reg_flags;\n  }\n  else {\n    bVar25 = i.tm.opcode_modifier._5_1_ & 0x18;\n    if (bVar25 != 0x18) {\n      if (i.reg_operands == 0) goto LAB_001330bc;\n      if ((((i.operands == 0) || ((i.types[0].array[0]._0_1_ & 1) != 0)) ||\n          ((i.types[0].array[0]._0_1_ & 2) != 0)) ||\n         (((i.types[0].array[0]._0_1_ & 4) != 0 || ((i.types[0].array[1]._1_1_ & 2) != 0)))) {\n        uVar24 = 0;\n      }\n      else {\n        uVar24 = 0;\n        if ((i.types[0].array[0]._0_1_ & 8) == 0) {\n          uVar14 = 0;\n          while( true ) {\n            bVar23 = *(byte *)(i.types + uVar14);\n            if ((((char)bVar23 < '\0') || ((*(byte *)((long)i.types + uVar14 * 8 + 1) & 1) != 0)) ||\n               (((bVar23 & 0x10) != 0 || (((bVar23 & 0x20) != 0 || ((bVar23 & 0x40) != 0))))))\n            goto LAB_00133670;\n            uVar18 = (int)uVar24 + 1;\n            uVar24 = (ulong)uVar18;\n            if (i.operands == uVar18) break;\n            uVar14 = (ulong)uVar18;\n            iVar8 = i.types[uVar14];\n            if ((((((ulong)iVar8 & 1) != 0) || (((ulong)iVar8 & 2) != 0)) ||\n                (((ulong)iVar8 & 4) != 0)) ||\n               (((*(byte *)((long)i.types + uVar14 * 8 + 5) & 2) != 0 ||\n                (((ulong)i.types[uVar14] & 8) != 0)))) goto LAB_00133670;\n          }\n          uVar24 = (ulong)i.operands;\n        }\n      }\nLAB_00133670:\n      uVar18 = (uint)uVar24;\n      if (bVar22 == 8) {\n        uVar18 = 0xffffffff;\n        uVar24 = uVar21;\nLAB_00133b96:\n        if (uVar18 != (uint)uVar24) goto LAB_001336a6;\n        if (i.mem_operands != 0) goto LAB_001330bc;\n      }\n      else {\n        uVar21 = uVar24;\n        if (bVar25 == 8) {\n          if (uVar26 == 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/config/tc-i386.c",0x1c44,"build_modrm_byte");\n          }\n          uVar20 = uVar18 + 1;\n          uVar21 = (ulong)uVar20;\n          uVar14 = uVar24;\n          if (uVar26 < uVar18) {\n            if (i.operands <= uVar20) {\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1c49,"build_modrm_byte");\n            }\n          }\n          else if (((*(byte *)((long)i.tm.operand_types + uVar24 * 8 + 2) & 0x40) == 0) &&\n                  ((*(byte *)((long)i.tm.operand_types + uVar21 * 8 + 2) & 0x40) != 0)) {\n            if ((i.operands <= uVar18 + 2) || (uVar26 != uVar20)) {\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1c55,"build_modrm_byte");\n            }\n            uVar21 = (ulong)(uVar18 + 2);\n          }\n          else {\n            uVar14 = uVar21;\n            uVar21 = uVar24;\n            uVar18 = uVar20;\n            if (i.operands <= uVar20) {\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1c5a,"build_modrm_byte");\n            }\n          }\nLAB_00133e49:\n          iVar8 = i.tm.operand_types[uVar14];\n          if (((((ulong)iVar8 & 1) == 0) ||\n              ((-1 < *(char *)((long)i.tm.operand_types + uVar14 * 8 + 3) &&\n               ((*(byte *)((long)i.tm.operand_types + uVar14 * 8 + 4) & 2) == 0)))) &&\n             ((((ulong)iVar8 & 4) == 0 &&\n              ((*(uint *)((long)i.tm.operand_types + uVar14 * 8 + 4) != regmask.array[1] ||\n               (i.tm.operand_types[uVar14].array[0] != regmask.array[0])))))) {\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/config/tc-i386.c",0x1c7b,"build_modrm_byte");\n          }\n          i.vex.register_specifier = i.op[uVar14].regs;\n          uVar24 = uVar21;\n          goto LAB_00133b96;\n        }\n        if (bVar25 == 0x10) {\n          if (i.mem_operands == 0) {\n            if (i.operands != uVar18 + 2) {\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1c65,"build_modrm_byte");\n            }\n            uVar14 = (ulong)(uVar18 + 1);\n            uVar18 = uVar18 + 1;\n          }\n          else {\n            if ((i.imm_operands + 2 <= uVar18) || (i.operands != i.imm_operands + 2)) {\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1c6c,"build_modrm_byte");\n            }\n            uVar18 = i.imm_operands + 1;\n            if (uVar18 == 0xffffffff) goto LAB_001336a6;\n            uVar14 = (ulong)uVar18;\n          }\n          goto LAB_00133e49;\n        }\n        if (i.operands <= uVar18) {\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/config/tc-i386.c",0x1c71,"build_modrm_byte");\n        }\nLAB_001336a6:\n        if (i.tm.extension_opcode == 0xffff) {\n          i.rm.reg = (uint)(i.op[uVar24].regs)->reg_num;\n          bVar22 = (i.op[uVar24].regs)->reg_flags;\n          if ((bVar22 & 1) != 0) {\n            i.rex = i.rex | 4;\n          }\n          if ((bVar22 & 4) != 0) {\n            i.vrex = i.vrex | 4;\n          }\n          if (i.mem_operands == 0) {\n            i.rm.mode = 3;\n            return (seg_entry *)puVar15;\n          }\n          return (seg_entry *)puVar15;\n        }\n        i.rm.regmem = (uint)(i.op[uVar24].regs)->reg_num;\n        bVar22 = (i.op[uVar24].regs)->reg_flags;\n        if ((bVar22 & 1) != 0) {\n          i.rex = i.rex | 1;\n        }\n        if ((bVar22 & 4) != 0) {\n          i.vrex = i.vrex | 1;\n        }\n        if (i.mem_operands != 0) {\n          i.rm.reg = i.tm.extension_opcode;\n          return (seg_entry *)puVar15;\n        }\n      }\n      i.rm.mode = 3;\n      goto LAB_001330bc;\n    }\n    i.vex.register_specifier = i.op[2].regs;\n    if (i.mem_operands != 0) goto LAB_001330bc;\n    bVar22 = (i.op[1].regs)->reg_num;\n    bVar25 = (i.op[1].regs)->reg_flags;\n  }" if (parenthesized_expression "(bVar25 == 4)" ( (binary_expression "bVar25 == 4" identifier == number_literal) )) (compound_statement "{\n    if ((i.types[0].array[0]._1_1_ & 0xfc) == 0) {\n      if ((i.tm.opcode_modifier._5_1_ & 0x60) == 0x20) {\n        i.vex.register_specifier = i.op[0].regs;\n      }\n      else {\n        i.vex.register_specifier = i.op[1].regs;\n      }\n    }\n    else {\n      i.vex.register_specifier = (reg_entry *)0x0;\n    }\n    i.rm.reg = (uint)(i.op[2].regs)->reg_num;\n    if (((i.op[2].regs)->reg_flags & 1) != 0) {\n      i.rex = i.rex | 4;\n    }\n    if (i.mem_operands != 0) goto LAB_001330bc;\n    if ((i.tm.opcode_modifier._5_1_ & 0x60) == 0x20) {\n      bVar22 = (i.op[1].regs)->reg_num;\n    }\n    else {\n      bVar22 = (i.op[0].regs)->reg_num;\n    }\n    bVar25 = (i.op[1].regs)->reg_flags;\n  }" { (if_statement "if ((i.types[0].array[0]._1_1_ & 0xfc) == 0) {\n      if ((i.tm.opcode_modifier._5_1_ & 0x60) == 0x20) {\n        i.vex.register_specifier = i.op[0].regs;\n      }\n      else {\n        i.vex.register_specifier = i.op[1].regs;\n      }\n    }\n    else {\n      i.vex.register_specifier = (reg_entry *)0x0;\n    }" if (parenthesized_expression "((i.types[0].array[0]._1_1_ & 0xfc) == 0)" ( (binary_expression "(i.types[0].array[0]._1_1_ & 0xfc) == 0" (parenthesized_expression "(i.types[0].array[0]._1_1_ & 0xfc)" ( (binary_expression "i.types[0].array[0]._1_1_ & 0xfc" (field_expression "i.types[0].array[0]._1_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) )) (compound_statement "{\n      if ((i.tm.opcode_modifier._5_1_ & 0x60) == 0x20) {\n        i.vex.register_specifier = i.op[0].regs;\n      }\n      else {\n        i.vex.register_specifier = i.op[1].regs;\n      }\n    }" { (if_statement "if ((i.tm.opcode_modifier._5_1_ & 0x60) == 0x20) {\n        i.vex.register_specifier = i.op[0].regs;\n      }\n      else {\n        i.vex.register_specifier = i.op[1].regs;\n      }" if (parenthesized_expression "((i.tm.opcode_modifier._5_1_ & 0x60) == 0x20)" ( (binary_expression "(i.tm.opcode_modifier._5_1_ & 0x60) == 0x20" (parenthesized_expression "(i.tm.opcode_modifier._5_1_ & 0x60)" ( (binary_expression "i.tm.opcode_modifier._5_1_ & 0x60" (field_expression "i.tm.opcode_modifier._5_1_" (field_expression "i.tm.opcode_modifier" (field_expression "i.tm" identifier . field_identifier) . field_identifier) . field_identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n        i.vex.register_specifier = i.op[0].regs;\n      }" { (expression_statement "i.vex.register_specifier = i.op[0].regs;" (assignment_expression "i.vex.register_specifier = i.op[0].regs" (field_expression "i.vex.register_specifier" (field_expression "i.vex" identifier . field_identifier) . field_identifier) = (field_expression "i.op[0].regs" (subscript_expression "i.op[0]" (field_expression "i.op" identifier . field_identifier) [ number_literal ]) . field_identifier)) ;) }) (else_clause "else {\n        i.vex.register_specifier = i.op[1].regs;\n      }" else (compound_statement "{\n        i.vex.register_specifier = i.op[1].regs;\n      }" { (expression_statement "i.vex.register_specifier = i.op[1].regs;" (assignment_expression "i.vex.register_specifier = i.op[1].regs" (field_expression "i.vex.register_specifier" (field_expression "i.vex" identifier . field_identifier) . field_identifier) = (field_expression "i.op[1].regs" (subscript_expression "i.op[1]" (field_expression "i.op" identifier . field_identifier) [ number_literal ]) . field_identifier)) ;) }))) }) (else_clause "else {\n      i.vex.register_specifier = (reg_entry *)0x0;\n    }" else (compound_statement "{\n      i.vex.register_specifier = (reg_entry *)0x0;\n    }" { (expression_statement "i.vex.register_specifier = (reg_entry *)0x0;" (assignment_expression "i.vex.register_specifier = (reg_entry *)0x0" (field_expression "i.vex.register_specifier" (field_expression "i.vex" identifier . field_identifier) . field_identifier) = (cast_expression "(reg_entry *)0x0" ( (type_descriptor "reg_entry *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) (expression_statement "i.rm.reg = (uint)(i.op[2].regs)->reg_num;" (assignment_expression "i.rm.reg = (uint)(i.op[2].regs)->reg_num" (field_expression "i.rm.reg" (field_expression "i.rm" identifier . field_identifier) . field_identifier) = (field_expression "(uint)(i.op[2].regs)->reg_num" (call_expression "(uint)(i.op[2].regs)" (parenthesized_expression "(uint)" ( 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      i.rex = i.rex | 4;\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      i.rex = i.rex | 4;\n    }" { (expression_statement "i.rex = i.rex | 4;" (assignment_expression "i.rex = i.rex | 4" (field_expression "i.rex" identifier . field_identifier) = (binary_expression "i.rex | 4" (field_expression "i.rex" identifier . field_identifier) | number_literal)) ;) })) (if_statement "if (i.mem_operands != 0) goto LAB_001330bc;" if (parenthesized_expression "(i.mem_operands != 0)" ( (binary_expression "i.mem_operands != 0" (field_expression "i.mem_operands" identifier . field_identifier) != number_literal) )) (goto_statement "goto LAB_001330bc;" goto statement_identifier ;)) (if_statement "if ((i.tm.opcode_modifier._5_1_ & 0x60) == 0x20) {\n      bVar22 = (i.op[1].regs)->reg_num;\n    }\n    else {\n      bVar22 = (i.op[0].regs)->reg_num;\n    }" if (parenthesized_expression "((i.tm.opcode_modifier._5_1_ & 0x60) == 0x20)" ( (binary_expression "(i.tm.opcode_modifier._5_1_ & 0x60) == 0x20" (parenthesized_expression "(i.tm.opcode_modifier._5_1_ & 0x60)" ( (binary_expression "i.tm.opcode_modifier._5_1_ & 0x60" (field_expression "i.tm.opcode_modifier._5_1_" (field_expression "i.tm.opcode_modifier" (field_expression "i.tm" identifier . field_identifier) . field_identifier) . field_identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n      bVar22 = (i.op[1].regs)->reg_num;\n    }" { (expression_statement "bVar22 = (i.op[1].regs)->reg_num;" (assignment_expression "bVar22 = (i.op[1].regs)->reg_num" identifier = (field_expression "(i.op[1].regs)->reg_num" (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)) ;) }) (else_clause "else {\n      bVar22 = (i.op[0].regs)->reg_num;\n    }" else (compound_statement "{\n      bVar22 = (i.op[0].regs)->reg_num;\n    }" { (expression_statement "bVar22 = (i.op[0].regs)->reg_num;" (assignment_expression "bVar22 = (i.op[0].regs)->reg_num" identifier = (field_expression "(i.op[0].regs)->reg_num" (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)) ;) }))) (expression_statement "bVar25 = (i.op[1].regs)->reg_flags;" (assignment_expression "bVar25 = (i.op[1].regs)->reg_flags" identifier = (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)) ;) }) (else_clause "else {\n    bVar25 = i.tm.opcode_modifier._5_1_ & 0x18;\n    if (bVar25 != 0x18) {\n      if (i.reg_operands == 0) goto LAB_001330bc;\n      if ((((i.operands == 0) || ((i.types[0].array[0]._0_1_ & 1) != 0)) ||\n          ((i.types[0].array[0]._0_1_ & 2) != 0)) ||\n         (((i.types[0].array[0]._0_1_ & 4) != 0 || ((i.types[0].array[1]._1_1_ & 2) != 0)))) {\n        uVar24 = 0;\n      }\n      else {\n        uVar24 = 0;\n        if ((i.types[0].array[0]._0_1_ & 8) == 0) {\n          uVar14 = 0;\n          while( true ) {\n            bVar23 = *(byte *)(i.types + uVar14);\n            if ((((char)bVar23 < '\0') || ((*(byte *)((long)i.types + uVar14 * 8 + 1) & 1) != 0)) ||\n               (((bVar23 & 0x10) != 0 || (((bVar23 & 0x20) != 0 || ((bVar23 & 0x40) != 0))))))\n            goto LAB_00133670;\n            uVar18 = (int)uVar24 + 1;\n            uVar24 = (ulong)uVar18;\n            if (i.operands == uVar18) break;\n            uVar14 = (ulong)uVar18;\n            iVar8 = i.types[uVar14];\n            if ((((((ulong)iVar8 & 1) != 0) || (((ulong)iVar8 & 2) != 0)) ||\n                (((ulong)iVar8 & 4) != 0)) ||\n               (((*(byte *)((long)i.types + uVar14 * 8 + 5) & 2) != 0 ||\n                (((ulong)i.types[uVar14] & 8) != 0)))) goto LAB_00133670;\n          }\n          uVar24 = (ulong)i.operands;\n        }\n      }\nLAB_00133670:\n      uVar18 = (uint)uVar24;\n      if (bVar22 == 8) {\n        uVar18 = 0xffffffff;\n        uVar24 = uVar21;\nLAB_00133b96:\n        if (uVar18 != (uint)uVar24) goto LAB_001336a6;\n        if (i.mem_operands != 0) goto LAB_001330bc;\n      }\n      else {\n        uVar21 = uVar24;\n        if (bVar25 == 8) {\n          if (uVar26 == 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/config/tc-i386.c",0x1c44,"build_modrm_byte");\n          }\n          uVar20 = uVar18 + 1;\n          uVar21 = (ulong)uVar20;\n          uVar14 = uVar24;\n          if (uVar26 < uVar18) {\n            if (i.operands <= uVar20) {\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1c49,"build_modrm_byte");\n            }\n          }\n          else if (((*(byte *)((long)i.tm.operand_types + uVar24 * 8 + 2) & 0x40) == 0) &&\n                  ((*(byte *)((long)i.tm.operand_types + uVar21 * 8 + 2) & 0x40) != 0)) {\n            if ((i.operands <= uVar18 + 2) || (uVar26 != uVar20)) {\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1c55,"build_modrm_byte");\n            }\n            uVar21 = (ulong)(uVar18 + 2);\n          }\n          else {\n            uVar14 = uVar21;\n            uVar21 = uVar24;\n            uVar18 = uVar20;\n            if (i.operands <= uVar20) {\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1c5a,"build_modrm_byte");\n            }\n          }\nLAB_00133e49:\n          iVar8 = i.tm.operand_types[uVar14];\n          if (((((ulong)iVar8 & 1) == 0) ||\n              ((-1 < *(char *)((long)i.tm.operand_types + uVar14 * 8 + 3) &&\n               ((*(byte *)((long)i.tm.operand_types + uVar14 * 8 + 4) & 2) == 0)))) &&\n             ((((ulong)iVar8 & 4) == 0 &&\n              ((*(uint *)((long)i.tm.operand_types + uVar14 * 8 + 4) != regmask.array[1] ||\n               (i.tm.operand_types[uVar14].array[0] != regmask.array[0])))))) {\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/config/tc-i386.c",0x1c7b,"build_modrm_byte");\n          }\n          i.vex.register_specifier = i.op[uVar14].regs;\n          uVar24 = uVar21;\n          goto LAB_00133b96;\n        }\n        if (bVar25 == 0x10) {\n          if (i.mem_operands == 0) {\n            if (i.operands != uVar18 + 2) {\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1c65,"build_modrm_byte");\n            }\n            uVar14 = (ulong)(uVar18 + 1);\n            uVar18 = uVar18 + 1;\n          }\n          else {\n            if ((i.imm_operands + 2 <= uVar18) || (i.operands != i.imm_operands + 2)) {\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1c6c,"build_modrm_byte");\n            }\n            uVar18 = i.imm_operands + 1;\n            if (uVar18 == 0xffffffff) goto LAB_001336a6;\n            uVar14 = (ulong)uVar18;\n          }\n          goto LAB_00133e49;\n        }\n        if (i.operands <= uVar18) {\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/config/tc-i386.c",0x1c71,"build_modrm_byte");\n        }\nLAB_001336a6:\n        if (i.tm.extension_opcode == 0xffff) {\n          i.rm.reg = (uint)(i.op[uVar24].regs)->reg_num;\n          bVar22 = (i.op[uVar24].regs)->reg_flags;\n          if ((bVar22 & 1) != 0) {\n            i.rex = i.rex | 4;\n          }\n          if ((bVar22 & 4) != 0) {\n            i.vrex = i.vrex | 4;\n          }\n          if (i.mem_operands == 0) {\n            i.rm.mode = 3;\n            return (seg_entry *)puVar15;\n          }\n          return (seg_entry *)puVar15;\n        }\n        i.rm.regmem = (uint)(i.op[uVar24].regs)->reg_num;\n        bVar22 = (i.op[uVar24].regs)->reg_flags;\n        if ((bVar22 & 1) != 0) {\n          i.rex = i.rex | 1;\n        }\n        if ((bVar22 & 4) != 0) {\n          i.vrex = i.vrex | 1;\n        }\n        if (i.mem_operands != 0) {\n          i.rm.reg = i.tm.extension_opcode;\n          return (seg_entry *)puVar15;\n        }\n      }\n      i.rm.mode = 3;\n      goto LAB_001330bc;\n    }\n    i.vex.register_specifier = i.op[2].regs;\n    if (i.mem_operands != 0) goto LAB_001330bc;\n    bVar22 = (i.op[1].regs)->reg_num;\n    bVar25 = (i.op[1].regs)->reg_flags;\n  }" else (compound_statement "{\n    bVar25 = i.tm.opcode_modifier._5_1_ & 0x18;\n    if (bVar25 != 0x18) {\n      if (i.reg_operands == 0) goto LAB_001330bc;\n      if ((((i.operands == 0) || ((i.types[0].array[0]._0_1_ & 1) != 0)) ||\n          ((i.types[0].array[0]._0_1_ & 2) != 0)) ||\n         (((i.types[0].array[0]._0_1_ & 4) != 0 || ((i.types[0].array[1]._1_1_ & 2) != 0)))) {\n        uVar24 = 0;\n      }\n      else {\n        uVar24 = 0;\n        if ((i.types[0].array[0]._0_1_ & 8) == 0) {\n          uVar14 = 0;\n          while( true ) {\n            bVar23 = *(byte *)(i.types + uVar14);\n            if ((((char)bVar23 < '\0') || ((*(byte *)((long)i.types + uVar14 * 8 + 1) & 1) != 0)) ||\n               (((bVar23 & 0x10) != 0 || (((bVar23 & 0x20) != 0 || ((bVar23 & 0x40) != 0))))))\n            goto LAB_00133670;\n            uVar18 = (int)uVar24 + 1;\n            uVar24 = (ulong)uVar18;\n            if (i.operands == uVar18) break;\n            uVar14 = (ulong)uVar18;\n            iVar8 = i.types[uVar14];\n            if ((((((ulong)iVar8 & 1) != 0) || (((ulong)iVar8 & 2) != 0)) ||\n                (((ulong)iVar8 & 4) != 0)) ||\n               (((*(byte *)((long)i.types + uVar14 * 8 + 5) & 2) != 0 ||\n                (((ulong)i.types[uVar14] & 8) != 0)))) goto LAB_00133670;\n          }\n          uVar24 = (ulong)i.operands;\n        }\n      }\nLAB_00133670:\n      uVar18 = (uint)uVar24;\n      if (bVar22 == 8) {\n        uVar18 = 0xffffffff;\n        uVar24 = uVar21;\nLAB_00133b96:\n        if (uVar18 != (uint)uVar24) goto LAB_001336a6;\n        if (i.mem_operands != 0) goto LAB_001330bc;\n      }\n      else {\n        uVar21 = uVar24;\n        if (bVar25 == 8) {\n          if (uVar26 == 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/config/tc-i386.c",0x1c44,"build_modrm_byte");\n          }\n          uVar20 = uVar18 + 1;\n          uVar21 = (ulong)uVar20;\n          uVar14 = uVar24;\n          if (uVar26 < uVar18) {\n            if (i.operands <= uVar20) {\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1c49,"build_modrm_byte");\n            }\n          }\n          else if (((*(byte *)((long)i.tm.operand_types + uVar24 * 8 + 2) & 0x40) == 0) &&\n                  ((*(byte *)((long)i.tm.operand_types + uVar21 * 8 + 2) & 0x40) != 0)) {\n            if ((i.operands <= uVar18 + 2) || (uVar26 != uVar20)) {\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1c55,"build_modrm_byte");\n            }\n            uVar21 = (ulong)(uVar18 + 2);\n          }\n          else {\n            uVar14 = uVar21;\n            uVar21 = uVar24;\n            uVar18 = uVar20;\n            if (i.operands <= uVar20) {\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1c5a,"build_modrm_byte");\n            }\n          }\nLAB_00133e49:\n          iVar8 = i.tm.operand_types[uVar14];\n          if (((((ulong)iVar8 & 1) == 0) ||\n              ((-1 < *(char *)((long)i.tm.operand_types + uVar14 * 8 + 3) &&\n               ((*(byte *)((long)i.tm.operand_types + uVar14 * 8 + 4) & 2) == 0)))) &&\n             ((((ulong)iVar8 & 4) == 0 &&\n              ((*(uint *)((long)i.tm.operand_types + uVar14 * 8 + 4) != regmask.array[1] ||\n               (i.tm.operand_types[uVar14].array[0] != regmask.array[0])))))) {\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/config/tc-i386.c",0x1c7b,"build_modrm_byte");\n          }\n          i.vex.register_specifier = i.op[uVar14].regs;\n          uVar24 = uVar21;\n          goto LAB_00133b96;\n        }\n        if (bVar25 == 0x10) {\n          if (i.mem_operands == 0) {\n            if (i.operands != uVar18 + 2) {\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1c65,"build_modrm_byte");\n            }\n            uVar14 = (ulong)(uVar18 + 1);\n            uVar18 = uVar18 + 1;\n          }\n          else {\n            if ((i.imm_operands + 2 <= uVar18) || (i.operands != i.imm_operands + 2)) {\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1c6c,"build_modrm_byte");\n            }\n            uVar18 = i.imm_operands + 1;\n            if (uVar18 == 0xffffffff) goto LAB_001336a6;\n            uVar14 = (ulong)uVar18;\n          }\n          goto LAB_00133e49;\n        }\n        if (i.operands <= uVar18) {\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/config/tc-i386.c",0x1c71,"build_modrm_byte");\n        }\nLAB_001336a6:\n        if (i.tm.extension_opcode == 0xffff) {\n          i.rm.reg = (uint)(i.op[uVar24].regs)->reg_num;\n          bVar22 = (i.op[uVar24].regs)->reg_flags;\n          if ((bVar22 & 1) != 0) {\n            i.rex = i.rex | 4;\n          }\n          if ((bVar22 & 4) != 0) {\n            i.vrex = i.vrex | 4;\n          }\n          if (i.mem_operands == 0) {\n            i.rm.mode = 3;\n            return (seg_entry *)puVar15;\n          }\n          return (seg_entry *)puVar15;\n        }\n        i.rm.regmem = (uint)(i.op[uVar24].regs)->reg_num;\n        bVar22 = (i.op[uVar24].regs)->reg_flags;\n        if ((bVar22 & 1) != 0) {\n          i.rex = i.rex | 1;\n        }\n        if ((bVar22 & 4) != 0) {\n          i.vrex = i.vrex | 1;\n        }\n        if (i.mem_operands != 0) {\n          i.rm.reg = i.tm.extension_opcode;\n          return (seg_entry *)puVar15;\n        }\n      }\n      i.rm.mode = 3;\n      goto LAB_001330bc;\n    }\n    i.vex.register_specifier = i.op[2].regs;\n    if (i.mem_operands != 0) goto LAB_001330bc;\n    bVar22 = (i.op[1].regs)->reg_num;\n    bVar25 = (i.op[1].regs)->reg_flags;\n  }" { (expression_statement "bVar25 = i.tm.opcode_modifier._5_1_ & 0x18;" (assignment_expression "bVar25 = i.tm.opcode_modifier._5_1_ & 0x18" identifier = (binary_expression "i.tm.opcode_modifier._5_1_ & 0x18" (field_expression "i.tm.opcode_modifier._5_1_" (field_expression "i.tm.opcode_modifier" (field_expression "i.tm" identifier . field_identifier) . field_identifier) . field_identifier) & number_literal)) ;) (if_statement "if (bVar25 != 0x18) {\n      if (i.reg_operands == 0) goto LAB_001330bc;\n      if ((((i.operands == 0) || ((i.types[0].array[0]._0_1_ & 1) != 0)) ||\n          ((i.types[0].array[0]._0_1_ & 2) != 0)) ||\n         (((i.types[0].array[0]._0_1_ & 4) != 0 || ((i.types[0].array[1]._1_1_ & 2) != 0)))) {\n        uVar24 = 0;\n      }\n      else {\n        uVar24 = 0;\n        if ((i.types[0].array[0]._0_1_ & 8) == 0) {\n          uVar14 = 0;\n          while( true ) {\n            bVar23 = *(byte *)(i.types + uVar14);\n            if ((((char)bVar23 < '\0') || ((*(byte *)((long)i.types + uVar14 * 8 + 1) & 1) != 0)) ||\n               (((bVar23 & 0x10) != 0 || (((bVar23 & 0x20) != 0 || ((bVar23 & 0x40) != 0))))))\n            goto LAB_00133670;\n            uVar18 = (int)uVar24 + 1;\n            uVar24 = (ulong)uVar18;\n            if (i.operands == uVar18) break;\n            uVar14 = (ulong)uVar18;\n            iVar8 = i.types[uVar14];\n            if ((((((ulong)iVar8 & 1) != 0) || (((ulong)iVar8 & 2) != 0)) ||\n                (((ulong)iVar8 & 4) != 0)) ||\n               (((*(byte *)((long)i.types + uVar14 * 8 + 5) & 2) != 0 ||\n                (((ulong)i.types[uVar14] & 8) != 0)))) goto LAB_00133670;\n          }\n          uVar24 = (ulong)i.operands;\n        }\n      }\nLAB_00133670:\n      uVar18 = (uint)uVar24;\n      if (bVar22 == 8) {\n        uVar18 = 0xffffffff;\n        uVar24 = uVar21;\nLAB_00133b96:\n        if (uVar18 != (uint)uVar24) goto LAB_001336a6;\n        if (i.mem_operands != 0) goto LAB_001330bc;\n      }\n      else {\n        uVar21 = uVar24;\n        if (bVar25 == 8) {\n          if (uVar26 == 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/config/tc-i386.c",0x1c44,"build_modrm_byte");\n          }\n          uVar20 = uVar18 + 1;\n          uVar21 = (ulong)uVar20;\n          uVar14 = uVar24;\n          if (uVar26 < uVar18) {\n            if (i.operands <= uVar20) {\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1c49,"build_modrm_byte");\n            }\n          }\n          else if (((*(byte *)((long)i.tm.operand_types + uVar24 * 8 + 2) & 0x40) == 0) &&\n                  ((*(byte *)((long)i.tm.operand_types + uVar21 * 8 + 2) & 0x40) != 0)) {\n            if ((i.operands <= uVar18 + 2) || (uVar26 != uVar20)) {\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1c55,"build_modrm_byte");\n            }\n            uVar21 = (ulong)(uVar18 + 2);\n          }\n          else {\n            uVar14 = uVar21;\n            uVar21 = uVar24;\n            uVar18 = uVar20;\n            if (i.operands <= uVar20) {\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1c5a,"build_modrm_byte");\n            }\n          }\nLAB_00133e49:\n          iVar8 = i.tm.operand_types[uVar14];\n          if (((((ulong)iVar8 & 1) == 0) ||\n              ((-1 < *(char *)((long)i.tm.operand_types + uVar14 * 8 + 3) &&\n               ((*(byte *)((long)i.tm.operand_types + uVar14 * 8 + 4) & 2) == 0)))) &&\n             ((((ulong)iVar8 & 4) == 0 &&\n              ((*(uint *)((long)i.tm.operand_types + uVar14 * 8 + 4) != regmask.array[1] ||\n               (i.tm.operand_types[uVar14].array[0] != regmask.array[0])))))) {\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/config/tc-i386.c",0x1c7b,"build_modrm_byte");\n          }\n          i.vex.register_specifier = i.op[uVar14].regs;\n          uVar24 = uVar21;\n          goto LAB_00133b96;\n        }\n        if (bVar25 == 0x10) {\n          if (i.mem_operands == 0) {\n            if (i.operands != uVar18 + 2) {\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1c65,"build_modrm_byte");\n            }\n            uVar14 = (ulong)(uVar18 + 1);\n            uVar18 = uVar18 + 1;\n          }\n          else {\n            if ((i.imm_operands + 2 <= uVar18) || (i.operands != i.imm_operands + 2)) {\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1c6c,"build_modrm_byte");\n            }\n            uVar18 = i.imm_operands + 1;\n            if (uVar18 == 0xffffffff) goto LAB_001336a6;\n            uVar14 = (ulong)uVar18;\n          }\n          goto LAB_00133e49;\n        }\n        if (i.operands <= uVar18) {\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/config/tc-i386.c",0x1c71,"build_modrm_byte");\n        }\nLAB_001336a6:\n        if (i.tm.extension_opcode == 0xffff) {\n          i.rm.reg = (uint)(i.op[uVar24].regs)->reg_num;\n          bVar22 = (i.op[uVar24].regs)->reg_flags;\n          if ((bVar22 & 1) != 0) {\n            i.rex = i.rex | 4;\n          }\n          if ((bVar22 & 4) != 0) {\n            i.vrex = i.vrex | 4;\n          }\n          if (i.mem_operands == 0) {\n            i.rm.mode = 3;\n            return (seg_entry *)puVar15;\n          }\n          return (seg_entry *)puVar15;\n        }\n        i.rm.regmem = (uint)(i.op[uVar24].regs)->reg_num;\n        bVar22 = (i.op[uVar24].regs)->reg_flags;\n        if ((bVar22 & 1) != 0) {\n          i.rex = i.rex | 1;\n        }\n        if ((bVar22 & 4) != 0) {\n          i.vrex = i.vrex | 1;\n        }\n        if (i.mem_operands != 0) {\n          i.rm.reg = i.tm.extension_opcode;\n          return (seg_entry *)puVar15;\n        }\n      }\n      i.rm.mode = 3;\n      goto LAB_001330bc;\n    }" if (parenthesized_expression "(bVar25 != 0x18)" ( (binary_expression "bVar25 != 0x18" identifier != number_literal) )) (compound_statement "{\n      if (i.reg_operands == 0) goto LAB_001330bc;\n      if ((((i.operands == 0) || ((i.types[0].array[0]._0_1_ & 1) != 0)) ||\n          ((i.types[0].array[0]._0_1_ & 2) != 0)) ||\n         (((i.types[0].array[0]._0_1_ & 4) != 0 || ((i.types[0].array[1]._1_1_ & 2) != 0)))) {\n        uVar24 = 0;\n      }\n      else {\n        uVar24 = 0;\n        if ((i.types[0].array[0]._0_1_ & 8) == 0) {\n          uVar14 = 0;\n          while( true ) {\n            bVar23 = *(byte *)(i.types + uVar14);\n            if ((((char)bVar23 < '\0') || ((*(byte *)((long)i.types + uVar14 * 8 + 1) & 1) != 0)) ||\n               (((bVar23 & 0x10) != 0 || (((bVar23 & 0x20) != 0 || ((bVar23 & 0x40) != 0))))))\n            goto LAB_00133670;\n            uVar18 = (int)uVar24 + 1;\n            uVar24 = (ulong)uVar18;\n            if (i.operands == uVar18) break;\n            uVar14 = (ulong)uVar18;\n            iVar8 = i.types[uVar14];\n            if ((((((ulong)iVar8 & 1) != 0) || (((ulong)iVar8 & 2) != 0)) ||\n                (((ulong)iVar8 & 4) != 0)) ||\n               (((*(byte *)((long)i.types + uVar14 * 8 + 5) & 2) != 0 ||\n                (((ulong)i.types[uVar14] & 8) != 0)))) goto LAB_00133670;\n          }\n          uVar24 = (ulong)i.operands;\n        }\n      }\nLAB_00133670:\n      uVar18 = (uint)uVar24;\n      if (bVar22 == 8) {\n        uVar18 = 0xffffffff;\n        uVar24 = uVar21;\nLAB_00133b96:\n        if (uVar18 != (uint)uVar24) goto LAB_001336a6;\n        if (i.mem_operands != 0) goto LAB_001330bc;\n      }\n      else {\n        uVar21 = uVar24;\n        if (bVar25 == 8) {\n          if (uVar26 == 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/config/tc-i386.c",0x1c44,"build_modrm_byte");\n          }\n          uVar20 = uVar18 + 1;\n          uVar21 = (ulong)uVar20;\n          uVar14 = uVar24;\n          if (uVar26 < uVar18) {\n            if (i.operands <= uVar20) {\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1c49,"build_modrm_byte");\n            }\n          }\n          else if (((*(byte *)((long)i.tm.operand_types + uVar24 * 8 + 2) & 0x40) == 0) &&\n                  ((*(byte *)((long)i.tm.operand_types + uVar21 * 8 + 2) & 0x40) != 0)) {\n            if ((i.operands <= uVar18 + 2) || (uVar26 != uVar20)) {\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1c55,"build_modrm_byte");\n            }\n            uVar21 = (ulong)(uVar18 + 2);\n          }\n          else {\n            uVar14 = uVar21;\n            uVar21 = uVar24;\n            uVar18 = uVar20;\n            if (i.operands <= uVar20) {\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1c5a,"build_modrm_byte");\n            }\n          }\nLAB_00133e49:\n          iVar8 = i.tm.operand_types[uVar14];\n          if (((((ulong)iVar8 & 1) == 0) ||\n              ((-1 < *(char *)((long)i.tm.operand_types + uVar14 * 8 + 3) &&\n               ((*(byte *)((long)i.tm.operand_types + uVar14 * 8 + 4) & 2) == 0)))) &&\n             ((((ulong)iVar8 & 4) == 0 &&\n              ((*(uint *)((long)i.tm.operand_types + uVar14 * 8 + 4) != regmask.array[1] ||\n               (i.tm.operand_types[uVar14].array[0] != regmask.array[0])))))) {\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/config/tc-i386.c",0x1c7b,"build_modrm_byte");\n          }\n          i.vex.register_specifier = i.op[uVar14].regs;\n          uVar24 = uVar21;\n          goto LAB_00133b96;\n        }\n        if (bVar25 == 0x10) {\n          if (i.mem_operands == 0) {\n            if (i.operands != uVar18 + 2) {\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1c65,"build_modrm_byte");\n            }\n            uVar14 = (ulong)(uVar18 + 1);\n            uVar18 = uVar18 + 1;\n          }\n          else {\n            if ((i.imm_operands + 2 <= uVar18) || (i.operands != i.imm_operands + 2)) {\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1c6c,"build_modrm_byte");\n            }\n            uVar18 = i.imm_operands + 1;\n            if (uVar18 == 0xffffffff) goto LAB_001336a6;\n            uVar14 = (ulong)uVar18;\n          }\n          goto LAB_00133e49;\n        }\n        if (i.operands <= uVar18) {\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/config/tc-i386.c",0x1c71,"build_modrm_byte");\n        }\nLAB_001336a6:\n        if (i.tm.extension_opcode == 0xffff) {\n          i.rm.reg = (uint)(i.op[uVar24].regs)->reg_num;\n          bVar22 = (i.op[uVar24].regs)->reg_flags;\n          if ((bVar22 & 1) != 0) {\n            i.rex = i.rex | 4;\n          }\n          if ((bVar22 & 4) != 0) {\n            i.vrex = i.vrex | 4;\n          }\n          if (i.mem_operands == 0) {\n            i.rm.mode = 3;\n            return (seg_entry *)puVar15;\n          }\n          return (seg_entry *)puVar15;\n        }\n        i.rm.regmem = (uint)(i.op[uVar24].regs)->reg_num;\n        bVar22 = (i.op[uVar24].regs)->reg_flags;\n        if ((bVar22 & 1) != 0) {\n          i.rex = i.rex | 1;\n        }\n        if ((bVar22 & 4) != 0) {\n          i.vrex = i.vrex | 1;\n        }\n        if (i.mem_operands != 0) {\n          i.rm.reg = i.tm.extension_opcode;\n          return (seg_entry *)puVar15;\n        }\n      }\n      i.rm.mode = 3;\n      goto LAB_001330bc;\n    }" { (if_statement "if (i.reg_operands == 0) goto LAB_001330bc;" if (parenthesized_expression "(i.reg_operands == 0)" ( (binary_expression "i.reg_operands == 0" (field_expression "i.reg_operands" identifier . field_identifier) == number_literal) )) (goto_statement "goto LAB_001330bc;" goto statement_identifier ;)) (if_statement "if ((((i.operands == 0) || ((i.types[0].array[0]._0_1_ & 1) != 0)) ||\n          ((i.types[0].array[0]._0_1_ & 2) != 0)) ||\n         (((i.types[0].array[0]._0_1_ & 4) != 0 || ((i.types[0].array[1]._1_1_ & 2) != 0)))) {\n        uVar24 = 0;\n      }\n      else {\n        uVar24 = 0;\n        if ((i.types[0].array[0]._0_1_ & 8) == 0) {\n          uVar14 = 0;\n          while( true ) {\n            bVar23 = *(byte *)(i.types + uVar14);\n            if ((((char)bVar23 < '\0') || ((*(byte *)((long)i.types + uVar14 * 8 + 1) & 1) != 0)) ||\n               (((bVar23 & 0x10) != 0 || (((bVar23 & 0x20) != 0 || ((bVar23 & 0x40) != 0))))))\n            goto LAB_00133670;\n            uVar18 = (int)uVar24 + 1;\n            uVar24 = (ulong)uVar18;\n            if (i.operands == uVar18) break;\n            uVar14 = (ulong)uVar18;\n            iVar8 = i.types[uVar14];\n            if ((((((ulong)iVar8 & 1) != 0) || (((ulong)iVar8 & 2) != 0)) ||\n                (((ulong)iVar8 & 4) != 0)) ||\n               (((*(byte *)((long)i.types + uVar14 * 8 + 5) & 2) != 0 ||\n                (((ulong)i.types[uVar14] & 8) != 0)))) goto LAB_00133670;\n          }\n          uVar24 = (ulong)i.operands;\n        }\n      }" if (parenthesized_expression "((((i.operands == 0) || ((i.types[0].array[0]._0_1_ & 1) != 0)) ||\n          ((i.types[0].array[0]._0_1_ & 2) != 0)) ||\n         (((i.types[0].array[0]._0_1_ & 4) != 0 || ((i.types[0].array[1]._1_1_ & 2) != 0))))" ( (binary_expression "(((i.operands == 0) || ((i.types[0].array[0]._0_1_ & 1) != 0)) ||\n          ((i.types[0].array[0]._0_1_ & 2) != 0)) ||\n         (((i.types[0].array[0]._0_1_ & 4) != 0 || ((i.types[0].array[1]._1_1_ & 2) != 0)))" (parenthesized_expression "(((i.operands == 0) || ((i.types[0].array[0]._0_1_ & 1) != 0)) ||\n          ((i.types[0].array[0]._0_1_ & 2) != 0))" ( (binary_expression "((i.operands == 0) || ((i.types[0].array[0]._0_1_ & 1) != 0)) ||\n          ((i.types[0].array[0]._0_1_ & 2) != 0)" (parenthesized_expression "((i.operands == 0) || ((i.types[0].array[0]._0_1_ & 1) != 0))" ( (binary_expression "(i.operands == 0) || ((i.types[0].array[0]._0_1_ & 1) != 0)" (parenthesized_expression "(i.operands == 0)" ( (binary_expression "i.operands == 0" (field_expression "i.operands" identifier . field_identifier) == number_literal) )) || (parenthesized_expression "((i.types[0].array[0]._0_1_ & 1) != 0)" ( (binary_expression "(i.types[0].array[0]._0_1_ & 1) != 0" (parenthesized_expression "(i.types[0].array[0]._0_1_ & 1)" ( (binary_expression "i.types[0].array[0]._0_1_ & 1" (field_expression "i.types[0].array[0]._0_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 "((i.types[0].array[0]._0_1_ & 2) != 0)" ( (binary_expression "(i.types[0].array[0]._0_1_ & 2) != 0" (parenthesized_expression "(i.types[0].array[0]._0_1_ & 2)" ( (binary_expression "i.types[0].array[0]._0_1_ & 2" (field_expression "i.types[0].array[0]._0_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 "(((i.types[0].array[0]._0_1_ & 4) != 0 || ((i.types[0].array[1]._1_1_ & 2) != 0)))" ( (parenthesized_expression "((i.types[0].array[0]._0_1_ & 4) != 0 || ((i.types[0].array[1]._1_1_ & 2) != 0))" ( (binary_expression "(i.types[0].array[0]._0_1_ & 4) != 0 || ((i.types[0].array[1]._1_1_ & 2) != 0)" (binary_expression "(i.types[0].array[0]._0_1_ & 4) != 0" (parenthesized_expression "(i.types[0].array[0]._0_1_ & 4)" ( (binary_expression "i.types[0].array[0]._0_1_ & 4" (field_expression "i.types[0].array[0]._0_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 "((i.types[0].array[1]._1_1_ & 2) != 0)" ( (binary_expression "(i.types[0].array[1]._1_1_ & 2) != 0" (parenthesized_expression "(i.types[0].array[1]._1_1_ & 2)" ( (binary_expression "i.types[0].array[1]._1_1_ & 2" (field_expression "i.types[0].array[1]._1_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 ]) . field_identifier) & number_literal) )) != number_literal) ))) )) ))) )) (compound_statement "{\n        uVar24 = 0;\n      }" { (expression_statement "uVar24 = 0;" (assignment_expression "uVar24 = 0" identifier = number_literal) ;) }) (else_clause "else {\n        uVar24 = 0;\n        if ((i.types[0].array[0]._0_1_ & 8) == 0) {\n          uVar14 = 0;\n          while( true ) {\n            bVar23 = *(byte *)(i.types + uVar14);\n            if ((((char)bVar23 < '\0') || ((*(byte *)((long)i.types + uVar14 * 8 + 1) & 1) != 0)) ||\n               (((bVar23 & 0x10) != 0 || (((bVar23 & 0x20) != 0 || ((bVar23 & 0x40) != 0))))))\n            goto LAB_00133670;\n            uVar18 = (int)uVar24 + 1;\n            uVar24 = (ulong)uVar18;\n            if (i.operands == uVar18) break;\n            uVar14 = (ulong)uVar18;\n            iVar8 = i.types[uVar14];\n            if ((((((ulong)iVar8 & 1) != 0) || (((ulong)iVar8 & 2) != 0)) ||\n                (((ulong)iVar8 & 4) != 0)) ||\n               (((*(byte *)((long)i.types + uVar14 * 8 + 5) & 2) != 0 ||\n                (((ulong)i.types[uVar14] & 8) != 0)))) goto LAB_00133670;\n          }\n          uVar24 = (ulong)i.operands;\n        }\n      }" else (compound_statement "{\n        uVar24 = 0;\n        if ((i.types[0].array[0]._0_1_ & 8) == 0) {\n          uVar14 = 0;\n          while( true ) {\n            bVar23 = *(byte *)(i.types + uVar14);\n            if ((((char)bVar23 < '\0') || ((*(byte *)((long)i.types + uVar14 * 8 + 1) & 1) != 0)) ||\n               (((bVar23 & 0x10) != 0 || (((bVar23 & 0x20) != 0 || ((bVar23 & 0x40) != 0))))))\n            goto LAB_00133670;\n            uVar18 = (int)uVar24 + 1;\n            uVar24 = (ulong)uVar18;\n            if (i.operands == uVar18) break;\n            uVar14 = (ulong)uVar18;\n            iVar8 = i.types[uVar14];\n            if ((((((ulong)iVar8 & 1) != 0) || (((ulong)iVar8 & 2) != 0)) ||\n                (((ulong)iVar8 & 4) != 0)) ||\n               (((*(byte *)((long)i.types + uVar14 * 8 + 5) & 2) != 0 ||\n                (((ulong)i.types[uVar14] & 8) != 0)))) goto LAB_00133670;\n          }\n          uVar24 = (ulong)i.operands;\n        }\n      }" { (expression_statement "uVar24 = 0;" (assignment_expression "uVar24 = 0" identifier = number_literal) ;) (if_statement "if ((i.types[0].array[0]._0_1_ & 8) == 0) {\n          uVar14 = 0;\n          while( true ) {\n            bVar23 = *(byte *)(i.types + uVar14);\n            if ((((char)bVar23 < '\0') || ((*(byte *)((long)i.types + uVar14 * 8 + 1) & 1) != 0)) ||\n               (((bVar23 & 0x10) != 0 || (((bVar23 & 0x20) != 0 || ((bVar23 & 0x40) != 0))))))\n            goto LAB_00133670;\n            uVar18 = (int)uVar24 + 1;\n            uVar24 = (ulong)uVar18;\n            if (i.operands == uVar18) break;\n            uVar14 = (ulong)uVar18;\n            iVar8 = i.types[uVar14];\n            if ((((((ulong)iVar8 & 1) != 0) || (((ulong)iVar8 & 2) != 0)) ||\n                (((ulong)iVar8 & 4) != 0)) ||\n               (((*(byte *)((long)i.types + uVar14 * 8 + 5) & 2) != 0 ||\n                (((ulong)i.types[uVar14] & 8) != 0)))) goto LAB_00133670;\n          }\n          uVar24 = (ulong)i.operands;\n        }" if (parenthesized_expression "((i.types[0].array[0]._0_1_ & 8) == 0)" ( (binary_expression "(i.types[0].array[0]._0_1_ & 8) == 0" (parenthesized_expression "(i.types[0].array[0]._0_1_ & 8)" ( (binary_expression "i.types[0].array[0]._0_1_ & 8" (field_expression "i.types[0].array[0]._0_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) )) (compound_statement "{\n          uVar14 = 0;\n          while( true ) {\n            bVar23 = *(byte *)(i.types + uVar14);\n            if ((((char)bVar23 < '\0') || ((*(byte *)((long)i.types + uVar14 * 8 + 1) & 1) != 0)) ||\n               (((bVar23 & 0x10) != 0 || (((bVar23 & 0x20) != 0 || ((bVar23 & 0x40) != 0))))))\n            goto LAB_00133670;\n            uVar18 = (int)uVar24 + 1;\n            uVar24 = (ulong)uVar18;\n            if (i.operands == uVar18) break;\n            uVar14 = (ulong)uVar18;\n            iVar8 = i.types[uVar14];\n            if ((((((ulong)iVar8 & 1) != 0) || (((ulong)iVar8 & 2) != 0)) ||\n                (((ulong)iVar8 & 4) != 0)) ||\n               (((*(byte *)((long)i.types + uVar14 * 8 + 5) & 2) != 0 ||\n                (((ulong)i.types[uVar14] & 8) != 0)))) goto LAB_00133670;\n          }\n          uVar24 = (ulong)i.operands;\n        }" { (expression_statement "uVar14 = 0;" (assignment_expression "uVar14 = 0" identifier = number_literal) ;) (while_statement "while( true ) {\n            bVar23 = *(byte *)(i.types + uVar14);\n            if ((((char)bVar23 < '\0') || ((*(byte *)((long)i.types + uVar14 * 8 + 1) & 1) != 0)) ||\n               (((bVar23 & 0x10) != 0 || (((bVar23 & 0x20) != 0 || ((bVar23 & 0x40) != 0))))))\n            goto LAB_00133670;\n            uVar18 = (int)uVar24 + 1;\n            uVar24 = (ulong)uVar18;\n            if (i.operands == uVar18) break;\n            uVar14 = (ulong)uVar18;\n            iVar8 = i.types[uVar14];\n            if ((((((ulong)iVar8 & 1) != 0) || (((ulong)iVar8 & 2) != 0)) ||\n                (((ulong)iVar8 & 4) != 0)) ||\n               (((*(byte *)((long)i.types + uVar14 * 8 + 5) & 2) != 0 ||\n                (((ulong)i.types[uVar14] & 8) != 0)))) goto LAB_00133670;\n          }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n            bVar23 = *(byte *)(i.types + uVar14);\n            if ((((char)bVar23 < '\0') || ((*(byte *)((long)i.types + uVar14 * 8 + 1) & 1) != 0)) ||\n               (((bVar23 & 0x10) != 0 || (((bVar23 & 0x20) != 0 || ((bVar23 & 0x40) != 0))))))\n            goto LAB_00133670;\n            uVar18 = (int)uVar24 + 1;\n            uVar24 = (ulong)uVar18;\n            if (i.operands == uVar18) break;\n            uVar14 = (ulong)uVar18;\n            iVar8 = i.types[uVar14];\n            if ((((((ulong)iVar8 & 1) != 0) || (((ulong)iVar8 & 2) != 0)) ||\n                (((ulong)iVar8 & 4) != 0)) ||\n               (((*(byte *)((long)i.types + uVar14 * 8 + 5) & 2) != 0 ||\n                (((ulong)i.types[uVar14] & 8) != 0)))) goto LAB_00133670;\n          }" { (expression_statement "bVar23 = *(byte *)(i.types + uVar14);" (assignment_expression "bVar23 = *(byte *)(i.types + uVar14)" identifier = (pointer_expression "*(byte *)(i.types + uVar14)" * (cast_expression "(byte *)(i.types + uVar14)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(i.types + uVar14)" ( (binary_expression "i.types + uVar14" (field_expression "i.types" identifier . field_identifier) + identifier) ))))) ;) (if_statement "if ((((char)bVar23 < '\0') || ((*(byte *)((long)i.types + uVar14 * 8 + 1) & 1) != 0)) ||\n               (((bVar23 & 0x10) != 0 || (((bVar23 & 0x20) != 0 || ((bVar23 & 0x40) != 0))))))\n            goto LAB_00133670;" if (parenthesized_expression "((((char)bVar23 < '\0') || ((*(byte *)((long)i.types + uVar14 * 8 + 1) & 1) != 0)) ||\n               (((bVar23 & 0x10) != 0 || (((bVar23 & 0x20) != 0 || ((bVar23 & 0x40) != 0))))))" ( (binary_expression "(((char)bVar23 < '\0') || ((*(byte *)((long)i.types + uVar14 * 8 + 1) & 1) != 0)) ||\n               (((bVar23 & 0x10) != 0 || (((bVar23 & 0x20) != 0 || ((bVar23 & 0x40) != 0)))))" (parenthesized_expression "(((char)bVar23 < '\0') || ((*(byte *)((long)i.types + uVar14 * 8 + 1) & 1) != 0))" ( (binary_expression "((char)bVar23 < '\0') || ((*(byte *)((long)i.types + uVar14 * 8 + 1) & 1) != 0)" (parenthesized_expression "((char)bVar23 < '\0')" ( (binary_expression "(char)bVar23 < '\0'" (cast_expression "(char)bVar23" ( (type_descriptor "char" primitive_type) ) identifier) < (char_literal "'\0'" ' escape_sequence ')) )) || (parenthesized_expression "((*(byte *)((long)i.types + uVar14 * 8 + 1) & 1) != 0)" ( (binary_expression "(*(byte *)((long)i.types + uVar14 * 8 + 1) & 1) != 0" (parenthesized_expression "(*(byte *)((long)i.types + uVar14 * 8 + 1) & 1)" ( (binary_expression "*(byte *)((long)i.types + uVar14 * 8 + 1) & 1" (pointer_expression "*(byte *)((long)i.types + uVar14 * 8 + 1)" * (cast_expression "(byte *)((long)i.types + uVar14 * 8 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)i.types + uVar14 * 8 + 1)" ( (binary_expression "(long)i.types + uVar14 * 8 + 1" (binary_expression "(long)i.types + uVar14 * 8" (cast_expression "(long)i.types" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (field_expression "i.types" identifier . field_identifier)) + (binary_expression "uVar14 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) != number_literal) ))) )) || (parenthesized_expression "(((bVar23 & 0x10) != 0 || (((bVar23 & 0x20) != 0 || ((bVar23 & 0x40) != 0)))))" ( (parenthesized_expression "((bVar23 & 0x10) != 0 || (((bVar23 & 0x20) != 0 || ((bVar23 & 0x40) != 0))))" ( (binary_expression "(bVar23 & 0x10) != 0 || (((bVar23 & 0x20) != 0 || ((bVar23 & 0x40) != 0)))" (binary_expression "(bVar23 & 0x10) != 0" (parenthesized_expression "(bVar23 & 0x10)" ( (binary_expression "bVar23 & 0x10" identifier & number_literal) )) != number_literal) || (parenthesized_expression "(((bVar23 & 0x20) != 0 || ((bVar23 & 0x40) != 0)))" ( (parenthesized_expression "((bVar23 & 0x20) != 0 || ((bVar23 & 0x40) != 0))" ( (binary_expression "(bVar23 & 0x20) != 0 || ((bVar23 & 0x40) != 0)" (binary_expression "(bVar23 & 0x20) != 0" (parenthesized_expression "(bVar23 & 0x20)" ( (binary_expression "bVar23 & 0x20" identifier & number_literal) )) != number_literal) || (parenthesized_expression "((bVar23 & 0x40) != 0)" ( (binary_expression "(bVar23 & 0x40) != 0" (parenthesized_expression "(bVar23 & 0x40)" ( (binary_expression "bVar23 & 0x40" identifier & number_literal) )) != number_literal) ))) )) ))) )) ))) )) (goto_statement "goto LAB_00133670;" goto statement_identifier ;)) (expression_statement "uVar18 = (int)uVar24 + 1;" (assignment_expression "uVar18 = (int)uVar24 + 1" identifier = (binary_expression "(int)uVar24 + 1" (cast_expression "(int)uVar24" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "uVar24 = (ulong)uVar18;" (assignment_expression "uVar24 = (ulong)uVar18" identifier = (cast_expression "(ulong)uVar18" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (if_statement "if (i.operands == uVar18) break;" if (parenthesized_expression "(i.operands == uVar18)" ( (binary_expression "i.operands == uVar18" (field_expression "i.operands" identifier . field_identifier) == identifier) )) (break_statement "break;" break ;)) (expression_statement "uVar14 = (ulong)uVar18;" (assignment_expression "uVar14 = (ulong)uVar18" identifier = (cast_expression "(ulong)uVar18" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "iVar8 = i.types[uVar14];" (assignment_expression "iVar8 = i.types[uVar14]" identifier = (subscript_expression "i.types[uVar14]" (field_expression "i.types" identifier . field_identifier) [ identifier ])) ;) (if_statement "if ((((((ulong)iVar8 & 1) != 0) || (((ulong)iVar8 & 2) != 0)) ||\n                (((ulong)iVar8 & 4) != 0)) ||\n               (((*(byte *)((long)i.types + uVar14 * 8 + 5) & 2) != 0 ||\n                (((ulong)i.types[uVar14] & 8) != 0)))) goto LAB_00133670;" if (parenthesized_expression "((((((ulong)iVar8 & 1) != 0) || (((ulong)iVar8 & 2) != 0)) ||\n                (((ulong)iVar8 & 4) != 0)) ||\n               (((*(byte *)((long)i.types + uVar14 * 8 + 5) & 2) != 0 ||\n                (((ulong)i.types[uVar14] & 8) != 0))))" ( (binary_expression "(((((ulong)iVar8 & 1) != 0) || (((ulong)iVar8 & 2) != 0)) ||\n                (((ulong)iVar8 & 4) != 0)) ||\n               (((*(byte *)((long)i.types + uVar14 * 8 + 5) & 2) != 0 ||\n                (((ulong)i.types[uVar14] & 8) != 0)))" (parenthesized_expression "(((((ulong)iVar8 & 1) != 0) || (((ulong)iVar8 & 2) != 0)) ||\n                (((ulong)iVar8 & 4) != 0))" ( (binary_expression "((((ulong)iVar8 & 1) != 0) || (((ulong)iVar8 & 2) != 0)) ||\n                (((ulong)iVar8 & 4) != 0)" (parenthesized_expression "((((ulong)iVar8 & 1) != 0) || (((ulong)iVar8 & 2) != 0))" ( (binary_expression "(((ulong)iVar8 & 1) != 0) || (((ulong)iVar8 & 2) != 0)" (parenthesized_expression "(((ulong)iVar8 & 1) != 0)" ( (binary_expression "((ulong)iVar8 & 1) != 0" (parenthesized_expression "((ulong)iVar8 & 1)" ( (binary_expression "(ulong)iVar8 & 1" (cast_expression "(ulong)iVar8" ( (type_descriptor "ulong" type_identifier) ) identifier) & number_literal) )) != number_literal) )) || (parenthesized_expression "(((ulong)iVar8 & 2) != 0)" ( (binary_expression "((ulong)iVar8 & 2) != 0" (parenthesized_expression "((ulong)iVar8 & 2)" ( (binary_expression "(ulong)iVar8 & 2" (cast_expression "(ulong)iVar8" ( (type_descriptor "ulong" type_identifier) ) identifier) & number_literal) )) != number_literal) ))) )) || (parenthesized_expression "(((ulong)iVar8 & 4) != 0)" ( (binary_expression "((ulong)iVar8 & 4) != 0" (parenthesized_expression "((ulong)iVar8 & 4)" ( (binary_expression "(ulong)iVar8 & 4" (cast_expression "(ulong)iVar8" ( (type_descriptor "ulong" type_identifier) ) identifier) & number_literal) )) != number_literal) ))) )) || (parenthesized_expression "(((*(byte *)((long)i.types + uVar14 * 8 + 5) & 2) != 0 ||\n                (((ulong)i.types[uVar14] & 8) != 0)))" ( (parenthesized_expression "((*(byte *)((long)i.types + uVar14 * 8 + 5) & 2) != 0 ||\n                (((ulong)i.types[uVar14] & 8) != 0))" ( (binary_expression "(*(byte *)((long)i.types + uVar14 * 8 + 5) & 2) != 0 ||\n                (((ulong)i.types[uVar14] & 8) != 0)" (binary_expression "(*(byte *)((long)i.types + uVar14 * 8 + 5) & 2) != 0" (parenthesized_expression "(*(byte *)((long)i.types + uVar14 * 8 + 5) & 2)" ( (binary_expression "*(byte *)((long)i.types + uVar14 * 8 + 5) & 2" (pointer_expression "*(byte *)((long)i.types + uVar14 * 8 + 5)" * (cast_expression "(byte *)((long)i.types + uVar14 * 8 + 5)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)i.types + uVar14 * 8 + 5)" ( (binary_expression "(long)i.types + uVar14 * 8 + 5" (binary_expression "(long)i.types + uVar14 * 8" (cast_expression "(long)i.types" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (field_expression "i.types" identifier . field_identifier)) + (binary_expression "uVar14 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) != number_literal) || (parenthesized_expression "(((ulong)i.types[uVar14] & 8) != 0)" ( (binary_expression "((ulong)i.types[uVar14] & 8) != 0" (parenthesized_expression "((ulong)i.types[uVar14] & 8)" ( (binary_expression "(ulong)i.types[uVar14] & 8" (cast_expression "(ulong)i.types[uVar14]" ( (type_descriptor "ulong" type_identifier) ) (subscript_expression "i.types[uVar14]" (field_expression "i.types" identifier . field_identifier) [ identifier ])) & number_literal) )) != number_literal) ))) )) ))) )) (goto_statement "goto LAB_00133670;" goto statement_identifier ;)) })) (expression_statement "uVar24 = (ulong)i.operands;" (assignment_expression "uVar24 = (ulong)i.operands" identifier = (cast_expression "(ulong)i.operands" ( (type_descriptor "ulong" type_identifier) ) (field_expression "i.operands" identifier . field_identifier))) ;) })) }))) (labeled_statement "LAB_00133670:\n      uVar18 = (uint)uVar24;" statement_identifier : (expression_statement "uVar18 = (uint)uVar24;" (assignment_expression "uVar18 = (uint)uVar24" identifier = (cast_expression "(uint)uVar24" ( (type_descriptor "uint" type_identifier) ) identifier)) ;)) (if_statement "if (bVar22 == 8) {\n        uVar18 = 0xffffffff;\n        uVar24 = uVar21;\nLAB_00133b96:\n        if (uVar18 != (uint)uVar24) goto LAB_001336a6;\n        if (i.mem_operands != 0) goto LAB_001330bc;\n      }\n      else {\n        uVar21 = uVar24;\n        if (bVar25 == 8) {\n          if (uVar26 == 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/config/tc-i386.c",0x1c44,"build_modrm_byte");\n          }\n          uVar20 = uVar18 + 1;\n          uVar21 = (ulong)uVar20;\n          uVar14 = uVar24;\n          if (uVar26 < uVar18) {\n            if (i.operands <= uVar20) {\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1c49,"build_modrm_byte");\n            }\n          }\n          else if (((*(byte *)((long)i.tm.operand_types + uVar24 * 8 + 2) & 0x40) == 0) &&\n                  ((*(byte *)((long)i.tm.operand_types + uVar21 * 8 + 2) & 0x40) != 0)) {\n            if ((i.operands <= uVar18 + 2) || (uVar26 != uVar20)) {\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1c55,"build_modrm_byte");\n            }\n            uVar21 = (ulong)(uVar18 + 2);\n          }\n          else {\n            uVar14 = uVar21;\n            uVar21 = uVar24;\n            uVar18 = uVar20;\n            if (i.operands <= uVar20) {\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1c5a,"build_modrm_byte");\n            }\n          }\nLAB_00133e49:\n          iVar8 = i.tm.operand_types[uVar14];\n          if (((((ulong)iVar8 & 1) == 0) ||\n              ((-1 < *(char *)((long)i.tm.operand_types + uVar14 * 8 + 3) &&\n               ((*(byte *)((long)i.tm.operand_types + uVar14 * 8 + 4) & 2) == 0)))) &&\n             ((((ulong)iVar8 & 4) == 0 &&\n              ((*(uint *)((long)i.tm.operand_types + uVar14 * 8 + 4) != regmask.array[1] ||\n               (i.tm.operand_types[uVar14].array[0] != regmask.array[0])))))) {\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/config/tc-i386.c",0x1c7b,"build_modrm_byte");\n          }\n          i.vex.register_specifier = i.op[uVar14].regs;\n          uVar24 = uVar21;\n          goto LAB_00133b96;\n        }\n        if (bVar25 == 0x10) {\n          if (i.mem_operands == 0) {\n            if (i.operands != uVar18 + 2) {\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1c65,"build_modrm_byte");\n            }\n            uVar14 = (ulong)(uVar18 + 1);\n            uVar18 = uVar18 + 1;\n          }\n          else {\n            if ((i.imm_operands + 2 <= uVar18) || (i.operands != i.imm_operands + 2)) {\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1c6c,"build_modrm_byte");\n            }\n            uVar18 = i.imm_operands + 1;\n            if (uVar18 == 0xffffffff) goto LAB_001336a6;\n            uVar14 = (ulong)uVar18;\n          }\n          goto LAB_00133e49;\n        }\n        if (i.operands <= uVar18) {\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/config/tc-i386.c",0x1c71,"build_modrm_byte");\n        }\nLAB_001336a6:\n        if (i.tm.extension_opcode == 0xffff) {\n          i.rm.reg = (uint)(i.op[uVar24].regs)->reg_num;\n          bVar22 = (i.op[uVar24].regs)->reg_flags;\n          if ((bVar22 & 1) != 0) {\n            i.rex = i.rex | 4;\n          }\n          if ((bVar22 & 4) != 0) {\n            i.vrex = i.vrex | 4;\n          }\n          if (i.mem_operands == 0) {\n            i.rm.mode = 3;\n            return (seg_entry *)puVar15;\n          }\n          return (seg_entry *)puVar15;\n        }\n        i.rm.regmem = (uint)(i.op[uVar24].regs)->reg_num;\n        bVar22 = (i.op[uVar24].regs)->reg_flags;\n        if ((bVar22 & 1) != 0) {\n          i.rex = i.rex | 1;\n        }\n        if ((bVar22 & 4) != 0) {\n          i.vrex = i.vrex | 1;\n        }\n        if (i.mem_operands != 0) {\n          i.rm.reg = i.tm.extension_opcode;\n          return (seg_entry *)puVar15;\n        }\n      }" if (parenthesized_expression "(bVar22 == 8)" ( (binary_expression "bVar22 == 8" identifier == number_literal) )) (compound_statement "{\n        uVar18 = 0xffffffff;\n        uVar24 = uVar21;\nLAB_00133b96:\n        if (uVar18 != (uint)uVar24) goto LAB_001336a6;\n        if (i.mem_operands != 0) goto LAB_001330bc;\n      }" { (expression_statement "uVar18 = 0xffffffff;" (assignment_expression "uVar18 = 0xffffffff" identifier = number_literal) ;) (expression_statement "uVar24 = uVar21;" (assignment_expression "uVar24 = uVar21" identifier = identifier) ;) (labeled_statement "LAB_00133b96:\n        if (uVar18 != (uint)uVar24) goto LAB_001336a6;" statement_identifier : (if_statement "if (uVar18 != (uint)uVar24) goto LAB_001336a6;" if (parenthesized_expression "(uVar18 != (uint)uVar24)" ( (binary_expression "uVar18 != (uint)uVar24" identifier != (cast_expression "(uint)uVar24" ( (type_descriptor "uint" type_identifier) ) identifier)) )) (goto_statement "goto LAB_001336a6;" goto statement_identifier ;))) (if_statement "if (i.mem_operands != 0) goto LAB_001330bc;" if (parenthesized_expression "(i.mem_operands != 0)" ( (binary_expression "i.mem_operands != 0" (field_expression "i.mem_operands" identifier . field_identifier) != number_literal) )) (goto_statement "goto LAB_001330bc;" goto statement_identifier ;)) }) (else_clause "else {\n        uVar21 = uVar24;\n        if (bVar25 == 8) {\n          if (uVar26 == 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/config/tc-i386.c",0x1c44,"build_modrm_byte");\n          }\n          uVar20 = uVar18 + 1;\n          uVar21 = (ulong)uVar20;\n          uVar14 = uVar24;\n          if (uVar26 < uVar18) {\n            if (i.operands <= uVar20) {\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1c49,"build_modrm_byte");\n            }\n          }\n          else if (((*(byte *)((long)i.tm.operand_types + uVar24 * 8 + 2) & 0x40) == 0) &&\n                  ((*(byte *)((long)i.tm.operand_types + uVar21 * 8 + 2) & 0x40) != 0)) {\n            if ((i.operands <= uVar18 + 2) || (uVar26 != uVar20)) {\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1c55,"build_modrm_byte");\n            }\n            uVar21 = (ulong)(uVar18 + 2);\n          }\n          else {\n            uVar14 = uVar21;\n            uVar21 = uVar24;\n            uVar18 = uVar20;\n            if (i.operands <= uVar20) {\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1c5a,"build_modrm_byte");\n            }\n          }\nLAB_00133e49:\n          iVar8 = i.tm.operand_types[uVar14];\n          if (((((ulong)iVar8 & 1) == 0) ||\n              ((-1 < *(char *)((long)i.tm.operand_types + uVar14 * 8 + 3) &&\n               ((*(byte *)((long)i.tm.operand_types + uVar14 * 8 + 4) & 2) == 0)))) &&\n             ((((ulong)iVar8 & 4) == 0 &&\n              ((*(uint *)((long)i.tm.operand_types + uVar14 * 8 + 4) != regmask.array[1] ||\n               (i.tm.operand_types[uVar14].array[0] != regmask.array[0])))))) {\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/config/tc-i386.c",0x1c7b,"build_modrm_byte");\n          }\n          i.vex.register_specifier = i.op[uVar14].regs;\n          uVar24 = uVar21;\n          goto LAB_00133b96;\n        }\n        if (bVar25 == 0x10) {\n          if (i.mem_operands == 0) {\n            if (i.operands != uVar18 + 2) {\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1c65,"build_modrm_byte");\n            }\n            uVar14 = (ulong)(uVar18 + 1);\n            uVar18 = uVar18 + 1;\n          }\n          else {\n            if ((i.imm_operands + 2 <= uVar18) || (i.operands != i.imm_operands + 2)) {\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1c6c,"build_modrm_byte");\n            }\n            uVar18 = i.imm_operands + 1;\n            if (uVar18 == 0xffffffff) goto LAB_001336a6;\n            uVar14 = (ulong)uVar18;\n          }\n          goto LAB_00133e49;\n        }\n        if (i.operands <= uVar18) {\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/config/tc-i386.c",0x1c71,"build_modrm_byte");\n        }\nLAB_001336a6:\n        if (i.tm.extension_opcode == 0xffff) {\n          i.rm.reg = (uint)(i.op[uVar24].regs)->reg_num;\n          bVar22 = (i.op[uVar24].regs)->reg_flags;\n          if ((bVar22 & 1) != 0) {\n            i.rex = i.rex | 4;\n          }\n          if ((bVar22 & 4) != 0) {\n            i.vrex = i.vrex | 4;\n          }\n          if (i.mem_operands == 0) {\n            i.rm.mode = 3;\n            return (seg_entry *)puVar15;\n          }\n          return (seg_entry *)puVar15;\n        }\n        i.rm.regmem = (uint)(i.op[uVar24].regs)->reg_num;\n        bVar22 = (i.op[uVar24].regs)->reg_flags;\n        if ((bVar22 & 1) != 0) {\n          i.rex = i.rex | 1;\n        }\n        if ((bVar22 & 4) != 0) {\n          i.vrex = i.vrex | 1;\n        }\n        if (i.mem_operands != 0) {\n          i.rm.reg = i.tm.extension_opcode;\n          return (seg_entry *)puVar15;\n        }\n      }" else (compound_statement "{\n        uVar21 = uVar24;\n        if (bVar25 == 8) {\n          if (uVar26 == 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/config/tc-i386.c",0x1c44,"build_modrm_byte");\n          }\n          uVar20 = uVar18 + 1;\n          uVar21 = (ulong)uVar20;\n          uVar14 = uVar24;\n          if (uVar26 < uVar18) {\n            if (i.operands <= uVar20) {\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1c49,"build_modrm_byte");\n            }\n          }\n          else if (((*(byte *)((long)i.tm.operand_types + uVar24 * 8 + 2) & 0x40) == 0) &&\n                  ((*(byte *)((long)i.tm.operand_types + uVar21 * 8 + 2) & 0x40) != 0)) {\n            if ((i.operands <= uVar18 + 2) || (uVar26 != uVar20)) {\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1c55,"build_modrm_byte");\n            }\n            uVar21 = (ulong)(uVar18 + 2);\n          }\n          else {\n            uVar14 = uVar21;\n            uVar21 = uVar24;\n            uVar18 = uVar20;\n            if (i.operands <= uVar20) {\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1c5a,"build_modrm_byte");\n            }\n          }\nLAB_00133e49:\n          iVar8 = i.tm.operand_types[uVar14];\n          if (((((ulong)iVar8 & 1) == 0) ||\n              ((-1 < *(char *)((long)i.tm.operand_types + uVar14 * 8 + 3) &&\n               ((*(byte *)((long)i.tm.operand_types + uVar14 * 8 + 4) & 2) == 0)))) &&\n             ((((ulong)iVar8 & 4) == 0 &&\n              ((*(uint *)((long)i.tm.operand_types + uVar14 * 8 + 4) != regmask.array[1] ||\n               (i.tm.operand_types[uVar14].array[0] != regmask.array[0])))))) {\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/config/tc-i386.c",0x1c7b,"build_modrm_byte");\n          }\n          i.vex.register_specifier = i.op[uVar14].regs;\n          uVar24 = uVar21;\n          goto LAB_00133b96;\n        }\n        if (bVar25 == 0x10) {\n          if (i.mem_operands == 0) {\n            if (i.operands != uVar18 + 2) {\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1c65,"build_modrm_byte");\n            }\n            uVar14 = (ulong)(uVar18 + 1);\n            uVar18 = uVar18 + 1;\n          }\n          else {\n            if ((i.imm_operands + 2 <= uVar18) || (i.operands != i.imm_operands + 2)) {\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1c6c,"build_modrm_byte");\n            }\n            uVar18 = i.imm_operands + 1;\n            if (uVar18 == 0xffffffff) goto LAB_001336a6;\n            uVar14 = (ulong)uVar18;\n          }\n          goto LAB_00133e49;\n        }\n        if (i.operands <= uVar18) {\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/config/tc-i386.c",0x1c71,"build_modrm_byte");\n        }\nLAB_001336a6:\n        if (i.tm.extension_opcode == 0xffff) {\n          i.rm.reg = (uint)(i.op[uVar24].regs)->reg_num;\n          bVar22 = (i.op[uVar24].regs)->reg_flags;\n          if ((bVar22 & 1) != 0) {\n            i.rex = i.rex | 4;\n          }\n          if ((bVar22 & 4) != 0) {\n            i.vrex = i.vrex | 4;\n          }\n          if (i.mem_operands == 0) {\n            i.rm.mode = 3;\n            return (seg_entry *)puVar15;\n          }\n          return (seg_entry *)puVar15;\n        }\n        i.rm.regmem = (uint)(i.op[uVar24].regs)->reg_num;\n        bVar22 = (i.op[uVar24].regs)->reg_flags;\n        if ((bVar22 & 1) != 0) {\n          i.rex = i.rex | 1;\n        }\n        if ((bVar22 & 4) != 0) {\n          i.vrex = i.vrex | 1;\n        }\n        if (i.mem_operands != 0) {\n          i.rm.reg = i.tm.extension_opcode;\n          return (seg_entry *)puVar15;\n        }\n      }" { (expression_statement "uVar21 = uVar24;" (assignment_expression "uVar21 = uVar24" identifier = identifier) ;) (if_statement "if (bVar25 == 8) {\n          if (uVar26 == 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/config/tc-i386.c",0x1c44,"build_modrm_byte");\n          }\n          uVar20 = uVar18 + 1;\n          uVar21 = (ulong)uVar20;\n          uVar14 = uVar24;\n          if (uVar26 < uVar18) {\n            if (i.operands <= uVar20) {\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1c49,"build_modrm_byte");\n            }\n          }\n          else if (((*(byte *)((long)i.tm.operand_types + uVar24 * 8 + 2) & 0x40) == 0) &&\n                  ((*(byte *)((long)i.tm.operand_types + uVar21 * 8 + 2) & 0x40) != 0)) {\n            if ((i.operands <= uVar18 + 2) || (uVar26 != uVar20)) {\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1c55,"build_modrm_byte");\n            }\n            uVar21 = (ulong)(uVar18 + 2);\n          }\n          else {\n            uVar14 = uVar21;\n            uVar21 = uVar24;\n            uVar18 = uVar20;\n            if (i.operands <= uVar20) {\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1c5a,"build_modrm_byte");\n            }\n          }\nLAB_00133e49:\n          iVar8 = i.tm.operand_types[uVar14];\n          if (((((ulong)iVar8 & 1) == 0) ||\n              ((-1 < *(char *)((long)i.tm.operand_types + uVar14 * 8 + 3) &&\n               ((*(byte *)((long)i.tm.operand_types + uVar14 * 8 + 4) & 2) == 0)))) &&\n             ((((ulong)iVar8 & 4) == 0 &&\n              ((*(uint *)((long)i.tm.operand_types + uVar14 * 8 + 4) != regmask.array[1] ||\n               (i.tm.operand_types[uVar14].array[0] != regmask.array[0])))))) {\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/config/tc-i386.c",0x1c7b,"build_modrm_byte");\n          }\n          i.vex.register_specifier = i.op[uVar14].regs;\n          uVar24 = uVar21;\n          goto LAB_00133b96;\n        }" if (parenthesized_expression "(bVar25 == 8)" ( (binary_expression "bVar25 == 8" identifier == number_literal) )) (compound_statement "{\n          if (uVar26 == 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/config/tc-i386.c",0x1c44,"build_modrm_byte");\n          }\n          uVar20 = uVar18 + 1;\n          uVar21 = (ulong)uVar20;\n          uVar14 = uVar24;\n          if (uVar26 < uVar18) {\n            if (i.operands <= uVar20) {\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1c49,"build_modrm_byte");\n            }\n          }\n          else if (((*(byte *)((long)i.tm.operand_types + uVar24 * 8 + 2) & 0x40) == 0) &&\n                  ((*(byte *)((long)i.tm.operand_types + uVar21 * 8 + 2) & 0x40) != 0)) {\n            if ((i.operands <= uVar18 + 2) || (uVar26 != uVar20)) {\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1c55,"build_modrm_byte");\n            }\n            uVar21 = (ulong)(uVar18 + 2);\n          }\n          else {\n            uVar14 = uVar21;\n            uVar21 = uVar24;\n            uVar18 = uVar20;\n            if (i.operands <= uVar20) {\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1c5a,"build_modrm_byte");\n            }\n          }\nLAB_00133e49:\n          iVar8 = i.tm.operand_types[uVar14];\n          if (((((ulong)iVar8 & 1) == 0) ||\n              ((-1 < *(char *)((long)i.tm.operand_types + uVar14 * 8 + 3) &&\n               ((*(byte *)((long)i.tm.operand_types + uVar14 * 8 + 4) & 2) == 0)))) &&\n             ((((ulong)iVar8 & 4) == 0 &&\n              ((*(uint *)((long)i.tm.operand_types + uVar14 * 8 + 4) != regmask.array[1] ||\n               (i.tm.operand_types[uVar14].array[0] != regmask.array[0])))))) {\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/config/tc-i386.c",0x1c7b,"build_modrm_byte");\n          }\n          i.vex.register_specifier = i.op[uVar14].regs;\n          uVar24 = uVar21;\n          goto LAB_00133b96;\n        }" { (if_statement "if (uVar26 == 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/config/tc-i386.c",0x1c44,"build_modrm_byte");\n          }" if (parenthesized_expression "(uVar26 == 0xffffffff)" ( (binary_expression "uVar26 == 0xffffffff" identifier == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/config/tc-i386.c",0x1c44,"build_modrm_byte");\n          }" { comment (expression_statement "as_abort("../../gas/config/tc-i386.c",0x1c44,"build_modrm_byte");" (call_expression "as_abort("../../gas/config/tc-i386.c",0x1c44,"build_modrm_byte")" identifier (argument_list "("../../gas/config/tc-i386.c",0x1c44,"build_modrm_byte")" ( (string_literal ""../../gas/config/tc-i386.c"" " string_content ") , number_literal , (string_literal ""build_modrm_byte"" " string_content ") ))) ;) })) (expression_statement "uVar20 = uVar18 + 1;" (assignment_expression "uVar20 = uVar18 + 1" identifier = (binary_expression "uVar18 + 1" identifier + number_literal)) ;) (expression_statement "uVar21 = (ulong)uVar20;" (assignment_expression "uVar21 = (ulong)uVar20" identifier = (cast_expression "(ulong)uVar20" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "uVar14 = uVar24;" (assignment_expression "uVar14 = uVar24" identifier = identifier) ;) (if_statement "if (uVar26 < uVar18) {\n            if (i.operands <= uVar20) {\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1c49,"build_modrm_byte");\n            }\n          }\n          else if (((*(byte *)((long)i.tm.operand_types + uVar24 * 8 + 2) & 0x40) == 0) &&\n                  ((*(byte *)((long)i.tm.operand_types + uVar21 * 8 + 2) & 0x40) != 0)) {\n            if ((i.operands <= uVar18 + 2) || (uVar26 != uVar20)) {\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1c55,"build_modrm_byte");\n            }\n            uVar21 = (ulong)(uVar18 + 2);\n          }\n          else {\n            uVar14 = uVar21;\n            uVar21 = uVar24;\n            uVar18 = uVar20;\n            if (i.operands <= uVar20) {\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1c5a,"build_modrm_byte");\n            }\n          }" if (parenthesized_expression "(uVar26 < uVar18)" ( (binary_expression "uVar26 < uVar18" identifier < identifier) )) (compound_statement "{\n            if (i.operands <= uVar20) {\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1c49,"build_modrm_byte");\n            }\n          }" { (if_statement "if (i.operands <= uVar20) {\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1c49,"build_modrm_byte");\n            }" if (parenthesized_expression "(i.operands <= uVar20)" ( (binary_expression "i.operands <= uVar20" (field_expression "i.operands" identifier . field_identifier) <= identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1c49,"build_modrm_byte");\n            }" { comment (expression_statement "as_abort("../../gas/config/tc-i386.c",0x1c49,"build_modrm_byte");" (call_expression "as_abort("../../gas/config/tc-i386.c",0x1c49,"build_modrm_byte")" identifier (argument_list "("../../gas/config/tc-i386.c",0x1c49,"build_modrm_byte")" ( (string_literal ""../../gas/config/tc-i386.c"" " string_content ") , number_literal , (string_literal ""build_modrm_byte"" " string_content ") ))) ;) })) }) (else_clause "else if (((*(byte *)((long)i.tm.operand_types + uVar24 * 8 + 2) & 0x40) == 0) &&\n                  ((*(byte *)((long)i.tm.operand_types + uVar21 * 8 + 2) & 0x40) != 0)) {\n            if ((i.operands <= uVar18 + 2) || (uVar26 != uVar20)) {\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1c55,"build_modrm_byte");\n            }\n            uVar21 = (ulong)(uVar18 + 2);\n          }\n          else {\n            uVar14 = uVar21;\n            uVar21 = uVar24;\n            uVar18 = uVar20;\n            if (i.operands <= uVar20) {\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1c5a,"build_modrm_byte");\n            }\n          }" else (if_statement "if (((*(byte *)((long)i.tm.operand_types + uVar24 * 8 + 2) & 0x40) == 0) &&\n                  ((*(byte *)((long)i.tm.operand_types + uVar21 * 8 + 2) & 0x40) != 0)) {\n            if ((i.operands <= uVar18 + 2) || (uVar26 != uVar20)) {\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1c55,"build_modrm_byte");\n            }\n            uVar21 = (ulong)(uVar18 + 2);\n          }\n          else {\n            uVar14 = uVar21;\n            uVar21 = uVar24;\n            uVar18 = uVar20;\n            if (i.operands <= uVar20) {\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1c5a,"build_modrm_byte");\n            }\n          }" if (parenthesized_expression "(((*(byte *)((long)i.tm.operand_types + uVar24 * 8 + 2) & 0x40) == 0) &&\n                  ((*(byte *)((long)i.tm.operand_types + uVar21 * 8 + 2) & 0x40) != 0))" ( (binary_expression "((*(byte *)((long)i.tm.operand_types + uVar24 * 8 + 2) & 0x40) == 0) &&\n                  ((*(byte *)((long)i.tm.operand_types + uVar21 * 8 + 2) & 0x40) != 0)" (parenthesized_expression "((*(byte *)((long)i.tm.operand_types + uVar24 * 8 + 2) & 0x40) == 0)" ( (binary_expression "(*(byte *)((long)i.tm.operand_types + uVar24 * 8 + 2) & 0x40) == 0" (parenthesized_expression "(*(byte *)((long)i.tm.operand_types + uVar24 * 8 + 2) & 0x40)" ( (binary_expression "*(byte *)((long)i.tm.operand_types + uVar24 * 8 + 2) & 0x40" (pointer_expression "*(byte *)((long)i.tm.operand_types + uVar24 * 8 + 2)" * (cast_expression "(byte *)((long)i.tm.operand_types + uVar24 * 8 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)i.tm.operand_types + uVar24 * 8 + 2)" ( (binary_expression "(long)i.tm.operand_types + uVar24 * 8 + 2" (binary_expression "(long)i.tm.operand_types + uVar24 * 8" (cast_expression "(long)i.tm.operand_types" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (field_expression "i.tm.operand_types" (field_expression "i.tm" identifier . field_identifier) . field_identifier)) + (binary_expression "uVar24 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) )) && (parenthesized_expression "((*(byte *)((long)i.tm.operand_types + uVar21 * 8 + 2) & 0x40) != 0)" ( (binary_expression "(*(byte *)((long)i.tm.operand_types + uVar21 * 8 + 2) & 0x40) != 0" (parenthesized_expression "(*(byte *)((long)i.tm.operand_types + uVar21 * 8 + 2) & 0x40)" ( (binary_expression "*(byte *)((long)i.tm.operand_types + uVar21 * 8 + 2) & 0x40" (pointer_expression "*(byte *)((long)i.tm.operand_types + uVar21 * 8 + 2)" * (cast_expression "(byte *)((long)i.tm.operand_types + uVar21 * 8 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)i.tm.operand_types + uVar21 * 8 + 2)" ( (binary_expression "(long)i.tm.operand_types + uVar21 * 8 + 2" (binary_expression "(long)i.tm.operand_types + uVar21 * 8" (cast_expression "(long)i.tm.operand_types" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (field_expression "i.tm.operand_types" (field_expression "i.tm" identifier . field_identifier) . field_identifier)) + (binary_expression "uVar21 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n            if ((i.operands <= uVar18 + 2) || (uVar26 != uVar20)) {\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1c55,"build_modrm_byte");\n            }\n            uVar21 = (ulong)(uVar18 + 2);\n          }" { (if_statement "if ((i.operands <= uVar18 + 2) || (uVar26 != uVar20)) {\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1c55,"build_modrm_byte");\n            }" if (parenthesized_expression "((i.operands <= uVar18 + 2) || (uVar26 != uVar20))" ( (binary_expression "(i.operands <= uVar18 + 2) || (uVar26 != uVar20)" (parenthesized_expression "(i.operands <= uVar18 + 2)" ( (binary_expression "i.operands <= uVar18 + 2" (field_expression "i.operands" identifier . field_identifier) <= (binary_expression "uVar18 + 2" identifier + number_literal)) )) || (parenthesized_expression "(uVar26 != uVar20)" ( (binary_expression "uVar26 != uVar20" identifier != identifier) ))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1c55,"build_modrm_byte");\n            }" { comment (expression_statement "as_abort("../../gas/config/tc-i386.c",0x1c55,"build_modrm_byte");" (call_expression "as_abort("../../gas/config/tc-i386.c",0x1c55,"build_modrm_byte")" identifier (argument_list "("../../gas/config/tc-i386.c",0x1c55,"build_modrm_byte")" ( (string_literal ""../../gas/config/tc-i386.c"" " string_content ") , number_literal , (string_literal ""build_modrm_byte"" " string_content ") ))) ;) })) (expression_statement "uVar21 = (ulong)(uVar18 + 2);" (assignment_expression "uVar21 = (ulong)(uVar18 + 2)" identifier = (call_expression "(ulong)(uVar18 + 2)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar18 + 2)" ( (binary_expression "uVar18 + 2" identifier + number_literal) )))) ;) }) (else_clause "else {\n            uVar14 = uVar21;\n            uVar21 = uVar24;\n            uVar18 = uVar20;\n            if (i.operands <= uVar20) {\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1c5a,"build_modrm_byte");\n            }\n          }" else (compound_statement "{\n            uVar14 = uVar21;\n            uVar21 = uVar24;\n            uVar18 = uVar20;\n            if (i.operands <= uVar20) {\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1c5a,"build_modrm_byte");\n            }\n          }" { (expression_statement "uVar14 = uVar21;" (assignment_expression "uVar14 = uVar21" identifier = identifier) ;) (expression_statement "uVar21 = uVar24;" (assignment_expression "uVar21 = uVar24" identifier = identifier) ;) (expression_statement "uVar18 = uVar20;" (assignment_expression "uVar18 = uVar20" identifier = identifier) ;) (if_statement "if (i.operands <= uVar20) {\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1c5a,"build_modrm_byte");\n            }" if (parenthesized_expression "(i.operands <= uVar20)" ( (binary_expression "i.operands <= uVar20" (field_expression "i.operands" identifier . field_identifier) <= identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1c5a,"build_modrm_byte");\n            }" { comment (expression_statement "as_abort("../../gas/config/tc-i386.c",0x1c5a,"build_modrm_byte");" (call_expression "as_abort("../../gas/config/tc-i386.c",0x1c5a,"build_modrm_byte")" identifier (argument_list "("../../gas/config/tc-i386.c",0x1c5a,"build_modrm_byte")" ( (string_literal ""../../gas/config/tc-i386.c"" " string_content ") , number_literal , (string_literal ""build_modrm_byte"" " string_content ") ))) ;) })) }))))) (labeled_statement "LAB_00133e49:\n          iVar8 = i.tm.operand_types[uVar14];" statement_identifier : (expression_statement "iVar8 = i.tm.operand_types[uVar14];" (assignment_expression "iVar8 = i.tm.operand_types[uVar14]" identifier = (subscript_expression "i.tm.operand_types[uVar14]" (field_expression "i.tm.operand_types" (field_expression "i.tm" identifier . field_identifier) . field_identifier) [ identifier ])) ;)) (if_statement "if (((((ulong)iVar8 & 1) == 0) ||\n              ((-1 < *(char *)((long)i.tm.operand_types + uVar14 * 8 + 3) &&\n               ((*(byte *)((long)i.tm.operand_types + uVar14 * 8 + 4) & 2) == 0)))) &&\n             ((((ulong)iVar8 & 4) == 0 &&\n              ((*(uint *)((long)i.tm.operand_types + uVar14 * 8 + 4) != regmask.array[1] ||\n               (i.tm.operand_types[uVar14].array[0] != regmask.array[0])))))) {\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/config/tc-i386.c",0x1c7b,"build_modrm_byte");\n          }" if (parenthesized_expression "(((((ulong)iVar8 & 1) == 0) ||\n              ((-1 < *(char *)((long)i.tm.operand_types + uVar14 * 8 + 3) &&\n               ((*(byte *)((long)i.tm.operand_types + uVar14 * 8 + 4) & 2) == 0)))) &&\n             ((((ulong)iVar8 & 4) == 0 &&\n              ((*(uint *)((long)i.tm.operand_types + uVar14 * 8 + 4) != regmask.array[1] ||\n               (i.tm.operand_types[uVar14].array[0] != regmask.array[0]))))))" ( (binary_expression "((((ulong)iVar8 & 1) == 0) ||\n              ((-1 < *(char *)((long)i.tm.operand_types + uVar14 * 8 + 3) &&\n               ((*(byte *)((long)i.tm.operand_types + uVar14 * 8 + 4) & 2) == 0)))) &&\n             ((((ulong)iVar8 & 4) == 0 &&\n              ((*(uint *)((long)i.tm.operand_types + uVar14 * 8 + 4) != regmask.array[1] ||\n               (i.tm.operand_types[uVar14].array[0] != regmask.array[0])))))" (parenthesized_expression "((((ulong)iVar8 & 1) == 0) ||\n              ((-1 < *(char *)((long)i.tm.operand_types + uVar14 * 8 + 3) &&\n               ((*(byte *)((long)i.tm.operand_types + uVar14 * 8 + 4) & 2) == 0))))" ( (binary_expression "(((ulong)iVar8 & 1) == 0) ||\n              ((-1 < *(char *)((long)i.tm.operand_types + uVar14 * 8 + 3) &&\n               ((*(byte *)((long)i.tm.operand_types + uVar14 * 8 + 4) & 2) == 0)))" (parenthesized_expression "(((ulong)iVar8 & 1) == 0)" ( (binary_expression "((ulong)iVar8 & 1) == 0" (parenthesized_expression "((ulong)iVar8 & 1)" ( (binary_expression "(ulong)iVar8 & 1" (cast_expression "(ulong)iVar8" ( (type_descriptor "ulong" type_identifier) ) identifier) & number_literal) )) == number_literal) )) || (parenthesized_expression "((-1 < *(char *)((long)i.tm.operand_types + uVar14 * 8 + 3) &&\n               ((*(byte *)((long)i.tm.operand_types + uVar14 * 8 + 4) & 2) == 0)))" ( (parenthesized_expression "(-1 < *(char *)((long)i.tm.operand_types + uVar14 * 8 + 3) &&\n               ((*(byte *)((long)i.tm.operand_types + uVar14 * 8 + 4) & 2) == 0))" ( (binary_expression "-1 < *(char *)((long)i.tm.operand_types + uVar14 * 8 + 3) &&\n               ((*(byte *)((long)i.tm.operand_types + uVar14 * 8 + 4) & 2) == 0)" (binary_expression "-1 < *(char *)((long)i.tm.operand_types + uVar14 * 8 + 3)" number_literal < (pointer_expression "*(char *)((long)i.tm.operand_types + uVar14 * 8 + 3)" * (cast_expression "(char *)((long)i.tm.operand_types + uVar14 * 8 + 3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)i.tm.operand_types + uVar14 * 8 + 3)" ( (binary_expression "(long)i.tm.operand_types + uVar14 * 8 + 3" (binary_expression "(long)i.tm.operand_types + uVar14 * 8" (cast_expression "(long)i.tm.operand_types" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (field_expression "i.tm.operand_types" (field_expression "i.tm" identifier . field_identifier) . field_identifier)) + (binary_expression "uVar14 * 8" identifier * number_literal)) + number_literal) ))))) && (parenthesized_expression "((*(byte *)((long)i.tm.operand_types + uVar14 * 8 + 4) & 2) == 0)" ( (binary_expression "(*(byte *)((long)i.tm.operand_types + uVar14 * 8 + 4) & 2) == 0" (parenthesized_expression "(*(byte *)((long)i.tm.operand_types + uVar14 * 8 + 4) & 2)" ( (binary_expression "*(byte *)((long)i.tm.operand_types + uVar14 * 8 + 4) & 2" (pointer_expression "*(byte *)((long)i.tm.operand_types + uVar14 * 8 + 4)" * (cast_expression "(byte *)((long)i.tm.operand_types + uVar14 * 8 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)i.tm.operand_types + uVar14 * 8 + 4)" ( (binary_expression "(long)i.tm.operand_types + uVar14 * 8 + 4" (binary_expression "(long)i.tm.operand_types + uVar14 * 8" (cast_expression "(long)i.tm.operand_types" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (field_expression "i.tm.operand_types" (field_expression "i.tm" identifier . field_identifier) . field_identifier)) + (binary_expression "uVar14 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) ))) )) ))) )) && (parenthesized_expression "((((ulong)iVar8 & 4) == 0 &&\n              ((*(uint *)((long)i.tm.operand_types + uVar14 * 8 + 4) != regmask.array[1] ||\n               (i.tm.operand_types[uVar14].array[0] != regmask.array[0])))))" ( (parenthesized_expression "(((ulong)iVar8 & 4) == 0 &&\n              ((*(uint *)((long)i.tm.operand_types + uVar14 * 8 + 4) != regmask.array[1] ||\n               (i.tm.operand_types[uVar14].array[0] != regmask.array[0]))))" ( (binary_expression "((ulong)iVar8 & 4) == 0 &&\n              ((*(uint *)((long)i.tm.operand_types + uVar14 * 8 + 4) != regmask.array[1] ||\n               (i.tm.operand_types[uVar14].array[0] != regmask.array[0])))" (binary_expression "((ulong)iVar8 & 4) == 0" (parenthesized_expression "((ulong)iVar8 & 4)" ( (binary_expression "(ulong)iVar8 & 4" (cast_expression "(ulong)iVar8" ( (type_descriptor "ulong" type_identifier) ) identifier) & number_literal) )) == number_literal) && (parenthesized_expression "((*(uint *)((long)i.tm.operand_types + uVar14 * 8 + 4) != regmask.array[1] ||\n               (i.tm.operand_types[uVar14].array[0] != regmask.array[0])))" ( (parenthesized_expression "(*(uint *)((long)i.tm.operand_types + uVar14 * 8 + 4) != regmask.array[1] ||\n               (i.tm.operand_types[uVar14].array[0] != regmask.array[0]))" ( (binary_expression "*(uint *)((long)i.tm.operand_types + uVar14 * 8 + 4) != regmask.array[1] ||\n               (i.tm.operand_types[uVar14].array[0] != regmask.array[0])" (binary_expression "*(uint *)((long)i.tm.operand_types + uVar14 * 8 + 4) != regmask.array[1]" (pointer_expression "*(uint *)((long)i.tm.operand_types + uVar14 * 8 + 4)" * (cast_expression "(uint *)((long)i.tm.operand_types + uVar14 * 8 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)i.tm.operand_types + uVar14 * 8 + 4)" ( (binary_expression "(long)i.tm.operand_types + uVar14 * 8 + 4" (binary_expression "(long)i.tm.operand_types + uVar14 * 8" (cast_expression "(long)i.tm.operand_types" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (field_expression "i.tm.operand_types" (field_expression "i.tm" identifier . field_identifier) . field_identifier)) + (binary_expression "uVar14 * 8" identifier * number_literal)) + number_literal) )))) != (subscript_expression "regmask.array[1]" (field_expression "regmask.array" identifier . field_identifier) [ number_literal ])) || (parenthesized_expression "(i.tm.operand_types[uVar14].array[0] != regmask.array[0])" ( (binary_expression "i.tm.operand_types[uVar14].array[0] != regmask.array[0]" (subscript_expression "i.tm.operand_types[uVar14].array[0]" (field_expression "i.tm.operand_types[uVar14].array" (subscript_expression "i.tm.operand_types[uVar14]" (field_expression "i.tm.operand_types" (field_expression "i.tm" identifier . field_identifier) . field_identifier) [ identifier ]) . field_identifier) [ number_literal ]) != (subscript_expression "regmask.array[0]" (field_expression "regmask.array" identifier . field_identifier) [ number_literal ])) ))) )) ))) )) ))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/config/tc-i386.c",0x1c7b,"build_modrm_byte");\n          }" { comment (expression_statement "as_abort("../../gas/config/tc-i386.c",0x1c7b,"build_modrm_byte");" (call_expression "as_abort("../../gas/config/tc-i386.c",0x1c7b,"build_modrm_byte")" identifier (argument_list "("../../gas/config/tc-i386.c",0x1c7b,"build_modrm_byte")" ( (string_literal ""../../gas/config/tc-i386.c"" " string_content ") , number_literal , (string_literal ""build_modrm_byte"" " string_content ") ))) ;) })) (expression_statement "i.vex.register_specifier = i.op[uVar14].regs;" (assignment_expression "i.vex.register_specifier = i.op[uVar14].regs" (field_expression "i.vex.register_specifier" (field_expression "i.vex" identifier . field_identifier) . field_identifier) = (field_expression "i.op[uVar14].regs" (subscript_expression "i.op[uVar14]" (field_expression "i.op" identifier . field_identifier) [ identifier ]) . field_identifier)) ;) (expression_statement "uVar24 = uVar21;" (assignment_expression "uVar24 = uVar21" identifier = identifier) ;) (goto_statement "goto LAB_00133b96;" goto statement_identifier ;) })) (if_statement "if (bVar25 == 0x10) {\n          if (i.mem_operands == 0) {\n            if (i.operands != uVar18 + 2) {\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1c65,"build_modrm_byte");\n            }\n            uVar14 = (ulong)(uVar18 + 1);\n            uVar18 = uVar18 + 1;\n          }\n          else {\n            if ((i.imm_operands + 2 <= uVar18) || (i.operands != i.imm_operands + 2)) {\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1c6c,"build_modrm_byte");\n            }\n            uVar18 = i.imm_operands + 1;\n            if (uVar18 == 0xffffffff) goto LAB_001336a6;\n            uVar14 = (ulong)uVar18;\n          }\n          goto LAB_00133e49;\n        }" if (parenthesized_expression "(bVar25 == 0x10)" ( (binary_expression "bVar25 == 0x10" identifier == number_literal) )) (compound_statement "{\n          if (i.mem_operands == 0) {\n            if (i.operands != uVar18 + 2) {\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1c65,"build_modrm_byte");\n            }\n            uVar14 = (ulong)(uVar18 + 1);\n            uVar18 = uVar18 + 1;\n          }\n          else {\n            if ((i.imm_operands + 2 <= uVar18) || (i.operands != i.imm_operands + 2)) {\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1c6c,"build_modrm_byte");\n            }\n            uVar18 = i.imm_operands + 1;\n            if (uVar18 == 0xffffffff) goto LAB_001336a6;\n            uVar14 = (ulong)uVar18;\n          }\n          goto LAB_00133e49;\n        }" { (if_statement "if (i.mem_operands == 0) {\n            if (i.operands != uVar18 + 2) {\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1c65,"build_modrm_byte");\n            }\n            uVar14 = (ulong)(uVar18 + 1);\n            uVar18 = uVar18 + 1;\n          }\n          else {\n            if ((i.imm_operands + 2 <= uVar18) || (i.operands != i.imm_operands + 2)) {\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1c6c,"build_modrm_byte");\n            }\n            uVar18 = i.imm_operands + 1;\n            if (uVar18 == 0xffffffff) goto LAB_001336a6;\n            uVar14 = (ulong)uVar18;\n          }" if (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            if (i.operands != uVar18 + 2) {\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1c65,"build_modrm_byte");\n            }\n            uVar14 = (ulong)(uVar18 + 1);\n            uVar18 = uVar18 + 1;\n          }" { (if_statement "if (i.operands != uVar18 + 2) {\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1c65,"build_modrm_byte");\n            }" if (parenthesized_expression "(i.operands != uVar18 + 2)" ( (binary_expression "i.operands != uVar18 + 2" (field_expression "i.operands" identifier . field_identifier) != (binary_expression "uVar18 + 2" identifier + number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1c65,"build_modrm_byte");\n            }" { comment (expression_statement "as_abort("../../gas/config/tc-i386.c",0x1c65,"build_modrm_byte");" (call_expression "as_abort("../../gas/config/tc-i386.c",0x1c65,"build_modrm_byte")" identifier (argument_list "("../../gas/config/tc-i386.c",0x1c65,"build_modrm_byte")" ( (string_literal ""../../gas/config/tc-i386.c"" " string_content ") , number_literal , (string_literal ""build_modrm_byte"" " string_content ") ))) ;) })) (expression_statement "uVar14 = (ulong)(uVar18 + 1);" (assignment_expression "uVar14 = (ulong)(uVar18 + 1)" identifier = (call_expression "(ulong)(uVar18 + 1)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar18 + 1)" ( (binary_expression "uVar18 + 1" identifier + number_literal) )))) ;) (expression_statement "uVar18 = uVar18 + 1;" (assignment_expression "uVar18 = uVar18 + 1" identifier = (binary_expression "uVar18 + 1" identifier + number_literal)) ;) }) (else_clause "else {\n            if ((i.imm_operands + 2 <= uVar18) || (i.operands != i.imm_operands + 2)) {\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1c6c,"build_modrm_byte");\n            }\n            uVar18 = i.imm_operands + 1;\n            if (uVar18 == 0xffffffff) goto LAB_001336a6;\n            uVar14 = (ulong)uVar18;\n          }" else (compound_statement "{\n            if ((i.imm_operands + 2 <= uVar18) || (i.operands != i.imm_operands + 2)) {\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1c6c,"build_modrm_byte");\n            }\n            uVar18 = i.imm_operands + 1;\n            if (uVar18 == 0xffffffff) goto LAB_001336a6;\n            uVar14 = (ulong)uVar18;\n          }" { (if_statement "if ((i.imm_operands + 2 <= uVar18) || (i.operands != i.imm_operands + 2)) {\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1c6c,"build_modrm_byte");\n            }" if (parenthesized_expression "((i.imm_operands + 2 <= uVar18) || (i.operands != i.imm_operands + 2))" ( (binary_expression "(i.imm_operands + 2 <= uVar18) || (i.operands != i.imm_operands + 2)" (parenthesized_expression "(i.imm_operands + 2 <= uVar18)" ( (binary_expression "i.imm_operands + 2 <= uVar18" (binary_expression "i.imm_operands + 2" (field_expression "i.imm_operands" identifier . field_identifier) + number_literal) <= identifier) )) || (parenthesized_expression "(i.operands != i.imm_operands + 2)" ( (binary_expression "i.operands != i.imm_operands + 2" (field_expression "i.operands" identifier . field_identifier) != (binary_expression "i.imm_operands + 2" (field_expression "i.imm_operands" identifier . field_identifier) + number_literal)) ))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/config/tc-i386.c",0x1c6c,"build_modrm_byte");\n            }" { comment (expression_statement "as_abort("../../gas/config/tc-i386.c",0x1c6c,"build_modrm_byte");" (call_expression "as_abort("../../gas/config/tc-i386.c",0x1c6c,"build_modrm_byte")" identifier (argument_list "("../../gas/config/tc-i386.c",0x1c6c,"build_modrm_byte")" ( (string_literal ""../../gas/config/tc-i386.c"" " string_content ") , number_literal , (string_literal ""build_modrm_byte"" " string_content ") ))) ;) })) (expression_statement "uVar18 = i.imm_operands + 1;" (assignment_expression "uVar18 = i.imm_operands + 1" identifier = (binary_expression "i.imm_operands + 1" (field_expression "i.imm_operands" identifier . field_identifier) + number_literal)) ;) (if_statement "if (uVar18 == 0xffffffff) goto LAB_001336a6;" if (parenthesized_expression "(uVar18 == 0xffffffff)" ( (binary_expression "uVar18 == 0xffffffff" identifier == number_literal) )) (goto_statement "goto LAB_001336a6;" goto statement_identifier ;)) (expression_statement "uVar14 = (ulong)uVar18;" (assignment_expression "uVar14 = (ulong)uVar18" identifier = (cast_expression "(ulong)uVar18" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) }))) (goto_statement "goto LAB_00133e49;" goto statement_identifier ;) })) (if_statement "if (i.operands <= uVar18) {\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/config/tc-i386.c",0x1c71,"build_modrm_byte");\n        }" if (parenthesized_expression "(i.operands <= uVar18)" ( (binary_expression "i.operands <= uVar18" (field_expression "i.operands" identifier . field_identifier) <= identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/config/tc-i386.c",0x1c71,"build_modrm_byte");\n        }" { comment (expression_statement "as_abort("../../gas/config/tc-i386.c",0x1c71,"build_modrm_byte");" (call_expression "as_abort("../../gas/config/tc-i386.c",0x1c71,"build_modrm_byte")" identifier (argument_list "("../../gas/config/tc-i386.c",0x1c71,"build_modrm_byte")" ( (string_literal ""../../gas/config/tc-i386.c"" " string_content ") , number_literal , (string_literal ""build_modrm_byte"" " string_content ") ))) ;) })) (labeled_statement "LAB_001336a6:\n        if (i.tm.extension_opcode == 0xffff) {\n          i.rm.reg = (uint)(i.op[uVar24].regs)->reg_num;\n          bVar22 = (i.op[uVar24].regs)->reg_flags;\n          if ((bVar22 & 1) != 0) {\n            i.rex = i.rex | 4;\n          }\n          if ((bVar22 & 4) != 0) {\n            i.vrex = i.vrex | 4;\n          }\n          if (i.mem_operands == 0) {\n            i.rm.mode = 3;\n            return (seg_entry *)puVar15;\n          }\n          return (seg_entry *)puVar15;\n        }" statement_identifier : (if_statement "if (i.tm.extension_opcode == 0xffff) {\n          i.rm.reg = (uint)(i.op[uVar24].regs)->reg_num;\n          bVar22 = (i.op[uVar24].regs)->reg_flags;\n          if ((bVar22 & 1) != 0) {\n            i.rex = i.rex | 4;\n          }\n          if ((bVar22 & 4) != 0) {\n            i.vrex = i.vrex | 4;\n          }\n          if (i.mem_operands == 0) {\n            i.rm.mode = 3;\n            return (seg_entry *)puVar15;\n          }\n          return (seg_entry *)puVar15;\n        }" if (parenthesized_expression "(i.tm.extension_opcode == 0xffff)" ( (binary_expression "i.tm.extension_opcode == 0xffff" (field_expression "i.tm.extension_opcode" (field_expression "i.tm" identifier . field_identifier) . field_identifier) == number_literal) )) (compound_statement "{\n          i.rm.reg = (uint)(i.op[uVar24].regs)->reg_num;\n          bVar22 = (i.op[uVar24].regs)->reg_flags;\n          if ((bVar22 & 1) != 0) {\n            i.rex = i.rex | 4;\n          }\n          if ((bVar22 & 4) != 0) {\n            i.vrex = i.vrex | 4;\n          }\n          if (i.mem_operands == 0) {\n            i.rm.mode = 3;\n            return (seg_entry *)puVar15;\n          }\n          return (seg_entry *)puVar15;\n        }" { (expression_statement "i.rm.reg = (uint)(i.op[uVar24].regs)->reg_num;" (assignment_expression "i.rm.reg = (uint)(i.op[uVar24].regs)->reg_num" (field_expression "i.rm.reg" (field_expression "i.rm" identifier . field_identifier) . field_identifier) = (field_expression "(uint)(i.op[uVar24].regs)->reg_num" (call_expression "(uint)(i.op[uVar24].regs)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(i.op[uVar24].regs)" ( (field_expression "i.op[uVar24].regs" (subscript_expression "i.op[uVar24]" (field_expression "i.op" identifier . field_identifier) [ identifier ]) . field_identifier) ))) -> field_identifier)) ;) (expression_statement "bVar22 = (i.op[uVar24].regs)->reg_flags;" (assignment_expression "bVar22 = (i.op[uVar24].regs)->reg_flags" identifier = (field_expression "(i.op[uVar24].regs)->reg_flags" (parenthesized_expression "(i.op[uVar24].regs)" ( (field_expression "i.op[uVar24].regs" (subscript_expression "i.op[uVar24]" (field_expression "i.op" identifier . field_identifier) [ identifier ]) . field_identifier) )) -> field_identifier)) ;) (if_statement "if ((bVar22 & 1) != 0) {\n            i.rex = i.rex | 4;\n          }" if (parenthesized_expression "((bVar22 & 1) != 0)" ( (binary_expression "(bVar22 & 1) != 0" (parenthesized_expression "(bVar22 & 1)" ( (binary_expression "bVar22 & 1" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n            i.rex = i.rex | 4;\n          }" { (expression_statement "i.rex = i.rex | 4;" (assignment_expression "i.rex = i.rex | 4" (field_expression "i.rex" identifier . field_identifier) = (binary_expression "i.rex | 4" (field_expression "i.rex" identifier . field_identifier) | number_literal)) ;) })) (if_statement "if ((bVar22 & 4) != 0) {\n            i.vrex = i.vrex | 4;\n          }" if (parenthesized_expression "((bVar22 & 4) != 0)" ( (binary_expression "(bVar22 & 4) != 0" (parenthesized_expression "(bVar22 & 4)" ( (binary_expression "bVar22 & 4" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n            i.vrex = i.vrex | 4;\n          }" { (expression_statement "i.vrex = i.vrex | 4;" (assignment_expression "i.vrex = i.vrex | 4" (field_expression "i.vrex" identifier . field_identifier) = (binary_expression "i.vrex | 4" (field_expression "i.vrex" identifier . field_identifier) | number_literal)) ;) })) (if_statement "if (i.mem_operands == 0) {\n            i.rm.mode = 3;\n            return (seg_entry *)puVar15;\n          }" if (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            i.rm.mode = 3;\n            return (seg_entry *)puVar15;\n          }" { (expression_statement "i.rm.mode = 3;" (assignment_expression "i.rm.mode = 3" (field_expression "i.rm.mode" (field_expression "i.rm" identifier . field_identifier) . field_identifier) = number_literal) ;) (return_statement "return (seg_entry *)puVar15;" return (cast_expression "(seg_entry *)puVar15" ( (type_descriptor "seg_entry *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ;) })) (return_statement "return (seg_entry *)puVar15;" return (cast_expression "(seg_entry *)puVar15" ( (type_descriptor "seg_entry *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ;) }))) (expression_statement "i.rm.regmem = (uint)(i.op[uVar24].regs)->reg_num;" (assignment_expression "i.rm.regmem = (uint)(i.op[uVar24].regs)->reg_num" (field_expression "i.rm.regmem" (field_expression "i.rm" identifier . field_identifier) . field_identifier) = (field_expression "(uint)(i.op[uVar24].regs)->reg_num" (call_expression "(uint)(i.op[uVar24].regs)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(i.op[uVar24].regs)" ( (field_expression "i.op[uVar24].regs" (subscript_expression "i.op[uVar24]" (field_expression "i.op" identifier . field_identifier) [ identifier ]) . field_identifier) ))) -> field_identifier)) ;) (expression_statement "bVar22 = (i.op[uVar24].regs)->reg_flags;" (assignment_expression "bVar22 = (i.op[uVar24].regs)->reg_flags" identifier = (field_expression "(i.op[uVar24].regs)->reg_flags" (parenthesized_expression "(i.op[uVar24].regs)" ( (field_expression "i.op[uVar24].regs" (subscript_expression "i.op[uVar24]" (field_expression "i.op" identifier . field_identifier) [ identifier ]) . field_identifier) )) -> field_identifier)) ;) (if_statement "if ((bVar22 & 1) != 0) {\n          i.rex = i.rex | 1;\n        }" if (parenthesized_expression "((bVar22 & 1) != 0)" ( (binary_expression "(bVar22 & 1) != 0" (parenthesized_expression "(bVar22 & 1)" ( (binary_expression "bVar22 & 1" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n          i.rex = i.rex | 1;\n        }" { (expression_statement "i.rex = i.rex | 1;" (assignment_expression "i.rex = i.rex | 1" (field_expression "i.rex" identifier . field_identifier) = (binary_expression "i.rex | 1" (field_expression "i.rex" identifier . field_identifier) | number_literal)) ;) })) (if_statement "if ((bVar22 & 4) != 0) {\n          i.vrex = i.vrex | 1;\n        }" if (parenthesized_expression "((bVar22 & 4) != 0)" ( (binary_expression "(bVar22 & 4) != 0" (parenthesized_expression "(bVar22 & 4)" ( (binary_expression "bVar22 & 4" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n          i.vrex = i.vrex | 1;\n        }" { (expression_statement "i.vrex = i.vrex | 1;" (assignment_expression "i.vrex = i.vrex | 1" (field_expression "i.vrex" identifier . field_identifier) = (binary_expression "i.vrex | 1" (field_expression "i.vrex" identifier . field_identifier) | number_literal)) ;) })) (if_statement "if (i.mem_operands != 0) {\n          i.rm.reg = i.tm.extension_opcode;\n          return (seg_entry *)puVar15;\n        }" if (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          i.rm.reg = i.tm.extension_opcode;\n          return (seg_entry *)puVar15;\n        }" { (expression_statement "i.rm.reg = i.tm.extension_opcode;" (assignment_expression "i.rm.reg = i.tm.extension_opcode" (field_expression "i.rm.reg" (field_expression "i.rm" identifier . field_identifier) . field_identifier) = (field_expression "i.tm.extension_opcode" (field_expression "i.tm" identifier . field_identifier) . field_identifier)) ;) (return_statement "return (seg_entry *)puVar15;" return (cast_expression "(seg_entry *)puVar15" ( (type_descriptor "seg_entry *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ;) })) }))) (expression_statement "i.rm.mode = 3;" (assignment_expression "i.rm.mode = 3" (field_expression "i.rm.mode" (field_expression "i.rm" identifier . field_identifier) . field_identifier) = number_literal) ;) (goto_statement "goto LAB_001330bc;" goto statement_identifier ;) })) (expression_statement "i.vex.register_specifier = i.op[2].regs;" (assignment_expression "i.vex.register_specifier = i.op[2].regs" (field_expression "i.vex.register_specifier" (field_expression "i.vex" identifier . field_identifier) . field_identifier) = (field_expression "i.op[2].regs" (subscript_expression "i.op[2]" (field_expression "i.op" identifier . field_identifier) [ number_literal ]) . field_identifier)) ;) (if_statement "if (i.mem_operands != 0) goto LAB_001330bc;" if (parenthesized_expression "(i.mem_operands != 0)" ( (binary_expression "i.mem_operands != 0" (field_expression "i.mem_operands" identifier . field_identifier) != number_literal) )) (goto_statement "goto LAB_001330bc;" goto statement_identifier ;)) (expression_statement "bVar22 = (i.op[1].regs)->reg_num;" (assignment_expression "bVar22 = (i.op[1].regs)->reg_num" identifier = (field_expression "(i.op[1].regs)->reg_num" (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)) ;) (expression_statement "bVar25 = (i.op[1].regs)->reg_flags;" (assignment_expression "bVar25 = (i.op[1].regs)->reg_flags" identifier = (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)) ;) })))) (expression_statement "i.rm.regmem = (uint)bVar22;" (assignment_expression "i.rm.regmem = (uint)bVar22" (field_expression "i.rm.regmem" (field_expression "i.rm" identifier . field_identifier) . field_identifier) = (cast_expression "(uint)bVar22" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "i.rm.mode = 3;" (assignment_expression "i.rm.mode = 3" (field_expression "i.rm.mode" (field_expression "i.rm" identifier . field_identifier) . field_identifier) = number_literal) ;) (if_statement "if ((bVar25 & 1) != 0) {\n    i.rm.mode = 3;\n    i.rex = i.rex | 1;\n  }" if (parenthesized_expression "((bVar25 & 1) != 0)" ( (binary_expression "(bVar25 & 1) != 0" (parenthesized_expression "(bVar25 & 1)" ( (binary_expression "bVar25 & 1" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n    i.rm.mode = 3;\n    i.rex = i.rex | 1;\n  }" { (expression_statement "i.rm.mode = 3;" (assignment_expression "i.rm.mode = 3" (field_expression "i.rm.mode" (field_expression "i.rm" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "i.rex = i.rex | 1;" (assignment_expression "i.rex = i.rex | 1" (field_expression "i.rex" identifier . field_identifier) = (binary_expression "i.rex | 1" (field_expression "i.rex" identifier . field_identifier) | number_literal)) ;) })) (labeled_statement "LAB_001330bc:\n  if (i.tm.extension_opcode != 0xffff) {\n    i.rm.reg = i.tm.extension_opcode;\n    return (seg_entry *)puVar15;\n  }" statement_identifier : (if_statement "if (i.tm.extension_opcode != 0xffff) {\n    i.rm.reg = i.tm.extension_opcode;\n    return (seg_entry *)puVar15;\n  }" if (parenthesized_expression "(i.tm.extension_opcode != 0xffff)" ( (binary_expression "i.tm.extension_opcode != 0xffff" (field_expression "i.tm.extension_opcode" (field_expression "i.tm" identifier . field_identifier) . field_identifier) != number_literal) )) (compound_statement "{\n    i.rm.reg = i.tm.extension_opcode;\n    return (seg_entry *)puVar15;\n  }" { (expression_statement "i.rm.reg = i.tm.extension_opcode;" (assignment_expression "i.rm.reg = i.tm.extension_opcode" (field_expression "i.rm.reg" (field_expression "i.rm" identifier . field_identifier) . field_identifier) = (field_expression "i.tm.extension_opcode" (field_expression "i.tm" identifier . field_identifier) . field_identifier)) ;) (return_statement "return (seg_entry *)puVar15;" return (cast_expression "(seg_entry *)puVar15" ( (type_descriptor "seg_entry *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ;) }))) (return_statement "return (seg_entry *)puVar15;" return (cast_expression "(seg_entry *)puVar15" ( (type_descriptor "seg_entry *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ;) })))
(translation_unit "undefined1 * FUN_00132fc0(void)\n\n{\n  uint *puVar1;\n  long lVar2;\n  ulong *puVar3;\n  long lVar4;\n  byte *pbVar5;\n  char cVar6;\n  byte bVar7;\n  int iVar8;\n  ulong uVar9;\n  undefined1 *puVar10;\n  ulong uVar11;\n  byte bVar12;\n  long lVar13;\n  byte bVar14;\n  uint uVar15;\n  int iVar16;\n  uint uVar17;\n  ulong uVar18;\n  byte bVar19;\n  ulong uVar20;\n  byte bVar21;\n  uint uVar22;\n  uint uVar23;\n  bool bVar24;\n  \n  bVar21 = DAT_001e3bee;\n  uVar18 = 0;\n  uVar20 = 0;\n  bVar19 = DAT_001e3bee & 0xc;\n  if (bVar19 == 8) {\n    uVar22 = DAT_001e3c24 - 1;\n    uVar18 = (ulong)uVar22;\n    uVar15 = DAT_001e3c24 - 2;\n    if (((DAT_001e3c28 != 4) && ((DAT_001e3c28 != 3 || (DAT_001e3c30 != 1)))) ||\n       (((DAT_001e3bed & 0x18) != 8 ||\n        (((DAT_001e3bed & 0x60) == 0 || (((&DAT_001e3bf4)[uVar18 * 8] & 4) == 0)))))) {\n                    \n      FUN_0011dd00("../../gas/config/tc-i386.c",0x1a12,"build_modrm_byte");\n    }\n    uVar9 = (ulong)DAT_001e3c34;\n    uVar20 = (ulong)(DAT_001e3c34 + 1);\n    if ((DAT_001e3bed & 0x60) == 0x40) {\n      uVar20 = (ulong)DAT_001e3c34;\n      uVar9 = (ulong)(DAT_001e3c34 + 1);\n    }\n    if (DAT_001e3c34 == 0) {\n      uVar11 = (ulong)DAT_001e3c24;\n      DAT_001e3c24 = DAT_001e3c24 + 1;\n      DAT_001e3c34 = 1;\n      (&DAT_001e3c60)[uVar11] = (long)&DAT_001e3b20;\n      lVar13 = uVar11 + 0xe;\n      *(undefined8 *)(&DAT_001e3bc8 + lVar13 * 2) = 0;\n      *(undefined1 *)((long)&DAT_001e3bc8 + lVar13 * 8 + 1) = 4;\n      if (((&DAT_001e3bf4)[uVar9 * 8] & 4) == 0) {\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a2a,"build_modrm_byte");\n      }\n      DAT_001e3b38 = 2;\n      bVar14 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10);\n      bVar7 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x11);\n      uVar22 = (uint)bVar7;\n      if ((bVar14 & 1) != 0) {\n        uVar22 = bVar7 + 8;\n      }\n      if ((bVar14 & 4) != 0) {\n        _DAT_001e3b30 = (ulong)((uVar22 + 0x10) * 0x10);\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a2d,"build_modrm_byte");\n      }\n      _DAT_001e3b30 = (ulong)(uVar22 << 4);\n    }\n    else {\n      if ((DAT_001e3c34 != 1) || ((DAT_001e3c38._5_1_ & 1) == 0)) {\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a33,"build_modrm_byte");\n      }\n      if ((DAT_001e3bec & 0x20) == 0) {\n        DAT_001e3c38._1_1_ = DAT_001e3c38._1_1_ | 4;\n        uVar22 = 0;\n      }\n      else {\n        uVar20 = (ulong)((int)uVar20 - 1);\n        uVar9 = (ulong)((int)uVar9 - 1);\n      }\n      if (((&DAT_001e3bf4)[uVar9 * 8] & 4) == 0) {\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a45,"build_modrm_byte");\n      }\n      bVar14 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10);\n      bVar7 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x11);\n      uVar17 = (uint)bVar7;\n      if ((bVar14 & 1) != 0) {\n        uVar17 = bVar7 + 8;\n      }\n      lVar13 = (&DAT_001e3c60)[uVar22];\n      if ((bVar14 & 4) != 0) {\n        *(ulong *)(lVar13 + 0x10) = (ulong)((uVar17 + 0x10) * 0x10) | *(ulong *)(lVar13 + 0x10);\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a48,"build_modrm_byte");\n      }\n      *(ulong *)(lVar13 + 0x10) = (ulong)(uVar17 << 4) | *(ulong *)(lVar13 + 0x10);\n    }\n    if (((&DAT_001e3bf4)[(ulong)uVar15 * 8] & 4) == 0) {\n                    \n      FUN_0011dd00("../../gas/config/tc-i386.c",0x1a4b,"build_modrm_byte");\n    }\n    DAT_001e3d18 = (&DAT_001e3c60)[uVar15];\n  }\n  lVar2 = DAT_001e3cb8;\n  lVar13 = DAT_001e3cb0;\n  uVar9 = (ulong)DAT_001e3c30;\n  bVar14 = bVar19;\n  if (DAT_001e3c30 == 0) {\n    if (DAT_001e3c28 == 2) {\n      if ((DAT_001e3bed >> 3 & 3) < 2) {\nLAB_0013335b:\n        if (DAT_001e3c24 == 3) {\nLAB_00133ea8:\n          if ((DAT_001e3c34 != 1) &&\n             ((DAT_001e3c34 != 0 ||\n              (((DAT_001e3bed & 0x18) != 8 && ((DAT_001e3c38._3_1_ & 1) == 0)))))) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1a6b,"build_modrm_byte");\n          }\n          uVar9 = (ulong)((DAT_001e3c38._1_1_ & 0xfc) != 0 || (DAT_001e3c38._3_1_ & 1) != 0);\n          uVar22 = 3;\n        }\n        else if (DAT_001e3c24 < 4) {\n          uVar22 = DAT_001e3c24;\n          if (DAT_001e3c24 != 2) goto LAB_00133dcf;\n        }\n        else {\n          if (DAT_001e3c24 != 4) goto joined_r0x00133753;\nLAB_00133379:\n          uVar9 = (ulong)DAT_001e3c34;\n          if (DAT_001e3c34 == 2) {\n            if (((DAT_001e3c38._1_1_ & 4) == 0) || ((DAT_001e3c40._1_1_ & 4) == 0))\n            goto LAB_00133d61;\n          }\n          else {\n            if ((((DAT_001e3bed & 0x18) != 8) || (DAT_001e3c34 != 1)) ||\n               ((((DAT_001e3c38._1_1_ & 4) == 0 && ((DAT_001e3c50._1_1_ & 4) == 0)) &&\n                (DAT_001e3d28 == 0)))) {\nLAB_00133d61:\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1a81,"build_modrm_byte");\n            }\n            uVar9 = (ulong)((DAT_001e3c38._1_1_ & 4) != 0);\n          }\n          uVar22 = 4;\n        }\nLAB_001337c1:\n        if (bVar19 != 8) {\n          uVar15 = (int)uVar9 + 1;\n          uVar18 = (ulong)uVar15;\n          if ((DAT_001e3d28 != 0) && (*(uint *)(DAT_001e3d28 + 4) == uVar15)) {\n            uVar18 = (ulong)((int)uVar9 + 2);\n          }\n          if ((DAT_001e3bed & 0x18) == 8) {\n            uVar20 = uVar9;\n            uVar11 = uVar18;\n            if ((((&DAT_001e3bf6)[uVar9 * 8] & 0x40) == 0) &&\n               (((&DAT_001e3bf6)[uVar18 * 8] & 0x40) != 0)) {\n              uVar20 = uVar18;\n              uVar11 = uVar9;\n            }\n            uVar15 = (int)uVar18 + 1;\n            uVar18 = (ulong)uVar15;\n            uVar9 = *(ulong *)((long)&DAT_001e3bc0 + (uVar11 + 6) * 8 + 4);\n            if ((uVar22 <= uVar15) ||\n               ((((uVar9 & 1) == 0 ||\n                 ((-1 < (char)((uVar9 & 0xfffffffff7ffffff) >> 0x18) &&\n                  (((&DAT_001e3bc8)[(uVar11 + 6) * 2] & 2) == 0)))) &&\n                (((uVar9 & 4) == 0 &&\n                 ((DAT_00153a50 != (int)(uVar9 & 0xfffffffff7ffffff) ||\n                  (DAT_00153a54 != (&DAT_001e3bc8)[(uVar11 + 6) * 2])))))))) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1ac9,"build_modrm_byte");\n            }\n            DAT_001e3d18 = (&DAT_001e3c60)[uVar11];\n            uVar9 = uVar20;\n          }\n        }\nLAB_001337ff:\n        DAT_001e3cf4 = 3;\n        if (((*(byte *)((long)&DAT_001e3bc0 + (uVar18 + 6) * 8 + 7) & 8) == 0) &&\n           ((*(ulong *)((long)&DAT_001e3bc0 + (uVar18 + 6) * 8 + 4) & 0x5f0000) == 0)) {\n          DAT_001e3cf0 = (uint)*(byte *)((&DAT_001e3c60)[uVar18] + 0x11);\n          DAT_001e3cec = (uint)*(byte *)((&DAT_001e3c60)[uVar9] + 0x11);\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar18] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 4;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 4;\n          }\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 1;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 1;\n          }\n        }\n        else {\n          DAT_001e3cf0 = (uint)*(byte *)((&DAT_001e3c60)[uVar9] + 0x11);\n          DAT_001e3cec = (uint)*(byte *)((&DAT_001e3c60)[uVar18] + 0x11);\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar18] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 1;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 1;\n          }\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 4;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 4;\n          }\n        }\n        if ((DAT_001e3b14 != 2) && ((DAT_001e3cf8 & 4) != 0)) {\n          if ((*(byte *)(&DAT_001e3bc8 + ((ulong)(DAT_001e3bf7 >> 3 & 1) + 0xe) * 2) & 0x10) == 0) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1af4,"build_modrm_byte");\n          }\n          DAT_001e3cf8 = DAT_001e3cf8 & 0xfffffffb;\n          FUN_00131f90(0xf0);\n          return (undefined1 *)0x0;\n        }\n        DAT_001e3cf4 = 3;\n        return (undefined1 *)0x0;\n      }\n    }\n    else if (DAT_001e3c28 == 3) {\n      if ((DAT_001e3bed & 0x18) == 8) goto LAB_0013335b;\n    }\n    else if ((DAT_001e3c28 == 4) && (bVar19 == 8)) {\n      if (DAT_001e3c24 == 3) goto LAB_00133ea8;\n      if (DAT_001e3c24 < 4) {\n        if (DAT_001e3c24 != 2) goto LAB_00133dcf;\n        goto LAB_001337ff;\n      }\n      if (DAT_001e3c24 == 4) goto LAB_00133379;\njoined_r0x00133753:\n      if (DAT_001e3c24 != 5) {\nLAB_00133dcf:\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1aa0,"build_modrm_byte");\n      }\n      if (DAT_001e3bef == '\0') {\n        uVar9 = uVar20;\n        uVar22 = 5;\n      }\n      else {\n        if (((DAT_001e3c34 != 2) || (-1 < DAT_001e3bef)) || ((DAT_001e3c38._1_1_ & 0xfc) == 0)) {\n                    \n          FUN_0011dd00("../../gas/config/tc-i386.c",0x1a96,"build_modrm_byte");\n        }\n        if ((DAT_001e3c40._1_1_ & 0xfc) == 0) {\n          if ((DAT_001e3c58._1_1_ & 0xfc) == 0) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1a9c,"build_modrm_byte");\n          }\n          uVar9 = 1;\n          uVar22 = 5;\n        }\n        else {\n          uVar9 = (ulong)DAT_001e3c34;\n          uVar22 = 5;\n        }\n      }\n      goto LAB_001337c1;\n    }\n    uVar22 = 0xffffffff;\n    puVar10 = (undefined1 *)0x0;\n  }\n  else {\n    if (DAT_001e3c24 == 0) {\nLAB_0013303b:\n                    \n      FUN_0011dd00("../../gas/config/tc-i386.c",0x1b05,"build_modrm_byte");\n    }\n    if ((DAT_001e3c38._2_1_ & 0x5f) == 0) {\n      uVar9 = 1;\n      do {\n        uVar20 = uVar9 & 0xffffffff;\n        if (DAT_001e3c24 <= (uint)uVar9) goto LAB_0013303b;\n        puVar3 = &DAT_001e3c38 + uVar9;\n        uVar9 = uVar9 + 1;\n      } while ((*puVar3 & 0x5f0000) == 0);\n    }\n    else {\n      uVar20 = 0;\n    }\n    bVar21 = bVar21 & 0x30;\n    uVar22 = (uint)uVar20;\n    if (bVar21 == 0) {\nLAB_0013313d:\n      if (lVar13 != 0) goto LAB_00133146;\nLAB_00133448:\n      lVar13 = DAT_001e3cb8;\n      DAT_001e3cf4 = 0;\n      if (DAT_001e3c2c == 0) {\n        if (DAT_001e3cb8 == 0) {\n          iVar16 = 1;\n          goto LAB_00133cae;\n        }\n        if (bVar21 == 0) {\n          iVar16 = 1;\n          goto LAB_00133af0;\n        }\n        goto LAB_00133a60;\n      }\n      if (DAT_001e3cb8 != 0) {\n        if (bVar21 == 0) {\n          iVar16 = 0;\nLAB_00133af0:\n          uVar15 = (uint)*(byte *)(DAT_001e3cb8 + 0x11);\n          DAT_001e3cec = 4;\n          if ((byte)(*(byte *)(DAT_001e3cb8 + 0x11) + 4) < 2) {\n            uVar15 = 4;\n          }\n          _DAT_001e3d00 = CONCAT44(uVar15,5);\n          DAT_001e3d08 = DAT_001e3cc0;\n          lVar2 = uVar20 * 8;\n          bVar21 = *(byte *)((long)&DAT_001e3c38 + lVar2 + 2);\n          bVar24 = DAT_001e3b14 == 2;\n          *(byte *)((long)&DAT_001e3c38 + lVar2 + 2) = bVar21 & 0xec;\n          if ((bVar24) && (DAT_001e3ce6 == '\0')) {\n            *(byte *)((long)&DAT_001e3c38 + lVar2 + 2) = bVar21 & 0xe0 | 8;\n          }\n          else {\n            *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) =\n                 *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xf3 | 4;\n          }\n          puVar10 = ds;\n          if ((*(byte *)(lVar13 + 0x10) & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 2;\n          }\n          goto LAB_00133b80;\n        }\n        goto LAB_00133424;\n      }\n      iVar16 = 0;\nLAB_00133cae:\n      if (bVar21 != 0) {\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1b33,"build_modrm_byte");\n      }\n      if (DAT_001e3b14 == 2) {\n        DAT_001e3cec = 4;\n        uVar17 = (uint)(DAT_001e3ce6 == '\0');\n        uVar15 = (uint)(DAT_001e3ce6 != '\0');\n        _DAT_001e3d00 = 0x400000005;\n        iVar8 = 0;\n      }\n      else if ((DAT_001e3b14 == 1) == (DAT_001e3ce6 != '\0')) {\n        DAT_001e3cec = 5;\n        uVar17 = 0;\n        uVar15 = 1;\n        iVar8 = 0;\n      }\n      else {\n        DAT_001e3cec = 6;\n        uVar17 = 0;\n        uVar15 = 0;\n        iVar8 = 1;\n      }\n      uVar23 = ~DAT_00153a64;\n      *(uint *)(&DAT_001e3c38 + uVar20) =\n           iVar8 << 0x11 | uVar15 << 0x12 | uVar17 << 0x13 |\n           ~DAT_00153a60 & *(uint *)(&DAT_001e3c38 + uVar20);\n      puVar10 = ds;\n      puVar1 = (uint *)((long)&DAT_001e3c38 + uVar20 * 8 + 4);\n      *puVar1 = *puVar1 & uVar23;\nLAB_00133b80:\n      if (iVar16 != 0) goto LAB_00133a67;\n    }\n    else {\n      cVar6 = *(char *)(DAT_001e3cb8 + 0x11);\n      if ((byte)(cVar6 + 4U) < 2) {\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1b0b,"build_modrm_byte");\n      }\n      DAT_001e3cec = 4;\n      if (DAT_001e3cb0 == 0) {\n        _DAT_001e3d00 = 5;\n        DAT_001e3d08 = DAT_001e3cc0;\n        lVar4 = uVar20 * 8;\n        bVar7 = *(byte *)((long)&DAT_001e3c38 + lVar4 + 2);\n        bVar24 = DAT_001e3b14 == 2;\n        *(byte *)((long)&DAT_001e3c38 + lVar4 + 2) = bVar7 & 0xec;\n        if ((bVar24) && (DAT_001e3ce6 == '\0')) {\n          *(byte *)((long)&DAT_001e3c38 + lVar4 + 2) = bVar7 & 0xe0 | 8;\n        }\n        else {\n          *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) =\n               *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xf3 | 4;\n        }\n      }\n      _DAT_001e3d00 = (ulong)CONCAT14(cVar6,_DAT_001e3d00);\n      if ((*(byte *)(lVar2 + 0x10) & 1) != 0) {\n        DAT_001e3cf8 = DAT_001e3cf8 | 2;\n      }\n      if ((*(byte *)(lVar2 + 0x10) & 4) == 0) goto LAB_0013313d;\n      DAT_001e3cfc = DAT_001e3cfc | 2;\n      if (lVar13 == 0) goto LAB_00133448;\nLAB_00133146:\n      bVar7 = *(byte *)(lVar13 + 0x11);\n      if (bVar7 < 0xfe) {\n        if ((*(byte *)(lVar13 + 0xb) & 0x40) == 0) {\n          if ((DAT_001e3b14 == 2) &&\n             ((*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f) != 0)) {\n            lVar2 = (uVar20 + 0xe) * 8;\n            bVar14 = *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2);\n            bVar12 = bVar14 & 0xe1;\n            *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar14 & 0xed;\n            if (DAT_001e3ce6 == '\0') {\n              *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar12 | 8;\n            }\n            else {\n              *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar12 | 4;\n            }\n          }\n          if (bVar21 == 0) {\n            DAT_001e3cec = (uint)bVar7;\n          }\n          if ((*(byte *)(lVar13 + 0x10) & 1) == 0) {\n            puVar10 = ss;\n            if (1 < (byte)(bVar7 - 4)) {\n              puVar10 = ds;\n            }\n          }\n          else {\n            DAT_001e3cf8 = DAT_001e3cf8 | 1;\n            puVar10 = ds;\n          }\n          _DAT_001e3d00 = CONCAT44(DAT_001e3d04,(uint)bVar7);\n          iVar16 = 0;\n          if ((bVar7 == 5) && (iVar16 = 0, DAT_001e3c2c == 0)) {\n            iVar16 = 1;\n            pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n            *pbVar5 = *pbVar5 | 1;\n          }\n          iVar8 = DAT_001e3d40;\n          DAT_001e3d08 = DAT_001e3cc0;\n          if (DAT_001e3cb8 == 0) {\n            if (bVar21 != 0) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1bbf,"build_modrm_byte");\n            }\n            _DAT_001e3d00 = CONCAT44(4,_DAT_001e3d00);\n          }\n          else if (bVar21 == 0) {\n            DAT_001e3cec = 4;\n            uVar15 = (uint)*(byte *)(DAT_001e3cb8 + 0x11);\n            if ((byte)(*(byte *)(DAT_001e3cb8 + 0x11) + 4) < 2) {\n              uVar15 = 4;\n            }\n            _DAT_001e3d00 = CONCAT44(uVar15,_DAT_001e3d00);\n            if ((*(byte *)(DAT_001e3cb8 + 0x10) & 1) != 0) {\n              DAT_001e3cf8 = DAT_001e3cf8 | 2;\n            }\n          }\n          if (DAT_001e3c2c == 0) {\n            if ((iVar16 == 0) && (iVar16 = iVar8, DAT_001e3d40 != 0)) {\n              if (DAT_001e3d40 == 1) {\n                pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n                *pbVar5 = *pbVar5 | 1;\n              }\n              else {\n                pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n                *pbVar5 = *pbVar5 | 4;\n                iVar16 = 1;\n              }\n            }\n          }\n          else if (((&DAT_001e3c9c)[uVar20] == 0x179) || ((&DAT_001e3c9c)[uVar20] == 0x195)) {\n            DAT_001e3cf4 = 0;\n            goto LAB_00133b80;\n          }\n        }\n        else {\n          if (bVar21 != 0) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1b7c,"build_modrm_byte");\n          }\n          if (bVar7 == 3) {\n            if (DAT_001e3cb8 != 0) {\n              DAT_001e3cec = *(byte *)(DAT_001e3cb8 + 0x11) - 6;\n              goto LAB_0013317e;\n            }\n            DAT_001e3cec = 7;\n            puVar10 = ds;\n            iVar16 = 0;\n          }\n          else if (bVar7 == 5) {\n            if (DAT_001e3cb8 == 0) {\n              puVar10 = ss;\n              DAT_001e3cec = 6;\n              iVar16 = 0;\n              if ((*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f) == 0) {\n                pbVar5 = (byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2);\n                *pbVar5 = *pbVar5 | 1;\n                iVar16 = 1;\n              }\n            }\n            else {\n              DAT_001e3cec = *(byte *)(DAT_001e3cb8 + 0x11) - 4;\n              puVar10 = ss;\n              iVar16 = 0;\n            }\n          }\n          else {\n            DAT_001e3cec = bVar7 - 2;\nLAB_0013317e:\n            iVar16 = 0;\n            puVar10 = ds;\n          }\n        }\n        DAT_001e3cf4 = 1;\n        if (((ulong)(&DAT_001e3c38)[uVar20] >> 0x10 & 1) == 0) {\n          DAT_001e3cf4 = (uint)(((&DAT_001e3c38)[uVar20] & 0xe0000) != 0) * 2;\n        }\n        goto LAB_00133b80;\n      }\n      if (bVar21 != 0) {\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1b6f,"build_modrm_byte");\n      }\n      DAT_001e3cec = 5;\n      *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) =\n           *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xe0 | 8;\n      uVar15 = DAT_001e3c2c;\n      (&DAT_001e3c88)[uVar20] = (&DAT_001e3c88)[uVar20] | 1;\n      if (uVar15 != 0) {\nLAB_00133424:\n        puVar10 = ds;\n        goto LAB_00133089;\n      }\nLAB_00133a60:\n      puVar10 = ds;\nLAB_00133a67:\n      if ((&DAT_001e3bc0)[uVar20 + 0x14] != 0) {\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1bed,"build_modrm_byte");\n      }\n      uVar9 = (ulong)DAT_001e3c2c;\n      DAT_001e3c2c = DAT_001e3c2c + 1;\n      lVar13 = uVar9 * 0x20;\n      (&DAT_001e3bc0)[uVar20 + 0x14] = &DAT_001e3b60 + lVar13;\n      (&DAT_001e3b78)[lVar13] = 2;\n      *(undefined8 *)(&DAT_001e3b70 + lVar13) = 0;\n      *(undefined8 *)(&DAT_001e3b60 + lVar13) = 0;\n      *(undefined8 *)(&DAT_001e3b68 + lVar13) = 0;\n    }\n    bVar14 = DAT_001e3bee & 0xc;\n  }\nLAB_00133089:\n  if (bVar14 == 4) {\n    if ((DAT_001e3c38._1_1_ & 0xfc) == 0) {\n      if ((DAT_001e3bed & 0x60) == 0x20) {\n        DAT_001e3d18 = DAT_001e3c60;\n      }\n      else {\n        DAT_001e3d18 = DAT_001e3c68;\n      }\n    }\n    else {\n      DAT_001e3d18 = 0;\n    }\n    DAT_001e3cf0 = (uint)*(byte *)(DAT_001e3c70 + 0x11);\n    if ((*(byte *)(DAT_001e3c70 + 0x10) & 1) != 0) {\n      DAT_001e3cf8 = DAT_001e3cf8 | 4;\n    }\n    if (DAT_001e3c30 != 0) goto LAB_001330bc;\n    if ((DAT_001e3bed & 0x60) == 0x20) {\n      bVar21 = *(byte *)(DAT_001e3c68 + 0x11);\n    }\n    else {\n      bVar21 = *(byte *)(DAT_001e3c60 + 0x11);\n    }\n    bVar19 = *(byte *)(DAT_001e3c68 + 0x10);\n  }\n  else {\n    bVar21 = DAT_001e3bed & 0x18;\n    if (bVar21 != 0x18) {\n      if (DAT_001e3c28 == 0) goto LAB_001330bc;\n      if ((((DAT_001e3c24 == 0) || (((byte)DAT_001e3c38 & 1) != 0)) ||\n          (((byte)DAT_001e3c38 & 2) != 0)) ||\n         ((((byte)DAT_001e3c38 & 4) != 0 || ((DAT_001e3c38._5_1_ & 2) != 0)))) {\n        uVar20 = 0;\n      }\n      else {\n        uVar20 = 0;\n        if (((byte)DAT_001e3c38 & 8) == 0) {\n          uVar9 = 0;\n          while( true ) {\n            bVar14 = *(byte *)(&DAT_001e3bc8 + (uVar9 + 0xe) * 2);\n            if ((((char)bVar14 < '\0') ||\n                ((*(byte *)((long)&DAT_001e3bc8 + (uVar9 + 0xe) * 8 + 1) & 1) != 0)) ||\n               (((bVar14 & 0x10) != 0 || (((bVar14 & 0x20) != 0 || ((bVar14 & 0x40) != 0))))))\n            goto LAB_00133670;\n            uVar15 = (int)uVar20 + 1;\n            uVar20 = (ulong)uVar15;\n            if (DAT_001e3c24 == uVar15) break;\n            uVar9 = (ulong)uVar15;\n            bVar14 = *(byte *)(&DAT_001e3bc8 + (uVar9 + 0xe) * 2);\n            if (((((bVar14 & 1) != 0) || ((bVar14 & 2) != 0)) || ((bVar14 & 4) != 0)) ||\n               (((*(byte *)((long)&DAT_001e3bcc + (uVar9 + 0xe) * 8 + 1) & 2) != 0 ||\n                ((*(byte *)(&DAT_001e3c38 + uVar9) & 8) != 0)))) goto LAB_00133670;\n          }\n          uVar20 = (ulong)DAT_001e3c24;\n        }\n      }\nLAB_00133670:\n      uVar15 = (uint)uVar20;\n      if (bVar19 == 8) {\n        uVar15 = 0xffffffff;\n        uVar20 = uVar18;\nLAB_00133b96:\n        if (uVar15 != (uint)uVar20) goto LAB_001336a6;\n        if (DAT_001e3c30 != 0) goto LAB_001330bc;\n      }\n      else {\n        uVar18 = uVar20;\n        if (bVar21 == 8) {\n          if (uVar22 == 0xffffffff) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1c44,"build_modrm_byte");\n          }\n          uVar17 = uVar15 + 1;\n          uVar18 = (ulong)uVar17;\n          uVar9 = uVar20;\n          if (uVar22 < uVar15) {\n            if (DAT_001e3c24 <= uVar17) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c49,"build_modrm_byte");\n            }\n          }\n          else if ((((&DAT_001e3bf6)[uVar20 * 8] & 0x40) == 0) &&\n                  (((&DAT_001e3bf6)[uVar18 * 8] & 0x40) != 0)) {\n            if ((DAT_001e3c24 <= uVar15 + 2) || (uVar22 != uVar17)) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c55,"build_modrm_byte");\n            }\n            uVar18 = (ulong)(uVar15 + 2);\n          }\n          else {\n            uVar9 = uVar18;\n            uVar18 = uVar20;\n            uVar15 = uVar17;\n            if (DAT_001e3c24 <= uVar17) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c5a,"build_modrm_byte");\n            }\n          }\nLAB_00133e49:\n          lVar13 = uVar9 + 6;\n          bVar21 = *(byte *)((long)&DAT_001e3bc0 + lVar13 * 8 + 4);\n          if ((((bVar21 & 1) == 0) ||\n              ((-1 < *(char *)((long)&DAT_001e3bc0 + lVar13 * 8 + 7) &&\n               ((*(byte *)(&DAT_001e3bc8 + lVar13 * 2) & 2) == 0)))) &&\n             (((bVar21 & 4) == 0 &&\n              ((*(uint *)(&DAT_001e3bf8 + uVar9 * 8) != DAT_00153a54 ||\n               (*(int *)(&DAT_001e3bf4 + uVar9 * 8) != DAT_00153a50)))))) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1c7b,"build_modrm_byte");\n          }\n          DAT_001e3d18 = (&DAT_001e3c60)[uVar9];\n          uVar20 = uVar18;\n          goto LAB_00133b96;\n        }\n        if (bVar21 == 0x10) {\n          if (DAT_001e3c30 == 0) {\n            if (DAT_001e3c24 != uVar15 + 2) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c65,"build_modrm_byte");\n            }\n            uVar9 = (ulong)(uVar15 + 1);\n            uVar15 = uVar15 + 1;\n          }\n          else {\n            if ((DAT_001e3c34 + 2 <= uVar15) || (DAT_001e3c24 != DAT_001e3c34 + 2)) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c6c,"build_modrm_byte");\n            }\n            uVar15 = DAT_001e3c34 + 1;\n            if (uVar15 == 0xffffffff) goto LAB_001336a6;\n            uVar9 = (ulong)uVar15;\n          }\n          goto LAB_00133e49;\n        }\n        if (DAT_001e3c24 <= uVar15) {\n                    \n          FUN_0011dd00("../../gas/config/tc-i386.c",0x1c71,"build_modrm_byte");\n        }\nLAB_001336a6:\n        if (DAT_001e3bd0 == 0xffff) {\n          DAT_001e3cf0 = (uint)*(byte *)((&DAT_001e3c60)[uVar20] + 0x11);\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar20] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 4;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 4;\n          }\n          if (DAT_001e3c30 == 0) {\n            DAT_001e3cf4 = 3;\n            return puVar10;\n          }\n          return puVar10;\n        }\n        DAT_001e3cec = (uint)*(byte *)((&DAT_001e3c60)[uVar20] + 0x11);\n        bVar21 = *(byte *)((&DAT_001e3c60)[uVar20] + 0x10);\n        if ((bVar21 & 1) != 0) {\n          DAT_001e3cf8 = DAT_001e3cf8 | 1;\n        }\n        if ((bVar21 & 4) != 0) {\n          DAT_001e3cfc = DAT_001e3cfc | 1;\n        }\n        if (DAT_001e3c30 != 0) {\n          DAT_001e3cf0 = DAT_001e3bd0;\n          return puVar10;\n        }\n      }\n      DAT_001e3cf4 = 3;\n      goto LAB_001330bc;\n    }\n    DAT_001e3d18 = DAT_001e3c70;\n    if (DAT_001e3c30 != 0) goto LAB_001330bc;\n    bVar21 = *(byte *)(DAT_001e3c68 + 0x11);\n    bVar19 = *(byte *)(DAT_001e3c68 + 0x10);\n  }\n  DAT_001e3cec = (uint)bVar21;\n  DAT_001e3cf4 = 3;\n  if ((bVar19 & 1) != 0) {\n    DAT_001e3cf4 = 3;\n    DAT_001e3cf8 = DAT_001e3cf8 | 1;\n  }\nLAB_001330bc:\n  if (DAT_001e3bd0 != 0xffff) {\n    DAT_001e3cf0 = DAT_001e3bd0;\n    return puVar10;\n  }\n  return puVar10;\n}\n\n" (function_definition "undefined1 * FUN_00132fc0(void)\n\n{\n  uint *puVar1;\n  long lVar2;\n  ulong *puVar3;\n  long lVar4;\n  byte *pbVar5;\n  char cVar6;\n  byte bVar7;\n  int iVar8;\n  ulong uVar9;\n  undefined1 *puVar10;\n  ulong uVar11;\n  byte bVar12;\n  long lVar13;\n  byte bVar14;\n  uint uVar15;\n  int iVar16;\n  uint uVar17;\n  ulong uVar18;\n  byte bVar19;\n  ulong uVar20;\n  byte bVar21;\n  uint uVar22;\n  uint uVar23;\n  bool bVar24;\n  \n  bVar21 = DAT_001e3bee;\n  uVar18 = 0;\n  uVar20 = 0;\n  bVar19 = DAT_001e3bee & 0xc;\n  if (bVar19 == 8) {\n    uVar22 = DAT_001e3c24 - 1;\n    uVar18 = (ulong)uVar22;\n    uVar15 = DAT_001e3c24 - 2;\n    if (((DAT_001e3c28 != 4) && ((DAT_001e3c28 != 3 || (DAT_001e3c30 != 1)))) ||\n       (((DAT_001e3bed & 0x18) != 8 ||\n        (((DAT_001e3bed & 0x60) == 0 || (((&DAT_001e3bf4)[uVar18 * 8] & 4) == 0)))))) {\n                    \n      FUN_0011dd00("../../gas/config/tc-i386.c",0x1a12,"build_modrm_byte");\n    }\n    uVar9 = (ulong)DAT_001e3c34;\n    uVar20 = (ulong)(DAT_001e3c34 + 1);\n    if ((DAT_001e3bed & 0x60) == 0x40) {\n      uVar20 = (ulong)DAT_001e3c34;\n      uVar9 = (ulong)(DAT_001e3c34 + 1);\n    }\n    if (DAT_001e3c34 == 0) {\n      uVar11 = (ulong)DAT_001e3c24;\n      DAT_001e3c24 = DAT_001e3c24 + 1;\n      DAT_001e3c34 = 1;\n      (&DAT_001e3c60)[uVar11] = (long)&DAT_001e3b20;\n      lVar13 = uVar11 + 0xe;\n      *(undefined8 *)(&DAT_001e3bc8 + lVar13 * 2) = 0;\n      *(undefined1 *)((long)&DAT_001e3bc8 + lVar13 * 8 + 1) = 4;\n      if (((&DAT_001e3bf4)[uVar9 * 8] & 4) == 0) {\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a2a,"build_modrm_byte");\n      }\n      DAT_001e3b38 = 2;\n      bVar14 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10);\n      bVar7 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x11);\n      uVar22 = (uint)bVar7;\n      if ((bVar14 & 1) != 0) {\n        uVar22 = bVar7 + 8;\n      }\n      if ((bVar14 & 4) != 0) {\n        _DAT_001e3b30 = (ulong)((uVar22 + 0x10) * 0x10);\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a2d,"build_modrm_byte");\n      }\n      _DAT_001e3b30 = (ulong)(uVar22 << 4);\n    }\n    else {\n      if ((DAT_001e3c34 != 1) || ((DAT_001e3c38._5_1_ & 1) == 0)) {\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a33,"build_modrm_byte");\n      }\n      if ((DAT_001e3bec & 0x20) == 0) {\n        DAT_001e3c38._1_1_ = DAT_001e3c38._1_1_ | 4;\n        uVar22 = 0;\n      }\n      else {\n        uVar20 = (ulong)((int)uVar20 - 1);\n        uVar9 = (ulong)((int)uVar9 - 1);\n      }\n      if (((&DAT_001e3bf4)[uVar9 * 8] & 4) == 0) {\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a45,"build_modrm_byte");\n      }\n      bVar14 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10);\n      bVar7 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x11);\n      uVar17 = (uint)bVar7;\n      if ((bVar14 & 1) != 0) {\n        uVar17 = bVar7 + 8;\n      }\n      lVar13 = (&DAT_001e3c60)[uVar22];\n      if ((bVar14 & 4) != 0) {\n        *(ulong *)(lVar13 + 0x10) = (ulong)((uVar17 + 0x10) * 0x10) | *(ulong *)(lVar13 + 0x10);\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a48,"build_modrm_byte");\n      }\n      *(ulong *)(lVar13 + 0x10) = (ulong)(uVar17 << 4) | *(ulong *)(lVar13 + 0x10);\n    }\n    if (((&DAT_001e3bf4)[(ulong)uVar15 * 8] & 4) == 0) {\n                    \n      FUN_0011dd00("../../gas/config/tc-i386.c",0x1a4b,"build_modrm_byte");\n    }\n    DAT_001e3d18 = (&DAT_001e3c60)[uVar15];\n  }\n  lVar2 = DAT_001e3cb8;\n  lVar13 = DAT_001e3cb0;\n  uVar9 = (ulong)DAT_001e3c30;\n  bVar14 = bVar19;\n  if (DAT_001e3c30 == 0) {\n    if (DAT_001e3c28 == 2) {\n      if ((DAT_001e3bed >> 3 & 3) < 2) {\nLAB_0013335b:\n        if (DAT_001e3c24 == 3) {\nLAB_00133ea8:\n          if ((DAT_001e3c34 != 1) &&\n             ((DAT_001e3c34 != 0 ||\n              (((DAT_001e3bed & 0x18) != 8 && ((DAT_001e3c38._3_1_ & 1) == 0)))))) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1a6b,"build_modrm_byte");\n          }\n          uVar9 = (ulong)((DAT_001e3c38._1_1_ & 0xfc) != 0 || (DAT_001e3c38._3_1_ & 1) != 0);\n          uVar22 = 3;\n        }\n        else if (DAT_001e3c24 < 4) {\n          uVar22 = DAT_001e3c24;\n          if (DAT_001e3c24 != 2) goto LAB_00133dcf;\n        }\n        else {\n          if (DAT_001e3c24 != 4) goto joined_r0x00133753;\nLAB_00133379:\n          uVar9 = (ulong)DAT_001e3c34;\n          if (DAT_001e3c34 == 2) {\n            if (((DAT_001e3c38._1_1_ & 4) == 0) || ((DAT_001e3c40._1_1_ & 4) == 0))\n            goto LAB_00133d61;\n          }\n          else {\n            if ((((DAT_001e3bed & 0x18) != 8) || (DAT_001e3c34 != 1)) ||\n               ((((DAT_001e3c38._1_1_ & 4) == 0 && ((DAT_001e3c50._1_1_ & 4) == 0)) &&\n                (DAT_001e3d28 == 0)))) {\nLAB_00133d61:\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1a81,"build_modrm_byte");\n            }\n            uVar9 = (ulong)((DAT_001e3c38._1_1_ & 4) != 0);\n          }\n          uVar22 = 4;\n        }\nLAB_001337c1:\n        if (bVar19 != 8) {\n          uVar15 = (int)uVar9 + 1;\n          uVar18 = (ulong)uVar15;\n          if ((DAT_001e3d28 != 0) && (*(uint *)(DAT_001e3d28 + 4) == uVar15)) {\n            uVar18 = (ulong)((int)uVar9 + 2);\n          }\n          if ((DAT_001e3bed & 0x18) == 8) {\n            uVar20 = uVar9;\n            uVar11 = uVar18;\n            if ((((&DAT_001e3bf6)[uVar9 * 8] & 0x40) == 0) &&\n               (((&DAT_001e3bf6)[uVar18 * 8] & 0x40) != 0)) {\n              uVar20 = uVar18;\n              uVar11 = uVar9;\n            }\n            uVar15 = (int)uVar18 + 1;\n            uVar18 = (ulong)uVar15;\n            uVar9 = *(ulong *)((long)&DAT_001e3bc0 + (uVar11 + 6) * 8 + 4);\n            if ((uVar22 <= uVar15) ||\n               ((((uVar9 & 1) == 0 ||\n                 ((-1 < (char)((uVar9 & 0xfffffffff7ffffff) >> 0x18) &&\n                  (((&DAT_001e3bc8)[(uVar11 + 6) * 2] & 2) == 0)))) &&\n                (((uVar9 & 4) == 0 &&\n                 ((DAT_00153a50 != (int)(uVar9 & 0xfffffffff7ffffff) ||\n                  (DAT_00153a54 != (&DAT_001e3bc8)[(uVar11 + 6) * 2])))))))) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1ac9,"build_modrm_byte");\n            }\n            DAT_001e3d18 = (&DAT_001e3c60)[uVar11];\n            uVar9 = uVar20;\n          }\n        }\nLAB_001337ff:\n        DAT_001e3cf4 = 3;\n        if (((*(byte *)((long)&DAT_001e3bc0 + (uVar18 + 6) * 8 + 7) & 8) == 0) &&\n           ((*(ulong *)((long)&DAT_001e3bc0 + (uVar18 + 6) * 8 + 4) & 0x5f0000) == 0)) {\n          DAT_001e3cf0 = (uint)*(byte *)((&DAT_001e3c60)[uVar18] + 0x11);\n          DAT_001e3cec = (uint)*(byte *)((&DAT_001e3c60)[uVar9] + 0x11);\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar18] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 4;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 4;\n          }\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 1;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 1;\n          }\n        }\n        else {\n          DAT_001e3cf0 = (uint)*(byte *)((&DAT_001e3c60)[uVar9] + 0x11);\n          DAT_001e3cec = (uint)*(byte *)((&DAT_001e3c60)[uVar18] + 0x11);\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar18] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 1;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 1;\n          }\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 4;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 4;\n          }\n        }\n        if ((DAT_001e3b14 != 2) && ((DAT_001e3cf8 & 4) != 0)) {\n          if ((*(byte *)(&DAT_001e3bc8 + ((ulong)(DAT_001e3bf7 >> 3 & 1) + 0xe) * 2) & 0x10) == 0) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1af4,"build_modrm_byte");\n          }\n          DAT_001e3cf8 = DAT_001e3cf8 & 0xfffffffb;\n          FUN_00131f90(0xf0);\n          return (undefined1 *)0x0;\n        }\n        DAT_001e3cf4 = 3;\n        return (undefined1 *)0x0;\n      }\n    }\n    else if (DAT_001e3c28 == 3) {\n      if ((DAT_001e3bed & 0x18) == 8) goto LAB_0013335b;\n    }\n    else if ((DAT_001e3c28 == 4) && (bVar19 == 8)) {\n      if (DAT_001e3c24 == 3) goto LAB_00133ea8;\n      if (DAT_001e3c24 < 4) {\n        if (DAT_001e3c24 != 2) goto LAB_00133dcf;\n        goto LAB_001337ff;\n      }\n      if (DAT_001e3c24 == 4) goto LAB_00133379;\njoined_r0x00133753:\n      if (DAT_001e3c24 != 5) {\nLAB_00133dcf:\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1aa0,"build_modrm_byte");\n      }\n      if (DAT_001e3bef == '\0') {\n        uVar9 = uVar20;\n        uVar22 = 5;\n      }\n      else {\n        if (((DAT_001e3c34 != 2) || (-1 < DAT_001e3bef)) || ((DAT_001e3c38._1_1_ & 0xfc) == 0)) {\n                    \n          FUN_0011dd00("../../gas/config/tc-i386.c",0x1a96,"build_modrm_byte");\n        }\n        if ((DAT_001e3c40._1_1_ & 0xfc) == 0) {\n          if ((DAT_001e3c58._1_1_ & 0xfc) == 0) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1a9c,"build_modrm_byte");\n          }\n          uVar9 = 1;\n          uVar22 = 5;\n        }\n        else {\n          uVar9 = (ulong)DAT_001e3c34;\n          uVar22 = 5;\n        }\n      }\n      goto LAB_001337c1;\n    }\n    uVar22 = 0xffffffff;\n    puVar10 = (undefined1 *)0x0;\n  }\n  else {\n    if (DAT_001e3c24 == 0) {\nLAB_0013303b:\n                    \n      FUN_0011dd00("../../gas/config/tc-i386.c",0x1b05,"build_modrm_byte");\n    }\n    if ((DAT_001e3c38._2_1_ & 0x5f) == 0) {\n      uVar9 = 1;\n      do {\n        uVar20 = uVar9 & 0xffffffff;\n        if (DAT_001e3c24 <= (uint)uVar9) goto LAB_0013303b;\n        puVar3 = &DAT_001e3c38 + uVar9;\n        uVar9 = uVar9 + 1;\n      } while ((*puVar3 & 0x5f0000) == 0);\n    }\n    else {\n      uVar20 = 0;\n    }\n    bVar21 = bVar21 & 0x30;\n    uVar22 = (uint)uVar20;\n    if (bVar21 == 0) {\nLAB_0013313d:\n      if (lVar13 != 0) goto LAB_00133146;\nLAB_00133448:\n      lVar13 = DAT_001e3cb8;\n      DAT_001e3cf4 = 0;\n      if (DAT_001e3c2c == 0) {\n        if (DAT_001e3cb8 == 0) {\n          iVar16 = 1;\n          goto LAB_00133cae;\n        }\n        if (bVar21 == 0) {\n          iVar16 = 1;\n          goto LAB_00133af0;\n        }\n        goto LAB_00133a60;\n      }\n      if (DAT_001e3cb8 != 0) {\n        if (bVar21 == 0) {\n          iVar16 = 0;\nLAB_00133af0:\n          uVar15 = (uint)*(byte *)(DAT_001e3cb8 + 0x11);\n          DAT_001e3cec = 4;\n          if ((byte)(*(byte *)(DAT_001e3cb8 + 0x11) + 4) < 2) {\n            uVar15 = 4;\n          }\n          _DAT_001e3d00 = CONCAT44(uVar15,5);\n          DAT_001e3d08 = DAT_001e3cc0;\n          lVar2 = uVar20 * 8;\n          bVar21 = *(byte *)((long)&DAT_001e3c38 + lVar2 + 2);\n          bVar24 = DAT_001e3b14 == 2;\n          *(byte *)((long)&DAT_001e3c38 + lVar2 + 2) = bVar21 & 0xec;\n          if ((bVar24) && (DAT_001e3ce6 == '\0')) {\n            *(byte *)((long)&DAT_001e3c38 + lVar2 + 2) = bVar21 & 0xe0 | 8;\n          }\n          else {\n            *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) =\n                 *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xf3 | 4;\n          }\n          puVar10 = ds;\n          if ((*(byte *)(lVar13 + 0x10) & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 2;\n          }\n          goto LAB_00133b80;\n        }\n        goto LAB_00133424;\n      }\n      iVar16 = 0;\nLAB_00133cae:\n      if (bVar21 != 0) {\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1b33,"build_modrm_byte");\n      }\n      if (DAT_001e3b14 == 2) {\n        DAT_001e3cec = 4;\n        uVar17 = (uint)(DAT_001e3ce6 == '\0');\n        uVar15 = (uint)(DAT_001e3ce6 != '\0');\n        _DAT_001e3d00 = 0x400000005;\n        iVar8 = 0;\n      }\n      else if ((DAT_001e3b14 == 1) == (DAT_001e3ce6 != '\0')) {\n        DAT_001e3cec = 5;\n        uVar17 = 0;\n        uVar15 = 1;\n        iVar8 = 0;\n      }\n      else {\n        DAT_001e3cec = 6;\n        uVar17 = 0;\n        uVar15 = 0;\n        iVar8 = 1;\n      }\n      uVar23 = ~DAT_00153a64;\n      *(uint *)(&DAT_001e3c38 + uVar20) =\n           iVar8 << 0x11 | uVar15 << 0x12 | uVar17 << 0x13 |\n           ~DAT_00153a60 & *(uint *)(&DAT_001e3c38 + uVar20);\n      puVar10 = ds;\n      puVar1 = (uint *)((long)&DAT_001e3c38 + uVar20 * 8 + 4);\n      *puVar1 = *puVar1 & uVar23;\nLAB_00133b80:\n      if (iVar16 != 0) goto LAB_00133a67;\n    }\n    else {\n      cVar6 = *(char *)(DAT_001e3cb8 + 0x11);\n      if ((byte)(cVar6 + 4U) < 2) {\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1b0b,"build_modrm_byte");\n      }\n      DAT_001e3cec = 4;\n      if (DAT_001e3cb0 == 0) {\n        _DAT_001e3d00 = 5;\n        DAT_001e3d08 = DAT_001e3cc0;\n        lVar4 = uVar20 * 8;\n        bVar7 = *(byte *)((long)&DAT_001e3c38 + lVar4 + 2);\n        bVar24 = DAT_001e3b14 == 2;\n        *(byte *)((long)&DAT_001e3c38 + lVar4 + 2) = bVar7 & 0xec;\n        if ((bVar24) && (DAT_001e3ce6 == '\0')) {\n          *(byte *)((long)&DAT_001e3c38 + lVar4 + 2) = bVar7 & 0xe0 | 8;\n        }\n        else {\n          *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) =\n               *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xf3 | 4;\n        }\n      }\n      _DAT_001e3d00 = (ulong)CONCAT14(cVar6,_DAT_001e3d00);\n      if ((*(byte *)(lVar2 + 0x10) & 1) != 0) {\n        DAT_001e3cf8 = DAT_001e3cf8 | 2;\n      }\n      if ((*(byte *)(lVar2 + 0x10) & 4) == 0) goto LAB_0013313d;\n      DAT_001e3cfc = DAT_001e3cfc | 2;\n      if (lVar13 == 0) goto LAB_00133448;\nLAB_00133146:\n      bVar7 = *(byte *)(lVar13 + 0x11);\n      if (bVar7 < 0xfe) {\n        if ((*(byte *)(lVar13 + 0xb) & 0x40) == 0) {\n          if ((DAT_001e3b14 == 2) &&\n             ((*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f) != 0)) {\n            lVar2 = (uVar20 + 0xe) * 8;\n            bVar14 = *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2);\n            bVar12 = bVar14 & 0xe1;\n            *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar14 & 0xed;\n            if (DAT_001e3ce6 == '\0') {\n              *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar12 | 8;\n            }\n            else {\n              *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar12 | 4;\n            }\n          }\n          if (bVar21 == 0) {\n            DAT_001e3cec = (uint)bVar7;\n          }\n          if ((*(byte *)(lVar13 + 0x10) & 1) == 0) {\n            puVar10 = ss;\n            if (1 < (byte)(bVar7 - 4)) {\n              puVar10 = ds;\n            }\n          }\n          else {\n            DAT_001e3cf8 = DAT_001e3cf8 | 1;\n            puVar10 = ds;\n          }\n          _DAT_001e3d00 = CONCAT44(DAT_001e3d04,(uint)bVar7);\n          iVar16 = 0;\n          if ((bVar7 == 5) && (iVar16 = 0, DAT_001e3c2c == 0)) {\n            iVar16 = 1;\n            pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n            *pbVar5 = *pbVar5 | 1;\n          }\n          iVar8 = DAT_001e3d40;\n          DAT_001e3d08 = DAT_001e3cc0;\n          if (DAT_001e3cb8 == 0) {\n            if (bVar21 != 0) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1bbf,"build_modrm_byte");\n            }\n            _DAT_001e3d00 = CONCAT44(4,_DAT_001e3d00);\n          }\n          else if (bVar21 == 0) {\n            DAT_001e3cec = 4;\n            uVar15 = (uint)*(byte *)(DAT_001e3cb8 + 0x11);\n            if ((byte)(*(byte *)(DAT_001e3cb8 + 0x11) + 4) < 2) {\n              uVar15 = 4;\n            }\n            _DAT_001e3d00 = CONCAT44(uVar15,_DAT_001e3d00);\n            if ((*(byte *)(DAT_001e3cb8 + 0x10) & 1) != 0) {\n              DAT_001e3cf8 = DAT_001e3cf8 | 2;\n            }\n          }\n          if (DAT_001e3c2c == 0) {\n            if ((iVar16 == 0) && (iVar16 = iVar8, DAT_001e3d40 != 0)) {\n              if (DAT_001e3d40 == 1) {\n                pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n                *pbVar5 = *pbVar5 | 1;\n              }\n              else {\n                pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n                *pbVar5 = *pbVar5 | 4;\n                iVar16 = 1;\n              }\n            }\n          }\n          else if (((&DAT_001e3c9c)[uVar20] == 0x179) || ((&DAT_001e3c9c)[uVar20] == 0x195)) {\n            DAT_001e3cf4 = 0;\n            goto LAB_00133b80;\n          }\n        }\n        else {\n          if (bVar21 != 0) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1b7c,"build_modrm_byte");\n          }\n          if (bVar7 == 3) {\n            if (DAT_001e3cb8 != 0) {\n              DAT_001e3cec = *(byte *)(DAT_001e3cb8 + 0x11) - 6;\n              goto LAB_0013317e;\n            }\n            DAT_001e3cec = 7;\n            puVar10 = ds;\n            iVar16 = 0;\n          }\n          else if (bVar7 == 5) {\n            if (DAT_001e3cb8 == 0) {\n              puVar10 = ss;\n              DAT_001e3cec = 6;\n              iVar16 = 0;\n              if ((*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f) == 0) {\n                pbVar5 = (byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2);\n                *pbVar5 = *pbVar5 | 1;\n                iVar16 = 1;\n              }\n            }\n            else {\n              DAT_001e3cec = *(byte *)(DAT_001e3cb8 + 0x11) - 4;\n              puVar10 = ss;\n              iVar16 = 0;\n            }\n          }\n          else {\n            DAT_001e3cec = bVar7 - 2;\nLAB_0013317e:\n            iVar16 = 0;\n            puVar10 = ds;\n          }\n        }\n        DAT_001e3cf4 = 1;\n        if (((ulong)(&DAT_001e3c38)[uVar20] >> 0x10 & 1) == 0) {\n          DAT_001e3cf4 = (uint)(((&DAT_001e3c38)[uVar20] & 0xe0000) != 0) * 2;\n        }\n        goto LAB_00133b80;\n      }\n      if (bVar21 != 0) {\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1b6f,"build_modrm_byte");\n      }\n      DAT_001e3cec = 5;\n      *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) =\n           *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xe0 | 8;\n      uVar15 = DAT_001e3c2c;\n      (&DAT_001e3c88)[uVar20] = (&DAT_001e3c88)[uVar20] | 1;\n      if (uVar15 != 0) {\nLAB_00133424:\n        puVar10 = ds;\n        goto LAB_00133089;\n      }\nLAB_00133a60:\n      puVar10 = ds;\nLAB_00133a67:\n      if ((&DAT_001e3bc0)[uVar20 + 0x14] != 0) {\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1bed,"build_modrm_byte");\n      }\n      uVar9 = (ulong)DAT_001e3c2c;\n      DAT_001e3c2c = DAT_001e3c2c + 1;\n      lVar13 = uVar9 * 0x20;\n      (&DAT_001e3bc0)[uVar20 + 0x14] = &DAT_001e3b60 + lVar13;\n      (&DAT_001e3b78)[lVar13] = 2;\n      *(undefined8 *)(&DAT_001e3b70 + lVar13) = 0;\n      *(undefined8 *)(&DAT_001e3b60 + lVar13) = 0;\n      *(undefined8 *)(&DAT_001e3b68 + lVar13) = 0;\n    }\n    bVar14 = DAT_001e3bee & 0xc;\n  }\nLAB_00133089:\n  if (bVar14 == 4) {\n    if ((DAT_001e3c38._1_1_ & 0xfc) == 0) {\n      if ((DAT_001e3bed & 0x60) == 0x20) {\n        DAT_001e3d18 = DAT_001e3c60;\n      }\n      else {\n        DAT_001e3d18 = DAT_001e3c68;\n      }\n    }\n    else {\n      DAT_001e3d18 = 0;\n    }\n    DAT_001e3cf0 = (uint)*(byte *)(DAT_001e3c70 + 0x11);\n    if ((*(byte *)(DAT_001e3c70 + 0x10) & 1) != 0) {\n      DAT_001e3cf8 = DAT_001e3cf8 | 4;\n    }\n    if (DAT_001e3c30 != 0) goto LAB_001330bc;\n    if ((DAT_001e3bed & 0x60) == 0x20) {\n      bVar21 = *(byte *)(DAT_001e3c68 + 0x11);\n    }\n    else {\n      bVar21 = *(byte *)(DAT_001e3c60 + 0x11);\n    }\n    bVar19 = *(byte *)(DAT_001e3c68 + 0x10);\n  }\n  else {\n    bVar21 = DAT_001e3bed & 0x18;\n    if (bVar21 != 0x18) {\n      if (DAT_001e3c28 == 0) goto LAB_001330bc;\n      if ((((DAT_001e3c24 == 0) || (((byte)DAT_001e3c38 & 1) != 0)) ||\n          (((byte)DAT_001e3c38 & 2) != 0)) ||\n         ((((byte)DAT_001e3c38 & 4) != 0 || ((DAT_001e3c38._5_1_ & 2) != 0)))) {\n        uVar20 = 0;\n      }\n      else {\n        uVar20 = 0;\n        if (((byte)DAT_001e3c38 & 8) == 0) {\n          uVar9 = 0;\n          while( true ) {\n            bVar14 = *(byte *)(&DAT_001e3bc8 + (uVar9 + 0xe) * 2);\n            if ((((char)bVar14 < '\0') ||\n                ((*(byte *)((long)&DAT_001e3bc8 + (uVar9 + 0xe) * 8 + 1) & 1) != 0)) ||\n               (((bVar14 & 0x10) != 0 || (((bVar14 & 0x20) != 0 || ((bVar14 & 0x40) != 0))))))\n            goto LAB_00133670;\n            uVar15 = (int)uVar20 + 1;\n            uVar20 = (ulong)uVar15;\n            if (DAT_001e3c24 == uVar15) break;\n            uVar9 = (ulong)uVar15;\n            bVar14 = *(byte *)(&DAT_001e3bc8 + (uVar9 + 0xe) * 2);\n            if (((((bVar14 & 1) != 0) || ((bVar14 & 2) != 0)) || ((bVar14 & 4) != 0)) ||\n               (((*(byte *)((long)&DAT_001e3bcc + (uVar9 + 0xe) * 8 + 1) & 2) != 0 ||\n                ((*(byte *)(&DAT_001e3c38 + uVar9) & 8) != 0)))) goto LAB_00133670;\n          }\n          uVar20 = (ulong)DAT_001e3c24;\n        }\n      }\nLAB_00133670:\n      uVar15 = (uint)uVar20;\n      if (bVar19 == 8) {\n        uVar15 = 0xffffffff;\n        uVar20 = uVar18;\nLAB_00133b96:\n        if (uVar15 != (uint)uVar20) goto LAB_001336a6;\n        if (DAT_001e3c30 != 0) goto LAB_001330bc;\n      }\n      else {\n        uVar18 = uVar20;\n        if (bVar21 == 8) {\n          if (uVar22 == 0xffffffff) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1c44,"build_modrm_byte");\n          }\n          uVar17 = uVar15 + 1;\n          uVar18 = (ulong)uVar17;\n          uVar9 = uVar20;\n          if (uVar22 < uVar15) {\n            if (DAT_001e3c24 <= uVar17) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c49,"build_modrm_byte");\n            }\n          }\n          else if ((((&DAT_001e3bf6)[uVar20 * 8] & 0x40) == 0) &&\n                  (((&DAT_001e3bf6)[uVar18 * 8] & 0x40) != 0)) {\n            if ((DAT_001e3c24 <= uVar15 + 2) || (uVar22 != uVar17)) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c55,"build_modrm_byte");\n            }\n            uVar18 = (ulong)(uVar15 + 2);\n          }\n          else {\n            uVar9 = uVar18;\n            uVar18 = uVar20;\n            uVar15 = uVar17;\n            if (DAT_001e3c24 <= uVar17) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c5a,"build_modrm_byte");\n            }\n          }\nLAB_00133e49:\n          lVar13 = uVar9 + 6;\n          bVar21 = *(byte *)((long)&DAT_001e3bc0 + lVar13 * 8 + 4);\n          if ((((bVar21 & 1) == 0) ||\n              ((-1 < *(char *)((long)&DAT_001e3bc0 + lVar13 * 8 + 7) &&\n               ((*(byte *)(&DAT_001e3bc8 + lVar13 * 2) & 2) == 0)))) &&\n             (((bVar21 & 4) == 0 &&\n              ((*(uint *)(&DAT_001e3bf8 + uVar9 * 8) != DAT_00153a54 ||\n               (*(int *)(&DAT_001e3bf4 + uVar9 * 8) != DAT_00153a50)))))) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1c7b,"build_modrm_byte");\n          }\n          DAT_001e3d18 = (&DAT_001e3c60)[uVar9];\n          uVar20 = uVar18;\n          goto LAB_00133b96;\n        }\n        if (bVar21 == 0x10) {\n          if (DAT_001e3c30 == 0) {\n            if (DAT_001e3c24 != uVar15 + 2) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c65,"build_modrm_byte");\n            }\n            uVar9 = (ulong)(uVar15 + 1);\n            uVar15 = uVar15 + 1;\n          }\n          else {\n            if ((DAT_001e3c34 + 2 <= uVar15) || (DAT_001e3c24 != DAT_001e3c34 + 2)) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c6c,"build_modrm_byte");\n            }\n            uVar15 = DAT_001e3c34 + 1;\n            if (uVar15 == 0xffffffff) goto LAB_001336a6;\n            uVar9 = (ulong)uVar15;\n          }\n          goto LAB_00133e49;\n        }\n        if (DAT_001e3c24 <= uVar15) {\n                    \n          FUN_0011dd00("../../gas/config/tc-i386.c",0x1c71,"build_modrm_byte");\n        }\nLAB_001336a6:\n        if (DAT_001e3bd0 == 0xffff) {\n          DAT_001e3cf0 = (uint)*(byte *)((&DAT_001e3c60)[uVar20] + 0x11);\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar20] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 4;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 4;\n          }\n          if (DAT_001e3c30 == 0) {\n            DAT_001e3cf4 = 3;\n            return puVar10;\n          }\n          return puVar10;\n        }\n        DAT_001e3cec = (uint)*(byte *)((&DAT_001e3c60)[uVar20] + 0x11);\n        bVar21 = *(byte *)((&DAT_001e3c60)[uVar20] + 0x10);\n        if ((bVar21 & 1) != 0) {\n          DAT_001e3cf8 = DAT_001e3cf8 | 1;\n        }\n        if ((bVar21 & 4) != 0) {\n          DAT_001e3cfc = DAT_001e3cfc | 1;\n        }\n        if (DAT_001e3c30 != 0) {\n          DAT_001e3cf0 = DAT_001e3bd0;\n          return puVar10;\n        }\n      }\n      DAT_001e3cf4 = 3;\n      goto LAB_001330bc;\n    }\n    DAT_001e3d18 = DAT_001e3c70;\n    if (DAT_001e3c30 != 0) goto LAB_001330bc;\n    bVar21 = *(byte *)(DAT_001e3c68 + 0x11);\n    bVar19 = *(byte *)(DAT_001e3c68 + 0x10);\n  }\n  DAT_001e3cec = (uint)bVar21;\n  DAT_001e3cf4 = 3;\n  if ((bVar19 & 1) != 0) {\n    DAT_001e3cf4 = 3;\n    DAT_001e3cf8 = DAT_001e3cf8 | 1;\n  }\nLAB_001330bc:\n  if (DAT_001e3bd0 != 0xffff) {\n    DAT_001e3cf0 = DAT_001e3bd0;\n    return puVar10;\n  }\n  return puVar10;\n}" type_identifier (pointer_declarator "* FUN_00132fc0(void)" * (function_declarator "FUN_00132fc0(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) )))) (compound_statement "{\n  uint *puVar1;\n  long lVar2;\n  ulong *puVar3;\n  long lVar4;\n  byte *pbVar5;\n  char cVar6;\n  byte bVar7;\n  int iVar8;\n  ulong uVar9;\n  undefined1 *puVar10;\n  ulong uVar11;\n  byte bVar12;\n  long lVar13;\n  byte bVar14;\n  uint uVar15;\n  int iVar16;\n  uint uVar17;\n  ulong uVar18;\n  byte bVar19;\n  ulong uVar20;\n  byte bVar21;\n  uint uVar22;\n  uint uVar23;\n  bool bVar24;\n  \n  bVar21 = DAT_001e3bee;\n  uVar18 = 0;\n  uVar20 = 0;\n  bVar19 = DAT_001e3bee & 0xc;\n  if (bVar19 == 8) {\n    uVar22 = DAT_001e3c24 - 1;\n    uVar18 = (ulong)uVar22;\n    uVar15 = DAT_001e3c24 - 2;\n    if (((DAT_001e3c28 != 4) && ((DAT_001e3c28 != 3 || (DAT_001e3c30 != 1)))) ||\n       (((DAT_001e3bed & 0x18) != 8 ||\n        (((DAT_001e3bed & 0x60) == 0 || (((&DAT_001e3bf4)[uVar18 * 8] & 4) == 0)))))) {\n                    \n      FUN_0011dd00("../../gas/config/tc-i386.c",0x1a12,"build_modrm_byte");\n    }\n    uVar9 = (ulong)DAT_001e3c34;\n    uVar20 = (ulong)(DAT_001e3c34 + 1);\n    if ((DAT_001e3bed & 0x60) == 0x40) {\n      uVar20 = (ulong)DAT_001e3c34;\n      uVar9 = (ulong)(DAT_001e3c34 + 1);\n    }\n    if (DAT_001e3c34 == 0) {\n      uVar11 = (ulong)DAT_001e3c24;\n      DAT_001e3c24 = DAT_001e3c24 + 1;\n      DAT_001e3c34 = 1;\n      (&DAT_001e3c60)[uVar11] = (long)&DAT_001e3b20;\n      lVar13 = uVar11 + 0xe;\n      *(undefined8 *)(&DAT_001e3bc8 + lVar13 * 2) = 0;\n      *(undefined1 *)((long)&DAT_001e3bc8 + lVar13 * 8 + 1) = 4;\n      if (((&DAT_001e3bf4)[uVar9 * 8] & 4) == 0) {\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a2a,"build_modrm_byte");\n      }\n      DAT_001e3b38 = 2;\n      bVar14 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10);\n      bVar7 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x11);\n      uVar22 = (uint)bVar7;\n      if ((bVar14 & 1) != 0) {\n        uVar22 = bVar7 + 8;\n      }\n      if ((bVar14 & 4) != 0) {\n        _DAT_001e3b30 = (ulong)((uVar22 + 0x10) * 0x10);\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a2d,"build_modrm_byte");\n      }\n      _DAT_001e3b30 = (ulong)(uVar22 << 4);\n    }\n    else {\n      if ((DAT_001e3c34 != 1) || ((DAT_001e3c38._5_1_ & 1) == 0)) {\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a33,"build_modrm_byte");\n      }\n      if ((DAT_001e3bec & 0x20) == 0) {\n        DAT_001e3c38._1_1_ = DAT_001e3c38._1_1_ | 4;\n        uVar22 = 0;\n      }\n      else {\n        uVar20 = (ulong)((int)uVar20 - 1);\n        uVar9 = (ulong)((int)uVar9 - 1);\n      }\n      if (((&DAT_001e3bf4)[uVar9 * 8] & 4) == 0) {\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a45,"build_modrm_byte");\n      }\n      bVar14 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10);\n      bVar7 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x11);\n      uVar17 = (uint)bVar7;\n      if ((bVar14 & 1) != 0) {\n        uVar17 = bVar7 + 8;\n      }\n      lVar13 = (&DAT_001e3c60)[uVar22];\n      if ((bVar14 & 4) != 0) {\n        *(ulong *)(lVar13 + 0x10) = (ulong)((uVar17 + 0x10) * 0x10) | *(ulong *)(lVar13 + 0x10);\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a48,"build_modrm_byte");\n      }\n      *(ulong *)(lVar13 + 0x10) = (ulong)(uVar17 << 4) | *(ulong *)(lVar13 + 0x10);\n    }\n    if (((&DAT_001e3bf4)[(ulong)uVar15 * 8] & 4) == 0) {\n                    \n      FUN_0011dd00("../../gas/config/tc-i386.c",0x1a4b,"build_modrm_byte");\n    }\n    DAT_001e3d18 = (&DAT_001e3c60)[uVar15];\n  }\n  lVar2 = DAT_001e3cb8;\n  lVar13 = DAT_001e3cb0;\n  uVar9 = (ulong)DAT_001e3c30;\n  bVar14 = bVar19;\n  if (DAT_001e3c30 == 0) {\n    if (DAT_001e3c28 == 2) {\n      if ((DAT_001e3bed >> 3 & 3) < 2) {\nLAB_0013335b:\n        if (DAT_001e3c24 == 3) {\nLAB_00133ea8:\n          if ((DAT_001e3c34 != 1) &&\n             ((DAT_001e3c34 != 0 ||\n              (((DAT_001e3bed & 0x18) != 8 && ((DAT_001e3c38._3_1_ & 1) == 0)))))) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1a6b,"build_modrm_byte");\n          }\n          uVar9 = (ulong)((DAT_001e3c38._1_1_ & 0xfc) != 0 || (DAT_001e3c38._3_1_ & 1) != 0);\n          uVar22 = 3;\n        }\n        else if (DAT_001e3c24 < 4) {\n          uVar22 = DAT_001e3c24;\n          if (DAT_001e3c24 != 2) goto LAB_00133dcf;\n        }\n        else {\n          if (DAT_001e3c24 != 4) goto joined_r0x00133753;\nLAB_00133379:\n          uVar9 = (ulong)DAT_001e3c34;\n          if (DAT_001e3c34 == 2) {\n            if (((DAT_001e3c38._1_1_ & 4) == 0) || ((DAT_001e3c40._1_1_ & 4) == 0))\n            goto LAB_00133d61;\n          }\n          else {\n            if ((((DAT_001e3bed & 0x18) != 8) || (DAT_001e3c34 != 1)) ||\n               ((((DAT_001e3c38._1_1_ & 4) == 0 && ((DAT_001e3c50._1_1_ & 4) == 0)) &&\n                (DAT_001e3d28 == 0)))) {\nLAB_00133d61:\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1a81,"build_modrm_byte");\n            }\n            uVar9 = (ulong)((DAT_001e3c38._1_1_ & 4) != 0);\n          }\n          uVar22 = 4;\n        }\nLAB_001337c1:\n        if (bVar19 != 8) {\n          uVar15 = (int)uVar9 + 1;\n          uVar18 = (ulong)uVar15;\n          if ((DAT_001e3d28 != 0) && (*(uint *)(DAT_001e3d28 + 4) == uVar15)) {\n            uVar18 = (ulong)((int)uVar9 + 2);\n          }\n          if ((DAT_001e3bed & 0x18) == 8) {\n            uVar20 = uVar9;\n            uVar11 = uVar18;\n            if ((((&DAT_001e3bf6)[uVar9 * 8] & 0x40) == 0) &&\n               (((&DAT_001e3bf6)[uVar18 * 8] & 0x40) != 0)) {\n              uVar20 = uVar18;\n              uVar11 = uVar9;\n            }\n            uVar15 = (int)uVar18 + 1;\n            uVar18 = (ulong)uVar15;\n            uVar9 = *(ulong *)((long)&DAT_001e3bc0 + (uVar11 + 6) * 8 + 4);\n            if ((uVar22 <= uVar15) ||\n               ((((uVar9 & 1) == 0 ||\n                 ((-1 < (char)((uVar9 & 0xfffffffff7ffffff) >> 0x18) &&\n                  (((&DAT_001e3bc8)[(uVar11 + 6) * 2] & 2) == 0)))) &&\n                (((uVar9 & 4) == 0 &&\n                 ((DAT_00153a50 != (int)(uVar9 & 0xfffffffff7ffffff) ||\n                  (DAT_00153a54 != (&DAT_001e3bc8)[(uVar11 + 6) * 2])))))))) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1ac9,"build_modrm_byte");\n            }\n            DAT_001e3d18 = (&DAT_001e3c60)[uVar11];\n            uVar9 = uVar20;\n          }\n        }\nLAB_001337ff:\n        DAT_001e3cf4 = 3;\n        if (((*(byte *)((long)&DAT_001e3bc0 + (uVar18 + 6) * 8 + 7) & 8) == 0) &&\n           ((*(ulong *)((long)&DAT_001e3bc0 + (uVar18 + 6) * 8 + 4) & 0x5f0000) == 0)) {\n          DAT_001e3cf0 = (uint)*(byte *)((&DAT_001e3c60)[uVar18] + 0x11);\n          DAT_001e3cec = (uint)*(byte *)((&DAT_001e3c60)[uVar9] + 0x11);\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar18] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 4;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 4;\n          }\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 1;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 1;\n          }\n        }\n        else {\n          DAT_001e3cf0 = (uint)*(byte *)((&DAT_001e3c60)[uVar9] + 0x11);\n          DAT_001e3cec = (uint)*(byte *)((&DAT_001e3c60)[uVar18] + 0x11);\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar18] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 1;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 1;\n          }\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 4;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 4;\n          }\n        }\n        if ((DAT_001e3b14 != 2) && ((DAT_001e3cf8 & 4) != 0)) {\n          if ((*(byte *)(&DAT_001e3bc8 + ((ulong)(DAT_001e3bf7 >> 3 & 1) + 0xe) * 2) & 0x10) == 0) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1af4,"build_modrm_byte");\n          }\n          DAT_001e3cf8 = DAT_001e3cf8 & 0xfffffffb;\n          FUN_00131f90(0xf0);\n          return (undefined1 *)0x0;\n        }\n        DAT_001e3cf4 = 3;\n        return (undefined1 *)0x0;\n      }\n    }\n    else if (DAT_001e3c28 == 3) {\n      if ((DAT_001e3bed & 0x18) == 8) goto LAB_0013335b;\n    }\n    else if ((DAT_001e3c28 == 4) && (bVar19 == 8)) {\n      if (DAT_001e3c24 == 3) goto LAB_00133ea8;\n      if (DAT_001e3c24 < 4) {\n        if (DAT_001e3c24 != 2) goto LAB_00133dcf;\n        goto LAB_001337ff;\n      }\n      if (DAT_001e3c24 == 4) goto LAB_00133379;\njoined_r0x00133753:\n      if (DAT_001e3c24 != 5) {\nLAB_00133dcf:\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1aa0,"build_modrm_byte");\n      }\n      if (DAT_001e3bef == '\0') {\n        uVar9 = uVar20;\n        uVar22 = 5;\n      }\n      else {\n        if (((DAT_001e3c34 != 2) || (-1 < DAT_001e3bef)) || ((DAT_001e3c38._1_1_ & 0xfc) == 0)) {\n                    \n          FUN_0011dd00("../../gas/config/tc-i386.c",0x1a96,"build_modrm_byte");\n        }\n        if ((DAT_001e3c40._1_1_ & 0xfc) == 0) {\n          if ((DAT_001e3c58._1_1_ & 0xfc) == 0) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1a9c,"build_modrm_byte");\n          }\n          uVar9 = 1;\n          uVar22 = 5;\n        }\n        else {\n          uVar9 = (ulong)DAT_001e3c34;\n          uVar22 = 5;\n        }\n      }\n      goto LAB_001337c1;\n    }\n    uVar22 = 0xffffffff;\n    puVar10 = (undefined1 *)0x0;\n  }\n  else {\n    if (DAT_001e3c24 == 0) {\nLAB_0013303b:\n                    \n      FUN_0011dd00("../../gas/config/tc-i386.c",0x1b05,"build_modrm_byte");\n    }\n    if ((DAT_001e3c38._2_1_ & 0x5f) == 0) {\n      uVar9 = 1;\n      do {\n        uVar20 = uVar9 & 0xffffffff;\n        if (DAT_001e3c24 <= (uint)uVar9) goto LAB_0013303b;\n        puVar3 = &DAT_001e3c38 + uVar9;\n        uVar9 = uVar9 + 1;\n      } while ((*puVar3 & 0x5f0000) == 0);\n    }\n    else {\n      uVar20 = 0;\n    }\n    bVar21 = bVar21 & 0x30;\n    uVar22 = (uint)uVar20;\n    if (bVar21 == 0) {\nLAB_0013313d:\n      if (lVar13 != 0) goto LAB_00133146;\nLAB_00133448:\n      lVar13 = DAT_001e3cb8;\n      DAT_001e3cf4 = 0;\n      if (DAT_001e3c2c == 0) {\n        if (DAT_001e3cb8 == 0) {\n          iVar16 = 1;\n          goto LAB_00133cae;\n        }\n        if (bVar21 == 0) {\n          iVar16 = 1;\n          goto LAB_00133af0;\n        }\n        goto LAB_00133a60;\n      }\n      if (DAT_001e3cb8 != 0) {\n        if (bVar21 == 0) {\n          iVar16 = 0;\nLAB_00133af0:\n          uVar15 = (uint)*(byte *)(DAT_001e3cb8 + 0x11);\n          DAT_001e3cec = 4;\n          if ((byte)(*(byte *)(DAT_001e3cb8 + 0x11) + 4) < 2) {\n            uVar15 = 4;\n          }\n          _DAT_001e3d00 = CONCAT44(uVar15,5);\n          DAT_001e3d08 = DAT_001e3cc0;\n          lVar2 = uVar20 * 8;\n          bVar21 = *(byte *)((long)&DAT_001e3c38 + lVar2 + 2);\n          bVar24 = DAT_001e3b14 == 2;\n          *(byte *)((long)&DAT_001e3c38 + lVar2 + 2) = bVar21 & 0xec;\n          if ((bVar24) && (DAT_001e3ce6 == '\0')) {\n            *(byte *)((long)&DAT_001e3c38 + lVar2 + 2) = bVar21 & 0xe0 | 8;\n          }\n          else {\n            *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) =\n                 *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xf3 | 4;\n          }\n          puVar10 = ds;\n          if ((*(byte *)(lVar13 + 0x10) & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 2;\n          }\n          goto LAB_00133b80;\n        }\n        goto LAB_00133424;\n      }\n      iVar16 = 0;\nLAB_00133cae:\n      if (bVar21 != 0) {\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1b33,"build_modrm_byte");\n      }\n      if (DAT_001e3b14 == 2) {\n        DAT_001e3cec = 4;\n        uVar17 = (uint)(DAT_001e3ce6 == '\0');\n        uVar15 = (uint)(DAT_001e3ce6 != '\0');\n        _DAT_001e3d00 = 0x400000005;\n        iVar8 = 0;\n      }\n      else if ((DAT_001e3b14 == 1) == (DAT_001e3ce6 != '\0')) {\n        DAT_001e3cec = 5;\n        uVar17 = 0;\n        uVar15 = 1;\n        iVar8 = 0;\n      }\n      else {\n        DAT_001e3cec = 6;\n        uVar17 = 0;\n        uVar15 = 0;\n        iVar8 = 1;\n      }\n      uVar23 = ~DAT_00153a64;\n      *(uint *)(&DAT_001e3c38 + uVar20) =\n           iVar8 << 0x11 | uVar15 << 0x12 | uVar17 << 0x13 |\n           ~DAT_00153a60 & *(uint *)(&DAT_001e3c38 + uVar20);\n      puVar10 = ds;\n      puVar1 = (uint *)((long)&DAT_001e3c38 + uVar20 * 8 + 4);\n      *puVar1 = *puVar1 & uVar23;\nLAB_00133b80:\n      if (iVar16 != 0) goto LAB_00133a67;\n    }\n    else {\n      cVar6 = *(char *)(DAT_001e3cb8 + 0x11);\n      if ((byte)(cVar6 + 4U) < 2) {\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1b0b,"build_modrm_byte");\n      }\n      DAT_001e3cec = 4;\n      if (DAT_001e3cb0 == 0) {\n        _DAT_001e3d00 = 5;\n        DAT_001e3d08 = DAT_001e3cc0;\n        lVar4 = uVar20 * 8;\n        bVar7 = *(byte *)((long)&DAT_001e3c38 + lVar4 + 2);\n        bVar24 = DAT_001e3b14 == 2;\n        *(byte *)((long)&DAT_001e3c38 + lVar4 + 2) = bVar7 & 0xec;\n        if ((bVar24) && (DAT_001e3ce6 == '\0')) {\n          *(byte *)((long)&DAT_001e3c38 + lVar4 + 2) = bVar7 & 0xe0 | 8;\n        }\n        else {\n          *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) =\n               *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xf3 | 4;\n        }\n      }\n      _DAT_001e3d00 = (ulong)CONCAT14(cVar6,_DAT_001e3d00);\n      if ((*(byte *)(lVar2 + 0x10) & 1) != 0) {\n        DAT_001e3cf8 = DAT_001e3cf8 | 2;\n      }\n      if ((*(byte *)(lVar2 + 0x10) & 4) == 0) goto LAB_0013313d;\n      DAT_001e3cfc = DAT_001e3cfc | 2;\n      if (lVar13 == 0) goto LAB_00133448;\nLAB_00133146:\n      bVar7 = *(byte *)(lVar13 + 0x11);\n      if (bVar7 < 0xfe) {\n        if ((*(byte *)(lVar13 + 0xb) & 0x40) == 0) {\n          if ((DAT_001e3b14 == 2) &&\n             ((*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f) != 0)) {\n            lVar2 = (uVar20 + 0xe) * 8;\n            bVar14 = *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2);\n            bVar12 = bVar14 & 0xe1;\n            *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar14 & 0xed;\n            if (DAT_001e3ce6 == '\0') {\n              *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar12 | 8;\n            }\n            else {\n              *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar12 | 4;\n            }\n          }\n          if (bVar21 == 0) {\n            DAT_001e3cec = (uint)bVar7;\n          }\n          if ((*(byte *)(lVar13 + 0x10) & 1) == 0) {\n            puVar10 = ss;\n            if (1 < (byte)(bVar7 - 4)) {\n              puVar10 = ds;\n            }\n          }\n          else {\n            DAT_001e3cf8 = DAT_001e3cf8 | 1;\n            puVar10 = ds;\n          }\n          _DAT_001e3d00 = CONCAT44(DAT_001e3d04,(uint)bVar7);\n          iVar16 = 0;\n          if ((bVar7 == 5) && (iVar16 = 0, DAT_001e3c2c == 0)) {\n            iVar16 = 1;\n            pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n            *pbVar5 = *pbVar5 | 1;\n          }\n          iVar8 = DAT_001e3d40;\n          DAT_001e3d08 = DAT_001e3cc0;\n          if (DAT_001e3cb8 == 0) {\n            if (bVar21 != 0) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1bbf,"build_modrm_byte");\n            }\n            _DAT_001e3d00 = CONCAT44(4,_DAT_001e3d00);\n          }\n          else if (bVar21 == 0) {\n            DAT_001e3cec = 4;\n            uVar15 = (uint)*(byte *)(DAT_001e3cb8 + 0x11);\n            if ((byte)(*(byte *)(DAT_001e3cb8 + 0x11) + 4) < 2) {\n              uVar15 = 4;\n            }\n            _DAT_001e3d00 = CONCAT44(uVar15,_DAT_001e3d00);\n            if ((*(byte *)(DAT_001e3cb8 + 0x10) & 1) != 0) {\n              DAT_001e3cf8 = DAT_001e3cf8 | 2;\n            }\n          }\n          if (DAT_001e3c2c == 0) {\n            if ((iVar16 == 0) && (iVar16 = iVar8, DAT_001e3d40 != 0)) {\n              if (DAT_001e3d40 == 1) {\n                pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n                *pbVar5 = *pbVar5 | 1;\n              }\n              else {\n                pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n                *pbVar5 = *pbVar5 | 4;\n                iVar16 = 1;\n              }\n            }\n          }\n          else if (((&DAT_001e3c9c)[uVar20] == 0x179) || ((&DAT_001e3c9c)[uVar20] == 0x195)) {\n            DAT_001e3cf4 = 0;\n            goto LAB_00133b80;\n          }\n        }\n        else {\n          if (bVar21 != 0) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1b7c,"build_modrm_byte");\n          }\n          if (bVar7 == 3) {\n            if (DAT_001e3cb8 != 0) {\n              DAT_001e3cec = *(byte *)(DAT_001e3cb8 + 0x11) - 6;\n              goto LAB_0013317e;\n            }\n            DAT_001e3cec = 7;\n            puVar10 = ds;\n            iVar16 = 0;\n          }\n          else if (bVar7 == 5) {\n            if (DAT_001e3cb8 == 0) {\n              puVar10 = ss;\n              DAT_001e3cec = 6;\n              iVar16 = 0;\n              if ((*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f) == 0) {\n                pbVar5 = (byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2);\n                *pbVar5 = *pbVar5 | 1;\n                iVar16 = 1;\n              }\n            }\n            else {\n              DAT_001e3cec = *(byte *)(DAT_001e3cb8 + 0x11) - 4;\n              puVar10 = ss;\n              iVar16 = 0;\n            }\n          }\n          else {\n            DAT_001e3cec = bVar7 - 2;\nLAB_0013317e:\n            iVar16 = 0;\n            puVar10 = ds;\n          }\n        }\n        DAT_001e3cf4 = 1;\n        if (((ulong)(&DAT_001e3c38)[uVar20] >> 0x10 & 1) == 0) {\n          DAT_001e3cf4 = (uint)(((&DAT_001e3c38)[uVar20] & 0xe0000) != 0) * 2;\n        }\n        goto LAB_00133b80;\n      }\n      if (bVar21 != 0) {\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1b6f,"build_modrm_byte");\n      }\n      DAT_001e3cec = 5;\n      *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) =\n           *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xe0 | 8;\n      uVar15 = DAT_001e3c2c;\n      (&DAT_001e3c88)[uVar20] = (&DAT_001e3c88)[uVar20] | 1;\n      if (uVar15 != 0) {\nLAB_00133424:\n        puVar10 = ds;\n        goto LAB_00133089;\n      }\nLAB_00133a60:\n      puVar10 = ds;\nLAB_00133a67:\n      if ((&DAT_001e3bc0)[uVar20 + 0x14] != 0) {\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1bed,"build_modrm_byte");\n      }\n      uVar9 = (ulong)DAT_001e3c2c;\n      DAT_001e3c2c = DAT_001e3c2c + 1;\n      lVar13 = uVar9 * 0x20;\n      (&DAT_001e3bc0)[uVar20 + 0x14] = &DAT_001e3b60 + lVar13;\n      (&DAT_001e3b78)[lVar13] = 2;\n      *(undefined8 *)(&DAT_001e3b70 + lVar13) = 0;\n      *(undefined8 *)(&DAT_001e3b60 + lVar13) = 0;\n      *(undefined8 *)(&DAT_001e3b68 + lVar13) = 0;\n    }\n    bVar14 = DAT_001e3bee & 0xc;\n  }\nLAB_00133089:\n  if (bVar14 == 4) {\n    if ((DAT_001e3c38._1_1_ & 0xfc) == 0) {\n      if ((DAT_001e3bed & 0x60) == 0x20) {\n        DAT_001e3d18 = DAT_001e3c60;\n      }\n      else {\n        DAT_001e3d18 = DAT_001e3c68;\n      }\n    }\n    else {\n      DAT_001e3d18 = 0;\n    }\n    DAT_001e3cf0 = (uint)*(byte *)(DAT_001e3c70 + 0x11);\n    if ((*(byte *)(DAT_001e3c70 + 0x10) & 1) != 0) {\n      DAT_001e3cf8 = DAT_001e3cf8 | 4;\n    }\n    if (DAT_001e3c30 != 0) goto LAB_001330bc;\n    if ((DAT_001e3bed & 0x60) == 0x20) {\n      bVar21 = *(byte *)(DAT_001e3c68 + 0x11);\n    }\n    else {\n      bVar21 = *(byte *)(DAT_001e3c60 + 0x11);\n    }\n    bVar19 = *(byte *)(DAT_001e3c68 + 0x10);\n  }\n  else {\n    bVar21 = DAT_001e3bed & 0x18;\n    if (bVar21 != 0x18) {\n      if (DAT_001e3c28 == 0) goto LAB_001330bc;\n      if ((((DAT_001e3c24 == 0) || (((byte)DAT_001e3c38 & 1) != 0)) ||\n          (((byte)DAT_001e3c38 & 2) != 0)) ||\n         ((((byte)DAT_001e3c38 & 4) != 0 || ((DAT_001e3c38._5_1_ & 2) != 0)))) {\n        uVar20 = 0;\n      }\n      else {\n        uVar20 = 0;\n        if (((byte)DAT_001e3c38 & 8) == 0) {\n          uVar9 = 0;\n          while( true ) {\n            bVar14 = *(byte *)(&DAT_001e3bc8 + (uVar9 + 0xe) * 2);\n            if ((((char)bVar14 < '\0') ||\n                ((*(byte *)((long)&DAT_001e3bc8 + (uVar9 + 0xe) * 8 + 1) & 1) != 0)) ||\n               (((bVar14 & 0x10) != 0 || (((bVar14 & 0x20) != 0 || ((bVar14 & 0x40) != 0))))))\n            goto LAB_00133670;\n            uVar15 = (int)uVar20 + 1;\n            uVar20 = (ulong)uVar15;\n            if (DAT_001e3c24 == uVar15) break;\n            uVar9 = (ulong)uVar15;\n            bVar14 = *(byte *)(&DAT_001e3bc8 + (uVar9 + 0xe) * 2);\n            if (((((bVar14 & 1) != 0) || ((bVar14 & 2) != 0)) || ((bVar14 & 4) != 0)) ||\n               (((*(byte *)((long)&DAT_001e3bcc + (uVar9 + 0xe) * 8 + 1) & 2) != 0 ||\n                ((*(byte *)(&DAT_001e3c38 + uVar9) & 8) != 0)))) goto LAB_00133670;\n          }\n          uVar20 = (ulong)DAT_001e3c24;\n        }\n      }\nLAB_00133670:\n      uVar15 = (uint)uVar20;\n      if (bVar19 == 8) {\n        uVar15 = 0xffffffff;\n        uVar20 = uVar18;\nLAB_00133b96:\n        if (uVar15 != (uint)uVar20) goto LAB_001336a6;\n        if (DAT_001e3c30 != 0) goto LAB_001330bc;\n      }\n      else {\n        uVar18 = uVar20;\n        if (bVar21 == 8) {\n          if (uVar22 == 0xffffffff) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1c44,"build_modrm_byte");\n          }\n          uVar17 = uVar15 + 1;\n          uVar18 = (ulong)uVar17;\n          uVar9 = uVar20;\n          if (uVar22 < uVar15) {\n            if (DAT_001e3c24 <= uVar17) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c49,"build_modrm_byte");\n            }\n          }\n          else if ((((&DAT_001e3bf6)[uVar20 * 8] & 0x40) == 0) &&\n                  (((&DAT_001e3bf6)[uVar18 * 8] & 0x40) != 0)) {\n            if ((DAT_001e3c24 <= uVar15 + 2) || (uVar22 != uVar17)) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c55,"build_modrm_byte");\n            }\n            uVar18 = (ulong)(uVar15 + 2);\n          }\n          else {\n            uVar9 = uVar18;\n            uVar18 = uVar20;\n            uVar15 = uVar17;\n            if (DAT_001e3c24 <= uVar17) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c5a,"build_modrm_byte");\n            }\n          }\nLAB_00133e49:\n          lVar13 = uVar9 + 6;\n          bVar21 = *(byte *)((long)&DAT_001e3bc0 + lVar13 * 8 + 4);\n          if ((((bVar21 & 1) == 0) ||\n              ((-1 < *(char *)((long)&DAT_001e3bc0 + lVar13 * 8 + 7) &&\n               ((*(byte *)(&DAT_001e3bc8 + lVar13 * 2) & 2) == 0)))) &&\n             (((bVar21 & 4) == 0 &&\n              ((*(uint *)(&DAT_001e3bf8 + uVar9 * 8) != DAT_00153a54 ||\n               (*(int *)(&DAT_001e3bf4 + uVar9 * 8) != DAT_00153a50)))))) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1c7b,"build_modrm_byte");\n          }\n          DAT_001e3d18 = (&DAT_001e3c60)[uVar9];\n          uVar20 = uVar18;\n          goto LAB_00133b96;\n        }\n        if (bVar21 == 0x10) {\n          if (DAT_001e3c30 == 0) {\n            if (DAT_001e3c24 != uVar15 + 2) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c65,"build_modrm_byte");\n            }\n            uVar9 = (ulong)(uVar15 + 1);\n            uVar15 = uVar15 + 1;\n          }\n          else {\n            if ((DAT_001e3c34 + 2 <= uVar15) || (DAT_001e3c24 != DAT_001e3c34 + 2)) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c6c,"build_modrm_byte");\n            }\n            uVar15 = DAT_001e3c34 + 1;\n            if (uVar15 == 0xffffffff) goto LAB_001336a6;\n            uVar9 = (ulong)uVar15;\n          }\n          goto LAB_00133e49;\n        }\n        if (DAT_001e3c24 <= uVar15) {\n                    \n          FUN_0011dd00("../../gas/config/tc-i386.c",0x1c71,"build_modrm_byte");\n        }\nLAB_001336a6:\n        if (DAT_001e3bd0 == 0xffff) {\n          DAT_001e3cf0 = (uint)*(byte *)((&DAT_001e3c60)[uVar20] + 0x11);\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar20] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 4;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 4;\n          }\n          if (DAT_001e3c30 == 0) {\n            DAT_001e3cf4 = 3;\n            return puVar10;\n          }\n          return puVar10;\n        }\n        DAT_001e3cec = (uint)*(byte *)((&DAT_001e3c60)[uVar20] + 0x11);\n        bVar21 = *(byte *)((&DAT_001e3c60)[uVar20] + 0x10);\n        if ((bVar21 & 1) != 0) {\n          DAT_001e3cf8 = DAT_001e3cf8 | 1;\n        }\n        if ((bVar21 & 4) != 0) {\n          DAT_001e3cfc = DAT_001e3cfc | 1;\n        }\n        if (DAT_001e3c30 != 0) {\n          DAT_001e3cf0 = DAT_001e3bd0;\n          return puVar10;\n        }\n      }\n      DAT_001e3cf4 = 3;\n      goto LAB_001330bc;\n    }\n    DAT_001e3d18 = DAT_001e3c70;\n    if (DAT_001e3c30 != 0) goto LAB_001330bc;\n    bVar21 = *(byte *)(DAT_001e3c68 + 0x11);\n    bVar19 = *(byte *)(DAT_001e3c68 + 0x10);\n  }\n  DAT_001e3cec = (uint)bVar21;\n  DAT_001e3cf4 = 3;\n  if ((bVar19 & 1) != 0) {\n    DAT_001e3cf4 = 3;\n    DAT_001e3cf8 = DAT_001e3cf8 | 1;\n  }\nLAB_001330bc:\n  if (DAT_001e3bd0 != 0xffff) {\n    DAT_001e3cf0 = DAT_001e3bd0;\n    return puVar10;\n  }\n  return puVar10;\n}" { (declaration "uint *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "long lVar2;" (sized_type_specifier "long" long) identifier ;) (declaration "ulong *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "long lVar4;" (sized_type_specifier "long" long) identifier ;) (declaration "byte *pbVar5;" type_identifier (pointer_declarator "*pbVar5" * identifier) ;) (declaration "char cVar6;" primitive_type identifier ;) (declaration "byte bVar7;" type_identifier identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "ulong uVar9;" type_identifier identifier ;) (declaration "undefined1 *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "ulong uVar11;" type_identifier identifier ;) (declaration "byte bVar12;" type_identifier identifier ;) (declaration "long lVar13;" (sized_type_specifier "long" long) identifier ;) (declaration "byte bVar14;" type_identifier identifier ;) (declaration "uint uVar15;" type_identifier identifier ;) (declaration "int iVar16;" primitive_type identifier ;) (declaration "uint uVar17;" type_identifier identifier ;) (declaration "ulong uVar18;" type_identifier identifier ;) (declaration "byte bVar19;" type_identifier identifier ;) (declaration "ulong uVar20;" type_identifier identifier ;) (declaration "byte bVar21;" type_identifier identifier ;) (declaration "uint uVar22;" type_identifier identifier ;) (declaration "uint uVar23;" type_identifier identifier ;) (declaration "bool bVar24;" primitive_type identifier ;) (expression_statement "bVar21 = DAT_001e3bee;" (assignment_expression "bVar21 = DAT_001e3bee" identifier = identifier) ;) (expression_statement "uVar18 = 0;" (assignment_expression "uVar18 = 0" identifier = number_literal) ;) (expression_statement "uVar20 = 0;" (assignment_expression "uVar20 = 0" identifier = number_literal) ;) (expression_statement "bVar19 = DAT_001e3bee & 0xc;" (assignment_expression "bVar19 = DAT_001e3bee & 0xc" identifier = (binary_expression "DAT_001e3bee & 0xc" identifier & number_literal)) ;) (if_statement "if (bVar19 == 8) {\n    uVar22 = DAT_001e3c24 - 1;\n    uVar18 = (ulong)uVar22;\n    uVar15 = DAT_001e3c24 - 2;\n    if (((DAT_001e3c28 != 4) && ((DAT_001e3c28 != 3 || (DAT_001e3c30 != 1)))) ||\n       (((DAT_001e3bed & 0x18) != 8 ||\n        (((DAT_001e3bed & 0x60) == 0 || (((&DAT_001e3bf4)[uVar18 * 8] & 4) == 0)))))) {\n                    \n      FUN_0011dd00("../../gas/config/tc-i386.c",0x1a12,"build_modrm_byte");\n    }\n    uVar9 = (ulong)DAT_001e3c34;\n    uVar20 = (ulong)(DAT_001e3c34 + 1);\n    if ((DAT_001e3bed & 0x60) == 0x40) {\n      uVar20 = (ulong)DAT_001e3c34;\n      uVar9 = (ulong)(DAT_001e3c34 + 1);\n    }\n    if (DAT_001e3c34 == 0) {\n      uVar11 = (ulong)DAT_001e3c24;\n      DAT_001e3c24 = DAT_001e3c24 + 1;\n      DAT_001e3c34 = 1;\n      (&DAT_001e3c60)[uVar11] = (long)&DAT_001e3b20;\n      lVar13 = uVar11 + 0xe;\n      *(undefined8 *)(&DAT_001e3bc8 + lVar13 * 2) = 0;\n      *(undefined1 *)((long)&DAT_001e3bc8 + lVar13 * 8 + 1) = 4;\n      if (((&DAT_001e3bf4)[uVar9 * 8] & 4) == 0) {\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a2a,"build_modrm_byte");\n      }\n      DAT_001e3b38 = 2;\n      bVar14 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10);\n      bVar7 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x11);\n      uVar22 = (uint)bVar7;\n      if ((bVar14 & 1) != 0) {\n        uVar22 = bVar7 + 8;\n      }\n      if ((bVar14 & 4) != 0) {\n        _DAT_001e3b30 = (ulong)((uVar22 + 0x10) * 0x10);\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a2d,"build_modrm_byte");\n      }\n      _DAT_001e3b30 = (ulong)(uVar22 << 4);\n    }\n    else {\n      if ((DAT_001e3c34 != 1) || ((DAT_001e3c38._5_1_ & 1) == 0)) {\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a33,"build_modrm_byte");\n      }\n      if ((DAT_001e3bec & 0x20) == 0) {\n        DAT_001e3c38._1_1_ = DAT_001e3c38._1_1_ | 4;\n        uVar22 = 0;\n      }\n      else {\n        uVar20 = (ulong)((int)uVar20 - 1);\n        uVar9 = (ulong)((int)uVar9 - 1);\n      }\n      if (((&DAT_001e3bf4)[uVar9 * 8] & 4) == 0) {\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a45,"build_modrm_byte");\n      }\n      bVar14 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10);\n      bVar7 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x11);\n      uVar17 = (uint)bVar7;\n      if ((bVar14 & 1) != 0) {\n        uVar17 = bVar7 + 8;\n      }\n      lVar13 = (&DAT_001e3c60)[uVar22];\n      if ((bVar14 & 4) != 0) {\n        *(ulong *)(lVar13 + 0x10) = (ulong)((uVar17 + 0x10) * 0x10) | *(ulong *)(lVar13 + 0x10);\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a48,"build_modrm_byte");\n      }\n      *(ulong *)(lVar13 + 0x10) = (ulong)(uVar17 << 4) | *(ulong *)(lVar13 + 0x10);\n    }\n    if (((&DAT_001e3bf4)[(ulong)uVar15 * 8] & 4) == 0) {\n                    \n      FUN_0011dd00("../../gas/config/tc-i386.c",0x1a4b,"build_modrm_byte");\n    }\n    DAT_001e3d18 = (&DAT_001e3c60)[uVar15];\n  }" if (parenthesized_expression "(bVar19 == 8)" ( (binary_expression "bVar19 == 8" identifier == number_literal) )) (compound_statement "{\n    uVar22 = DAT_001e3c24 - 1;\n    uVar18 = (ulong)uVar22;\n    uVar15 = DAT_001e3c24 - 2;\n    if (((DAT_001e3c28 != 4) && ((DAT_001e3c28 != 3 || (DAT_001e3c30 != 1)))) ||\n       (((DAT_001e3bed & 0x18) != 8 ||\n        (((DAT_001e3bed & 0x60) == 0 || (((&DAT_001e3bf4)[uVar18 * 8] & 4) == 0)))))) {\n                    \n      FUN_0011dd00("../../gas/config/tc-i386.c",0x1a12,"build_modrm_byte");\n    }\n    uVar9 = (ulong)DAT_001e3c34;\n    uVar20 = (ulong)(DAT_001e3c34 + 1);\n    if ((DAT_001e3bed & 0x60) == 0x40) {\n      uVar20 = (ulong)DAT_001e3c34;\n      uVar9 = (ulong)(DAT_001e3c34 + 1);\n    }\n    if (DAT_001e3c34 == 0) {\n      uVar11 = (ulong)DAT_001e3c24;\n      DAT_001e3c24 = DAT_001e3c24 + 1;\n      DAT_001e3c34 = 1;\n      (&DAT_001e3c60)[uVar11] = (long)&DAT_001e3b20;\n      lVar13 = uVar11 + 0xe;\n      *(undefined8 *)(&DAT_001e3bc8 + lVar13 * 2) = 0;\n      *(undefined1 *)((long)&DAT_001e3bc8 + lVar13 * 8 + 1) = 4;\n      if (((&DAT_001e3bf4)[uVar9 * 8] & 4) == 0) {\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a2a,"build_modrm_byte");\n      }\n      DAT_001e3b38 = 2;\n      bVar14 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10);\n      bVar7 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x11);\n      uVar22 = (uint)bVar7;\n      if ((bVar14 & 1) != 0) {\n        uVar22 = bVar7 + 8;\n      }\n      if ((bVar14 & 4) != 0) {\n        _DAT_001e3b30 = (ulong)((uVar22 + 0x10) * 0x10);\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a2d,"build_modrm_byte");\n      }\n      _DAT_001e3b30 = (ulong)(uVar22 << 4);\n    }\n    else {\n      if ((DAT_001e3c34 != 1) || ((DAT_001e3c38._5_1_ & 1) == 0)) {\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a33,"build_modrm_byte");\n      }\n      if ((DAT_001e3bec & 0x20) == 0) {\n        DAT_001e3c38._1_1_ = DAT_001e3c38._1_1_ | 4;\n        uVar22 = 0;\n      }\n      else {\n        uVar20 = (ulong)((int)uVar20 - 1);\n        uVar9 = (ulong)((int)uVar9 - 1);\n      }\n      if (((&DAT_001e3bf4)[uVar9 * 8] & 4) == 0) {\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a45,"build_modrm_byte");\n      }\n      bVar14 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10);\n      bVar7 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x11);\n      uVar17 = (uint)bVar7;\n      if ((bVar14 & 1) != 0) {\n        uVar17 = bVar7 + 8;\n      }\n      lVar13 = (&DAT_001e3c60)[uVar22];\n      if ((bVar14 & 4) != 0) {\n        *(ulong *)(lVar13 + 0x10) = (ulong)((uVar17 + 0x10) * 0x10) | *(ulong *)(lVar13 + 0x10);\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a48,"build_modrm_byte");\n      }\n      *(ulong *)(lVar13 + 0x10) = (ulong)(uVar17 << 4) | *(ulong *)(lVar13 + 0x10);\n    }\n    if (((&DAT_001e3bf4)[(ulong)uVar15 * 8] & 4) == 0) {\n                    \n      FUN_0011dd00("../../gas/config/tc-i386.c",0x1a4b,"build_modrm_byte");\n    }\n    DAT_001e3d18 = (&DAT_001e3c60)[uVar15];\n  }" { (expression_statement "uVar22 = DAT_001e3c24 - 1;" (assignment_expression "uVar22 = DAT_001e3c24 - 1" identifier = (binary_expression "DAT_001e3c24 - 1" identifier - number_literal)) ;) (expression_statement "uVar18 = (ulong)uVar22;" (assignment_expression "uVar18 = (ulong)uVar22" identifier = (cast_expression "(ulong)uVar22" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "uVar15 = DAT_001e3c24 - 2;" (assignment_expression "uVar15 = DAT_001e3c24 - 2" identifier = (binary_expression "DAT_001e3c24 - 2" identifier - number_literal)) ;) (if_statement "if (((DAT_001e3c28 != 4) && ((DAT_001e3c28 != 3 || (DAT_001e3c30 != 1)))) ||\n       (((DAT_001e3bed & 0x18) != 8 ||\n        (((DAT_001e3bed & 0x60) == 0 || (((&DAT_001e3bf4)[uVar18 * 8] & 4) == 0)))))) {\n                    \n      FUN_0011dd00("../../gas/config/tc-i386.c",0x1a12,"build_modrm_byte");\n    }" if (parenthesized_expression "(((DAT_001e3c28 != 4) && ((DAT_001e3c28 != 3 || (DAT_001e3c30 != 1)))) ||\n       (((DAT_001e3bed & 0x18) != 8 ||\n        (((DAT_001e3bed & 0x60) == 0 || (((&DAT_001e3bf4)[uVar18 * 8] & 4) == 0))))))" ( (binary_expression "((DAT_001e3c28 != 4) && ((DAT_001e3c28 != 3 || (DAT_001e3c30 != 1)))) ||\n       (((DAT_001e3bed & 0x18) != 8 ||\n        (((DAT_001e3bed & 0x60) == 0 || (((&DAT_001e3bf4)[uVar18 * 8] & 4) == 0)))))" (parenthesized_expression "((DAT_001e3c28 != 4) && ((DAT_001e3c28 != 3 || (DAT_001e3c30 != 1))))" ( (binary_expression "(DAT_001e3c28 != 4) && ((DAT_001e3c28 != 3 || (DAT_001e3c30 != 1)))" (parenthesized_expression "(DAT_001e3c28 != 4)" ( (binary_expression "DAT_001e3c28 != 4" identifier != number_literal) )) && (parenthesized_expression "((DAT_001e3c28 != 3 || (DAT_001e3c30 != 1)))" ( (parenthesized_expression "(DAT_001e3c28 != 3 || (DAT_001e3c30 != 1))" ( (binary_expression "DAT_001e3c28 != 3 || (DAT_001e3c30 != 1)" (binary_expression "DAT_001e3c28 != 3" identifier != number_literal) || (parenthesized_expression "(DAT_001e3c30 != 1)" ( (binary_expression "DAT_001e3c30 != 1" identifier != number_literal) ))) )) ))) )) || (parenthesized_expression "(((DAT_001e3bed & 0x18) != 8 ||\n        (((DAT_001e3bed & 0x60) == 0 || (((&DAT_001e3bf4)[uVar18 * 8] & 4) == 0)))))" ( (parenthesized_expression "((DAT_001e3bed & 0x18) != 8 ||\n        (((DAT_001e3bed & 0x60) == 0 || (((&DAT_001e3bf4)[uVar18 * 8] & 4) == 0))))" ( (binary_expression "(DAT_001e3bed & 0x18) != 8 ||\n        (((DAT_001e3bed & 0x60) == 0 || (((&DAT_001e3bf4)[uVar18 * 8] & 4) == 0)))" (binary_expression "(DAT_001e3bed & 0x18) != 8" (parenthesized_expression "(DAT_001e3bed & 0x18)" ( (binary_expression "DAT_001e3bed & 0x18" identifier & number_literal) )) != number_literal) || (parenthesized_expression "(((DAT_001e3bed & 0x60) == 0 || (((&DAT_001e3bf4)[uVar18 * 8] & 4) == 0)))" ( (parenthesized_expression "((DAT_001e3bed & 0x60) == 0 || (((&DAT_001e3bf4)[uVar18 * 8] & 4) == 0))" ( (binary_expression "(DAT_001e3bed & 0x60) == 0 || (((&DAT_001e3bf4)[uVar18 * 8] & 4) == 0)" (binary_expression "(DAT_001e3bed & 0x60) == 0" (parenthesized_expression "(DAT_001e3bed & 0x60)" ( (binary_expression "DAT_001e3bed & 0x60" identifier & number_literal) )) == number_literal) || (parenthesized_expression "(((&DAT_001e3bf4)[uVar18 * 8] & 4) == 0)" ( (binary_expression "((&DAT_001e3bf4)[uVar18 * 8] & 4) == 0" (parenthesized_expression "((&DAT_001e3bf4)[uVar18 * 8] & 4)" ( (binary_expression "(&DAT_001e3bf4)[uVar18 * 8] & 4" (subscript_expression "(&DAT_001e3bf4)[uVar18 * 8]" (parenthesized_expression "(&DAT_001e3bf4)" ( (pointer_expression "&DAT_001e3bf4" & identifier) )) [ (binary_expression "uVar18 * 8" identifier * number_literal) ]) & number_literal) )) == number_literal) ))) )) ))) )) ))) )) (compound_statement "{\n                    \n      FUN_0011dd00("../../gas/config/tc-i386.c",0x1a12,"build_modrm_byte");\n    }" { (expression_statement "FUN_0011dd00("../../gas/config/tc-i386.c",0x1a12,"build_modrm_byte");" (call_expression "FUN_0011dd00("../../gas/config/tc-i386.c",0x1a12,"build_modrm_byte")" identifier (argument_list "("../../gas/config/tc-i386.c",0x1a12,"build_modrm_byte")" ( (string_literal ""../../gas/config/tc-i386.c"" " string_content ") , number_literal , (string_literal ""build_modrm_byte"" " string_content ") ))) ;) })) (expression_statement "uVar9 = (ulong)DAT_001e3c34;" (assignment_expression "uVar9 = (ulong)DAT_001e3c34" identifier = (cast_expression "(ulong)DAT_001e3c34" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "uVar20 = (ulong)(DAT_001e3c34 + 1);" (assignment_expression "uVar20 = (ulong)(DAT_001e3c34 + 1)" identifier = (call_expression "(ulong)(DAT_001e3c34 + 1)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(DAT_001e3c34 + 1)" ( (binary_expression "DAT_001e3c34 + 1" identifier + number_literal) )))) ;) (if_statement "if ((DAT_001e3bed & 0x60) == 0x40) {\n      uVar20 = (ulong)DAT_001e3c34;\n      uVar9 = (ulong)(DAT_001e3c34 + 1);\n    }" if (parenthesized_expression "((DAT_001e3bed & 0x60) == 0x40)" ( (binary_expression "(DAT_001e3bed & 0x60) == 0x40" (parenthesized_expression "(DAT_001e3bed & 0x60)" ( (binary_expression "DAT_001e3bed & 0x60" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n      uVar20 = (ulong)DAT_001e3c34;\n      uVar9 = (ulong)(DAT_001e3c34 + 1);\n    }" { (expression_statement "uVar20 = (ulong)DAT_001e3c34;" (assignment_expression "uVar20 = (ulong)DAT_001e3c34" identifier = (cast_expression "(ulong)DAT_001e3c34" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "uVar9 = (ulong)(DAT_001e3c34 + 1);" (assignment_expression "uVar9 = (ulong)(DAT_001e3c34 + 1)" identifier = (call_expression "(ulong)(DAT_001e3c34 + 1)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(DAT_001e3c34 + 1)" ( (binary_expression "DAT_001e3c34 + 1" identifier + number_literal) )))) ;) })) (if_statement "if (DAT_001e3c34 == 0) {\n      uVar11 = (ulong)DAT_001e3c24;\n      DAT_001e3c24 = DAT_001e3c24 + 1;\n      DAT_001e3c34 = 1;\n      (&DAT_001e3c60)[uVar11] = (long)&DAT_001e3b20;\n      lVar13 = uVar11 + 0xe;\n      *(undefined8 *)(&DAT_001e3bc8 + lVar13 * 2) = 0;\n      *(undefined1 *)((long)&DAT_001e3bc8 + lVar13 * 8 + 1) = 4;\n      if (((&DAT_001e3bf4)[uVar9 * 8] & 4) == 0) {\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a2a,"build_modrm_byte");\n      }\n      DAT_001e3b38 = 2;\n      bVar14 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10);\n      bVar7 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x11);\n      uVar22 = (uint)bVar7;\n      if ((bVar14 & 1) != 0) {\n        uVar22 = bVar7 + 8;\n      }\n      if ((bVar14 & 4) != 0) {\n        _DAT_001e3b30 = (ulong)((uVar22 + 0x10) * 0x10);\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a2d,"build_modrm_byte");\n      }\n      _DAT_001e3b30 = (ulong)(uVar22 << 4);\n    }\n    else {\n      if ((DAT_001e3c34 != 1) || ((DAT_001e3c38._5_1_ & 1) == 0)) {\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a33,"build_modrm_byte");\n      }\n      if ((DAT_001e3bec & 0x20) == 0) {\n        DAT_001e3c38._1_1_ = DAT_001e3c38._1_1_ | 4;\n        uVar22 = 0;\n      }\n      else {\n        uVar20 = (ulong)((int)uVar20 - 1);\n        uVar9 = (ulong)((int)uVar9 - 1);\n      }\n      if (((&DAT_001e3bf4)[uVar9 * 8] & 4) == 0) {\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a45,"build_modrm_byte");\n      }\n      bVar14 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10);\n      bVar7 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x11);\n      uVar17 = (uint)bVar7;\n      if ((bVar14 & 1) != 0) {\n        uVar17 = bVar7 + 8;\n      }\n      lVar13 = (&DAT_001e3c60)[uVar22];\n      if ((bVar14 & 4) != 0) {\n        *(ulong *)(lVar13 + 0x10) = (ulong)((uVar17 + 0x10) * 0x10) | *(ulong *)(lVar13 + 0x10);\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a48,"build_modrm_byte");\n      }\n      *(ulong *)(lVar13 + 0x10) = (ulong)(uVar17 << 4) | *(ulong *)(lVar13 + 0x10);\n    }" if (parenthesized_expression "(DAT_001e3c34 == 0)" ( (binary_expression "DAT_001e3c34 == 0" identifier == number_literal) )) (compound_statement "{\n      uVar11 = (ulong)DAT_001e3c24;\n      DAT_001e3c24 = DAT_001e3c24 + 1;\n      DAT_001e3c34 = 1;\n      (&DAT_001e3c60)[uVar11] = (long)&DAT_001e3b20;\n      lVar13 = uVar11 + 0xe;\n      *(undefined8 *)(&DAT_001e3bc8 + lVar13 * 2) = 0;\n      *(undefined1 *)((long)&DAT_001e3bc8 + lVar13 * 8 + 1) = 4;\n      if (((&DAT_001e3bf4)[uVar9 * 8] & 4) == 0) {\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a2a,"build_modrm_byte");\n      }\n      DAT_001e3b38 = 2;\n      bVar14 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10);\n      bVar7 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x11);\n      uVar22 = (uint)bVar7;\n      if ((bVar14 & 1) != 0) {\n        uVar22 = bVar7 + 8;\n      }\n      if ((bVar14 & 4) != 0) {\n        _DAT_001e3b30 = (ulong)((uVar22 + 0x10) * 0x10);\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a2d,"build_modrm_byte");\n      }\n      _DAT_001e3b30 = (ulong)(uVar22 << 4);\n    }" { (expression_statement "uVar11 = (ulong)DAT_001e3c24;" (assignment_expression "uVar11 = (ulong)DAT_001e3c24" identifier = (cast_expression "(ulong)DAT_001e3c24" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "DAT_001e3c24 = DAT_001e3c24 + 1;" (assignment_expression "DAT_001e3c24 = DAT_001e3c24 + 1" identifier = (binary_expression "DAT_001e3c24 + 1" identifier + number_literal)) ;) (expression_statement "DAT_001e3c34 = 1;" (assignment_expression "DAT_001e3c34 = 1" identifier = number_literal) ;) (expression_statement "(&DAT_001e3c60)[uVar11] = (long)&DAT_001e3b20;" (assignment_expression "(&DAT_001e3c60)[uVar11] = (long)&DAT_001e3b20" (subscript_expression "(&DAT_001e3c60)[uVar11]" (parenthesized_expression "(&DAT_001e3c60)" ( (pointer_expression "&DAT_001e3c60" & identifier) )) [ identifier ]) = (cast_expression "(long)&DAT_001e3b20" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&DAT_001e3b20" & identifier))) ;) (expression_statement "lVar13 = uVar11 + 0xe;" (assignment_expression "lVar13 = uVar11 + 0xe" identifier = (binary_expression "uVar11 + 0xe" identifier + number_literal)) ;) (expression_statement "*(undefined8 *)(&DAT_001e3bc8 + lVar13 * 2) = 0;" (assignment_expression "*(undefined8 *)(&DAT_001e3bc8 + lVar13 * 2) = 0" (pointer_expression "*(undefined8 *)(&DAT_001e3bc8 + lVar13 * 2)" * (cast_expression "(undefined8 *)(&DAT_001e3bc8 + lVar13 * 2)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001e3bc8 + lVar13 * 2)" ( (binary_expression "&DAT_001e3bc8 + lVar13 * 2" (pointer_expression "&DAT_001e3bc8" & identifier) + (binary_expression "lVar13 * 2" identifier * number_literal)) )))) = number_literal) ;) (expression_statement "*(undefined1 *)((long)&DAT_001e3bc8 + lVar13 * 8 + 1) = 4;" (assignment_expression "*(undefined1 *)((long)&DAT_001e3bc8 + lVar13 * 8 + 1) = 4" (pointer_expression "*(undefined1 *)((long)&DAT_001e3bc8 + lVar13 * 8 + 1)" * (cast_expression "(undefined1 *)((long)&DAT_001e3bc8 + lVar13 * 8 + 1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&DAT_001e3bc8 + lVar13 * 8 + 1)" ( (binary_expression "(long)&DAT_001e3bc8 + lVar13 * 8 + 1" (binary_expression "(long)&DAT_001e3bc8 + lVar13 * 8" (cast_expression "(long)&DAT_001e3bc8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&DAT_001e3bc8" & identifier)) + (binary_expression "lVar13 * 8" identifier * number_literal)) + number_literal) )))) = number_literal) ;) (if_statement "if (((&DAT_001e3bf4)[uVar9 * 8] & 4) == 0) {\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a2a,"build_modrm_byte");\n      }" if (parenthesized_expression "(((&DAT_001e3bf4)[uVar9 * 8] & 4) == 0)" ( (binary_expression "((&DAT_001e3bf4)[uVar9 * 8] & 4) == 0" (parenthesized_expression "((&DAT_001e3bf4)[uVar9 * 8] & 4)" ( (binary_expression "(&DAT_001e3bf4)[uVar9 * 8] & 4" (subscript_expression "(&DAT_001e3bf4)[uVar9 * 8]" (parenthesized_expression "(&DAT_001e3bf4)" ( (pointer_expression "&DAT_001e3bf4" & identifier) )) [ (binary_expression "uVar9 * 8" identifier * number_literal) ]) & number_literal) )) == number_literal) )) (compound_statement "{\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a2a,"build_modrm_byte");\n      }" { (expression_statement "FUN_0011dd00("../../gas/config/tc-i386.c",0x1a2a,"build_modrm_byte");" (call_expression "FUN_0011dd00("../../gas/config/tc-i386.c",0x1a2a,"build_modrm_byte")" identifier (argument_list "("../../gas/config/tc-i386.c",0x1a2a,"build_modrm_byte")" ( (string_literal ""../../gas/config/tc-i386.c"" " string_content ") , number_literal , (string_literal ""build_modrm_byte"" " string_content ") ))) ;) })) (expression_statement "DAT_001e3b38 = 2;" (assignment_expression "DAT_001e3b38 = 2" identifier = number_literal) ;) (expression_statement "bVar14 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10);" (assignment_expression "bVar14 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10)" identifier = (pointer_expression "*(byte *)((&DAT_001e3c60)[uVar9] + 0x10)" * (cast_expression "(byte *)((&DAT_001e3c60)[uVar9] + 0x10)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((&DAT_001e3c60)[uVar9] + 0x10)" ( (binary_expression "(&DAT_001e3c60)[uVar9] + 0x10" (subscript_expression "(&DAT_001e3c60)[uVar9]" (parenthesized_expression "(&DAT_001e3c60)" ( (pointer_expression "&DAT_001e3c60" & identifier) )) [ identifier ]) + number_literal) ))))) ;) (expression_statement "bVar7 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x11);" (assignment_expression "bVar7 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x11)" identifier = (pointer_expression "*(byte *)((&DAT_001e3c60)[uVar9] + 0x11)" * (cast_expression "(byte *)((&DAT_001e3c60)[uVar9] + 0x11)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((&DAT_001e3c60)[uVar9] + 0x11)" ( (binary_expression "(&DAT_001e3c60)[uVar9] + 0x11" (subscript_expression "(&DAT_001e3c60)[uVar9]" (parenthesized_expression "(&DAT_001e3c60)" ( (pointer_expression "&DAT_001e3c60" & identifier) )) [ identifier ]) + number_literal) ))))) ;) (expression_statement "uVar22 = (uint)bVar7;" (assignment_expression "uVar22 = (uint)bVar7" identifier = (cast_expression "(uint)bVar7" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if ((bVar14 & 1) != 0) {\n        uVar22 = bVar7 + 8;\n      }" if (parenthesized_expression "((bVar14 & 1) != 0)" ( (binary_expression "(bVar14 & 1) != 0" (parenthesized_expression "(bVar14 & 1)" ( (binary_expression "bVar14 & 1" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n        uVar22 = bVar7 + 8;\n      }" { (expression_statement "uVar22 = bVar7 + 8;" (assignment_expression "uVar22 = bVar7 + 8" identifier = (binary_expression "bVar7 + 8" identifier + number_literal)) ;) })) (if_statement "if ((bVar14 & 4) != 0) {\n        _DAT_001e3b30 = (ulong)((uVar22 + 0x10) * 0x10);\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a2d,"build_modrm_byte");\n      }" if (parenthesized_expression "((bVar14 & 4) != 0)" ( (binary_expression "(bVar14 & 4) != 0" (parenthesized_expression "(bVar14 & 4)" ( (binary_expression "bVar14 & 4" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n        _DAT_001e3b30 = (ulong)((uVar22 + 0x10) * 0x10);\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a2d,"build_modrm_byte");\n      }" { (expression_statement "_DAT_001e3b30 = (ulong)((uVar22 + 0x10) * 0x10);" (assignment_expression "_DAT_001e3b30 = (ulong)((uVar22 + 0x10) * 0x10)" identifier = (call_expression "(ulong)((uVar22 + 0x10) * 0x10)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((uVar22 + 0x10) * 0x10)" ( (binary_expression "(uVar22 + 0x10) * 0x10" (parenthesized_expression "(uVar22 + 0x10)" ( (binary_expression "uVar22 + 0x10" identifier + number_literal) )) * number_literal) )))) ;) (expression_statement "FUN_0011dd00("../../gas/config/tc-i386.c",0x1a2d,"build_modrm_byte");" (call_expression "FUN_0011dd00("../../gas/config/tc-i386.c",0x1a2d,"build_modrm_byte")" identifier (argument_list "("../../gas/config/tc-i386.c",0x1a2d,"build_modrm_byte")" ( (string_literal ""../../gas/config/tc-i386.c"" " string_content ") , number_literal , (string_literal ""build_modrm_byte"" " string_content ") ))) ;) })) (expression_statement "_DAT_001e3b30 = (ulong)(uVar22 << 4);" (assignment_expression "_DAT_001e3b30 = (ulong)(uVar22 << 4)" identifier = (call_expression "(ulong)(uVar22 << 4)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar22 << 4)" ( (binary_expression "uVar22 << 4" identifier << number_literal) )))) ;) }) (else_clause "else {\n      if ((DAT_001e3c34 != 1) || ((DAT_001e3c38._5_1_ & 1) == 0)) {\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a33,"build_modrm_byte");\n      }\n      if ((DAT_001e3bec & 0x20) == 0) {\n        DAT_001e3c38._1_1_ = DAT_001e3c38._1_1_ | 4;\n        uVar22 = 0;\n      }\n      else {\n        uVar20 = (ulong)((int)uVar20 - 1);\n        uVar9 = (ulong)((int)uVar9 - 1);\n      }\n      if (((&DAT_001e3bf4)[uVar9 * 8] & 4) == 0) {\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a45,"build_modrm_byte");\n      }\n      bVar14 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10);\n      bVar7 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x11);\n      uVar17 = (uint)bVar7;\n      if ((bVar14 & 1) != 0) {\n        uVar17 = bVar7 + 8;\n      }\n      lVar13 = (&DAT_001e3c60)[uVar22];\n      if ((bVar14 & 4) != 0) {\n        *(ulong *)(lVar13 + 0x10) = (ulong)((uVar17 + 0x10) * 0x10) | *(ulong *)(lVar13 + 0x10);\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a48,"build_modrm_byte");\n      }\n      *(ulong *)(lVar13 + 0x10) = (ulong)(uVar17 << 4) | *(ulong *)(lVar13 + 0x10);\n    }" else (compound_statement "{\n      if ((DAT_001e3c34 != 1) || ((DAT_001e3c38._5_1_ & 1) == 0)) {\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a33,"build_modrm_byte");\n      }\n      if ((DAT_001e3bec & 0x20) == 0) {\n        DAT_001e3c38._1_1_ = DAT_001e3c38._1_1_ | 4;\n        uVar22 = 0;\n      }\n      else {\n        uVar20 = (ulong)((int)uVar20 - 1);\n        uVar9 = (ulong)((int)uVar9 - 1);\n      }\n      if (((&DAT_001e3bf4)[uVar9 * 8] & 4) == 0) {\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a45,"build_modrm_byte");\n      }\n      bVar14 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10);\n      bVar7 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x11);\n      uVar17 = (uint)bVar7;\n      if ((bVar14 & 1) != 0) {\n        uVar17 = bVar7 + 8;\n      }\n      lVar13 = (&DAT_001e3c60)[uVar22];\n      if ((bVar14 & 4) != 0) {\n        *(ulong *)(lVar13 + 0x10) = (ulong)((uVar17 + 0x10) * 0x10) | *(ulong *)(lVar13 + 0x10);\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a48,"build_modrm_byte");\n      }\n      *(ulong *)(lVar13 + 0x10) = (ulong)(uVar17 << 4) | *(ulong *)(lVar13 + 0x10);\n    }" { (if_statement "if ((DAT_001e3c34 != 1) || ((DAT_001e3c38._5_1_ & 1) == 0)) {\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a33,"build_modrm_byte");\n      }" if (parenthesized_expression "((DAT_001e3c34 != 1) || ((DAT_001e3c38._5_1_ & 1) == 0))" ( (binary_expression "(DAT_001e3c34 != 1) || ((DAT_001e3c38._5_1_ & 1) == 0)" (parenthesized_expression "(DAT_001e3c34 != 1)" ( (binary_expression "DAT_001e3c34 != 1" identifier != number_literal) )) || (parenthesized_expression "((DAT_001e3c38._5_1_ & 1) == 0)" ( (binary_expression "(DAT_001e3c38._5_1_ & 1) == 0" (parenthesized_expression "(DAT_001e3c38._5_1_ & 1)" ( (binary_expression "DAT_001e3c38._5_1_ & 1" (field_expression "DAT_001e3c38._5_1_" identifier . field_identifier) & number_literal) )) == number_literal) ))) )) (compound_statement "{\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a33,"build_modrm_byte");\n      }" { (expression_statement "FUN_0011dd00("../../gas/config/tc-i386.c",0x1a33,"build_modrm_byte");" (call_expression "FUN_0011dd00("../../gas/config/tc-i386.c",0x1a33,"build_modrm_byte")" identifier (argument_list "("../../gas/config/tc-i386.c",0x1a33,"build_modrm_byte")" ( (string_literal ""../../gas/config/tc-i386.c"" " string_content ") , number_literal , (string_literal ""build_modrm_byte"" " string_content ") ))) ;) })) (if_statement "if ((DAT_001e3bec & 0x20) == 0) {\n        DAT_001e3c38._1_1_ = DAT_001e3c38._1_1_ | 4;\n        uVar22 = 0;\n      }\n      else {\n        uVar20 = (ulong)((int)uVar20 - 1);\n        uVar9 = (ulong)((int)uVar9 - 1);\n      }" if (parenthesized_expression "((DAT_001e3bec & 0x20) == 0)" ( (binary_expression "(DAT_001e3bec & 0x20) == 0" (parenthesized_expression "(DAT_001e3bec & 0x20)" ( (binary_expression "DAT_001e3bec & 0x20" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        DAT_001e3c38._1_1_ = DAT_001e3c38._1_1_ | 4;\n        uVar22 = 0;\n      }" { (expression_statement "DAT_001e3c38._1_1_ = DAT_001e3c38._1_1_ | 4;" (assignment_expression "DAT_001e3c38._1_1_ = DAT_001e3c38._1_1_ | 4" (field_expression "DAT_001e3c38._1_1_" identifier . field_identifier) = (binary_expression "DAT_001e3c38._1_1_ | 4" (field_expression "DAT_001e3c38._1_1_" identifier . field_identifier) | number_literal)) ;) (expression_statement "uVar22 = 0;" (assignment_expression "uVar22 = 0" identifier = number_literal) ;) }) (else_clause "else {\n        uVar20 = (ulong)((int)uVar20 - 1);\n        uVar9 = (ulong)((int)uVar9 - 1);\n      }" else (compound_statement "{\n        uVar20 = (ulong)((int)uVar20 - 1);\n        uVar9 = (ulong)((int)uVar9 - 1);\n      }" { (expression_statement "uVar20 = (ulong)((int)uVar20 - 1);" (assignment_expression "uVar20 = (ulong)((int)uVar20 - 1)" identifier = (call_expression "(ulong)((int)uVar20 - 1)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((int)uVar20 - 1)" ( (binary_expression "(int)uVar20 - 1" (cast_expression "(int)uVar20" ( (type_descriptor "int" primitive_type) ) identifier) - number_literal) )))) ;) (expression_statement "uVar9 = (ulong)((int)uVar9 - 1);" (assignment_expression "uVar9 = (ulong)((int)uVar9 - 1)" identifier = (call_expression "(ulong)((int)uVar9 - 1)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((int)uVar9 - 1)" ( (binary_expression "(int)uVar9 - 1" (cast_expression "(int)uVar9" ( (type_descriptor "int" primitive_type) ) identifier) - number_literal) )))) ;) }))) (if_statement "if (((&DAT_001e3bf4)[uVar9 * 8] & 4) == 0) {\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a45,"build_modrm_byte");\n      }" if (parenthesized_expression "(((&DAT_001e3bf4)[uVar9 * 8] & 4) == 0)" ( (binary_expression "((&DAT_001e3bf4)[uVar9 * 8] & 4) == 0" (parenthesized_expression "((&DAT_001e3bf4)[uVar9 * 8] & 4)" ( (binary_expression "(&DAT_001e3bf4)[uVar9 * 8] & 4" (subscript_expression "(&DAT_001e3bf4)[uVar9 * 8]" (parenthesized_expression "(&DAT_001e3bf4)" ( (pointer_expression "&DAT_001e3bf4" & identifier) )) [ (binary_expression "uVar9 * 8" identifier * number_literal) ]) & number_literal) )) == number_literal) )) (compound_statement "{\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a45,"build_modrm_byte");\n      }" { (expression_statement "FUN_0011dd00("../../gas/config/tc-i386.c",0x1a45,"build_modrm_byte");" (call_expression "FUN_0011dd00("../../gas/config/tc-i386.c",0x1a45,"build_modrm_byte")" identifier (argument_list "("../../gas/config/tc-i386.c",0x1a45,"build_modrm_byte")" ( (string_literal ""../../gas/config/tc-i386.c"" " string_content ") , number_literal , (string_literal ""build_modrm_byte"" " string_content ") ))) ;) })) (expression_statement "bVar14 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10);" (assignment_expression "bVar14 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10)" identifier = (pointer_expression "*(byte *)((&DAT_001e3c60)[uVar9] + 0x10)" * (cast_expression "(byte *)((&DAT_001e3c60)[uVar9] + 0x10)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((&DAT_001e3c60)[uVar9] + 0x10)" ( (binary_expression "(&DAT_001e3c60)[uVar9] + 0x10" (subscript_expression "(&DAT_001e3c60)[uVar9]" (parenthesized_expression "(&DAT_001e3c60)" ( (pointer_expression "&DAT_001e3c60" & identifier) )) [ identifier ]) + number_literal) ))))) ;) (expression_statement "bVar7 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x11);" (assignment_expression "bVar7 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x11)" identifier = (pointer_expression "*(byte *)((&DAT_001e3c60)[uVar9] + 0x11)" * (cast_expression "(byte *)((&DAT_001e3c60)[uVar9] + 0x11)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((&DAT_001e3c60)[uVar9] + 0x11)" ( (binary_expression "(&DAT_001e3c60)[uVar9] + 0x11" (subscript_expression "(&DAT_001e3c60)[uVar9]" (parenthesized_expression "(&DAT_001e3c60)" ( (pointer_expression "&DAT_001e3c60" & identifier) )) [ identifier ]) + number_literal) ))))) ;) (expression_statement "uVar17 = (uint)bVar7;" (assignment_expression "uVar17 = (uint)bVar7" identifier = (cast_expression "(uint)bVar7" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if ((bVar14 & 1) != 0) {\n        uVar17 = bVar7 + 8;\n      }" if (parenthesized_expression "((bVar14 & 1) != 0)" ( (binary_expression "(bVar14 & 1) != 0" (parenthesized_expression "(bVar14 & 1)" ( (binary_expression "bVar14 & 1" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n        uVar17 = bVar7 + 8;\n      }" { (expression_statement "uVar17 = bVar7 + 8;" (assignment_expression "uVar17 = bVar7 + 8" identifier = (binary_expression "bVar7 + 8" identifier + number_literal)) ;) })) (expression_statement "lVar13 = (&DAT_001e3c60)[uVar22];" (assignment_expression "lVar13 = (&DAT_001e3c60)[uVar22]" identifier = (subscript_expression "(&DAT_001e3c60)[uVar22]" (parenthesized_expression "(&DAT_001e3c60)" ( (pointer_expression "&DAT_001e3c60" & identifier) )) [ identifier ])) ;) (if_statement "if ((bVar14 & 4) != 0) {\n        *(ulong *)(lVar13 + 0x10) = (ulong)((uVar17 + 0x10) * 0x10) | *(ulong *)(lVar13 + 0x10);\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a48,"build_modrm_byte");\n      }" if (parenthesized_expression "((bVar14 & 4) != 0)" ( (binary_expression "(bVar14 & 4) != 0" (parenthesized_expression "(bVar14 & 4)" ( (binary_expression "bVar14 & 4" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n        *(ulong *)(lVar13 + 0x10) = (ulong)((uVar17 + 0x10) * 0x10) | *(ulong *)(lVar13 + 0x10);\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a48,"build_modrm_byte");\n      }" { (expression_statement "*(ulong *)(lVar13 + 0x10) = (ulong)((uVar17 + 0x10) * 0x10) | *(ulong *)(lVar13 + 0x10);" (assignment_expression "*(ulong *)(lVar13 + 0x10) = (ulong)((uVar17 + 0x10) * 0x10) | *(ulong *)(lVar13 + 0x10)" (pointer_expression "*(ulong *)(lVar13 + 0x10)" * (cast_expression "(ulong *)(lVar13 + 0x10)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar13 + 0x10)" ( (binary_expression "lVar13 + 0x10" identifier + number_literal) )))) = (binary_expression "(ulong)((uVar17 + 0x10) * 0x10) | *(ulong *)(lVar13 + 0x10)" (call_expression "(ulong)((uVar17 + 0x10) * 0x10)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((uVar17 + 0x10) * 0x10)" ( (binary_expression "(uVar17 + 0x10) * 0x10" (parenthesized_expression "(uVar17 + 0x10)" ( (binary_expression "uVar17 + 0x10" identifier + number_literal) )) * number_literal) ))) | (pointer_expression "*(ulong *)(lVar13 + 0x10)" * (cast_expression "(ulong *)(lVar13 + 0x10)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar13 + 0x10)" ( (binary_expression "lVar13 + 0x10" identifier + number_literal) )))))) ;) (expression_statement "FUN_0011dd00("../../gas/config/tc-i386.c",0x1a48,"build_modrm_byte");" (call_expression "FUN_0011dd00("../../gas/config/tc-i386.c",0x1a48,"build_modrm_byte")" identifier (argument_list "("../../gas/config/tc-i386.c",0x1a48,"build_modrm_byte")" ( (string_literal ""../../gas/config/tc-i386.c"" " string_content ") , number_literal , (string_literal ""build_modrm_byte"" " string_content ") ))) ;) })) (expression_statement "*(ulong *)(lVar13 + 0x10) = (ulong)(uVar17 << 4) | *(ulong *)(lVar13 + 0x10);" (assignment_expression "*(ulong *)(lVar13 + 0x10) = (ulong)(uVar17 << 4) | *(ulong *)(lVar13 + 0x10)" (pointer_expression "*(ulong *)(lVar13 + 0x10)" * (cast_expression "(ulong *)(lVar13 + 0x10)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar13 + 0x10)" ( (binary_expression "lVar13 + 0x10" identifier + number_literal) )))) = (binary_expression "(ulong)(uVar17 << 4) | *(ulong *)(lVar13 + 0x10)" (call_expression "(ulong)(uVar17 << 4)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar17 << 4)" ( (binary_expression "uVar17 << 4" identifier << number_literal) ))) | (pointer_expression "*(ulong *)(lVar13 + 0x10)" * (cast_expression "(ulong *)(lVar13 + 0x10)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar13 + 0x10)" ( (binary_expression "lVar13 + 0x10" identifier + number_literal) )))))) ;) }))) (if_statement "if (((&DAT_001e3bf4)[(ulong)uVar15 * 8] & 4) == 0) {\n                    \n      FUN_0011dd00("../../gas/config/tc-i386.c",0x1a4b,"build_modrm_byte");\n    }" if (parenthesized_expression "(((&DAT_001e3bf4)[(ulong)uVar15 * 8] & 4) == 0)" ( (binary_expression "((&DAT_001e3bf4)[(ulong)uVar15 * 8] & 4) == 0" (parenthesized_expression "((&DAT_001e3bf4)[(ulong)uVar15 * 8] & 4)" ( (binary_expression "(&DAT_001e3bf4)[(ulong)uVar15 * 8] & 4" (subscript_expression "(&DAT_001e3bf4)[(ulong)uVar15 * 8]" (parenthesized_expression "(&DAT_001e3bf4)" ( (pointer_expression "&DAT_001e3bf4" & identifier) )) [ (binary_expression "(ulong)uVar15 * 8" (cast_expression "(ulong)uVar15" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal) ]) & number_literal) )) == number_literal) )) (compound_statement "{\n                    \n      FUN_0011dd00("../../gas/config/tc-i386.c",0x1a4b,"build_modrm_byte");\n    }" { (expression_statement "FUN_0011dd00("../../gas/config/tc-i386.c",0x1a4b,"build_modrm_byte");" (call_expression "FUN_0011dd00("../../gas/config/tc-i386.c",0x1a4b,"build_modrm_byte")" identifier (argument_list "("../../gas/config/tc-i386.c",0x1a4b,"build_modrm_byte")" ( (string_literal ""../../gas/config/tc-i386.c"" " string_content ") , number_literal , (string_literal ""build_modrm_byte"" " string_content ") ))) ;) })) (expression_statement "DAT_001e3d18 = (&DAT_001e3c60)[uVar15];" (assignment_expression "DAT_001e3d18 = (&DAT_001e3c60)[uVar15]" identifier = (subscript_expression "(&DAT_001e3c60)[uVar15]" (parenthesized_expression "(&DAT_001e3c60)" ( (pointer_expression "&DAT_001e3c60" & identifier) )) [ identifier ])) ;) })) (expression_statement "lVar2 = DAT_001e3cb8;" (assignment_expression "lVar2 = DAT_001e3cb8" identifier = identifier) ;) (expression_statement "lVar13 = DAT_001e3cb0;" (assignment_expression "lVar13 = DAT_001e3cb0" identifier = identifier) ;) (expression_statement "uVar9 = (ulong)DAT_001e3c30;" (assignment_expression "uVar9 = (ulong)DAT_001e3c30" identifier = (cast_expression "(ulong)DAT_001e3c30" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "bVar14 = bVar19;" (assignment_expression "bVar14 = bVar19" identifier = identifier) ;) (if_statement "if (DAT_001e3c30 == 0) {\n    if (DAT_001e3c28 == 2) {\n      if ((DAT_001e3bed >> 3 & 3) < 2) {\nLAB_0013335b:\n        if (DAT_001e3c24 == 3) {\nLAB_00133ea8:\n          if ((DAT_001e3c34 != 1) &&\n             ((DAT_001e3c34 != 0 ||\n              (((DAT_001e3bed & 0x18) != 8 && ((DAT_001e3c38._3_1_ & 1) == 0)))))) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1a6b,"build_modrm_byte");\n          }\n          uVar9 = (ulong)((DAT_001e3c38._1_1_ & 0xfc) != 0 || (DAT_001e3c38._3_1_ & 1) != 0);\n          uVar22 = 3;\n        }\n        else if (DAT_001e3c24 < 4) {\n          uVar22 = DAT_001e3c24;\n          if (DAT_001e3c24 != 2) goto LAB_00133dcf;\n        }\n        else {\n          if (DAT_001e3c24 != 4) goto joined_r0x00133753;\nLAB_00133379:\n          uVar9 = (ulong)DAT_001e3c34;\n          if (DAT_001e3c34 == 2) {\n            if (((DAT_001e3c38._1_1_ & 4) == 0) || ((DAT_001e3c40._1_1_ & 4) == 0))\n            goto LAB_00133d61;\n          }\n          else {\n            if ((((DAT_001e3bed & 0x18) != 8) || (DAT_001e3c34 != 1)) ||\n               ((((DAT_001e3c38._1_1_ & 4) == 0 && ((DAT_001e3c50._1_1_ & 4) == 0)) &&\n                (DAT_001e3d28 == 0)))) {\nLAB_00133d61:\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1a81,"build_modrm_byte");\n            }\n            uVar9 = (ulong)((DAT_001e3c38._1_1_ & 4) != 0);\n          }\n          uVar22 = 4;\n        }\nLAB_001337c1:\n        if (bVar19 != 8) {\n          uVar15 = (int)uVar9 + 1;\n          uVar18 = (ulong)uVar15;\n          if ((DAT_001e3d28 != 0) && (*(uint *)(DAT_001e3d28 + 4) == uVar15)) {\n            uVar18 = (ulong)((int)uVar9 + 2);\n          }\n          if ((DAT_001e3bed & 0x18) == 8) {\n            uVar20 = uVar9;\n            uVar11 = uVar18;\n            if ((((&DAT_001e3bf6)[uVar9 * 8] & 0x40) == 0) &&\n               (((&DAT_001e3bf6)[uVar18 * 8] & 0x40) != 0)) {\n              uVar20 = uVar18;\n              uVar11 = uVar9;\n            }\n            uVar15 = (int)uVar18 + 1;\n            uVar18 = (ulong)uVar15;\n            uVar9 = *(ulong *)((long)&DAT_001e3bc0 + (uVar11 + 6) * 8 + 4);\n            if ((uVar22 <= uVar15) ||\n               ((((uVar9 & 1) == 0 ||\n                 ((-1 < (char)((uVar9 & 0xfffffffff7ffffff) >> 0x18) &&\n                  (((&DAT_001e3bc8)[(uVar11 + 6) * 2] & 2) == 0)))) &&\n                (((uVar9 & 4) == 0 &&\n                 ((DAT_00153a50 != (int)(uVar9 & 0xfffffffff7ffffff) ||\n                  (DAT_00153a54 != (&DAT_001e3bc8)[(uVar11 + 6) * 2])))))))) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1ac9,"build_modrm_byte");\n            }\n            DAT_001e3d18 = (&DAT_001e3c60)[uVar11];\n            uVar9 = uVar20;\n          }\n        }\nLAB_001337ff:\n        DAT_001e3cf4 = 3;\n        if (((*(byte *)((long)&DAT_001e3bc0 + (uVar18 + 6) * 8 + 7) & 8) == 0) &&\n           ((*(ulong *)((long)&DAT_001e3bc0 + (uVar18 + 6) * 8 + 4) & 0x5f0000) == 0)) {\n          DAT_001e3cf0 = (uint)*(byte *)((&DAT_001e3c60)[uVar18] + 0x11);\n          DAT_001e3cec = (uint)*(byte *)((&DAT_001e3c60)[uVar9] + 0x11);\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar18] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 4;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 4;\n          }\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 1;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 1;\n          }\n        }\n        else {\n          DAT_001e3cf0 = (uint)*(byte *)((&DAT_001e3c60)[uVar9] + 0x11);\n          DAT_001e3cec = (uint)*(byte *)((&DAT_001e3c60)[uVar18] + 0x11);\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar18] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 1;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 1;\n          }\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 4;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 4;\n          }\n        }\n        if ((DAT_001e3b14 != 2) && ((DAT_001e3cf8 & 4) != 0)) {\n          if ((*(byte *)(&DAT_001e3bc8 + ((ulong)(DAT_001e3bf7 >> 3 & 1) + 0xe) * 2) & 0x10) == 0) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1af4,"build_modrm_byte");\n          }\n          DAT_001e3cf8 = DAT_001e3cf8 & 0xfffffffb;\n          FUN_00131f90(0xf0);\n          return (undefined1 *)0x0;\n        }\n        DAT_001e3cf4 = 3;\n        return (undefined1 *)0x0;\n      }\n    }\n    else if (DAT_001e3c28 == 3) {\n      if ((DAT_001e3bed & 0x18) == 8) goto LAB_0013335b;\n    }\n    else if ((DAT_001e3c28 == 4) && (bVar19 == 8)) {\n      if (DAT_001e3c24 == 3) goto LAB_00133ea8;\n      if (DAT_001e3c24 < 4) {\n        if (DAT_001e3c24 != 2) goto LAB_00133dcf;\n        goto LAB_001337ff;\n      }\n      if (DAT_001e3c24 == 4) goto LAB_00133379;\njoined_r0x00133753:\n      if (DAT_001e3c24 != 5) {\nLAB_00133dcf:\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1aa0,"build_modrm_byte");\n      }\n      if (DAT_001e3bef == '\0') {\n        uVar9 = uVar20;\n        uVar22 = 5;\n      }\n      else {\n        if (((DAT_001e3c34 != 2) || (-1 < DAT_001e3bef)) || ((DAT_001e3c38._1_1_ & 0xfc) == 0)) {\n                    \n          FUN_0011dd00("../../gas/config/tc-i386.c",0x1a96,"build_modrm_byte");\n        }\n        if ((DAT_001e3c40._1_1_ & 0xfc) == 0) {\n          if ((DAT_001e3c58._1_1_ & 0xfc) == 0) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1a9c,"build_modrm_byte");\n          }\n          uVar9 = 1;\n          uVar22 = 5;\n        }\n        else {\n          uVar9 = (ulong)DAT_001e3c34;\n          uVar22 = 5;\n        }\n      }\n      goto LAB_001337c1;\n    }\n    uVar22 = 0xffffffff;\n    puVar10 = (undefined1 *)0x0;\n  }\n  else {\n    if (DAT_001e3c24 == 0) {\nLAB_0013303b:\n                    \n      FUN_0011dd00("../../gas/config/tc-i386.c",0x1b05,"build_modrm_byte");\n    }\n    if ((DAT_001e3c38._2_1_ & 0x5f) == 0) {\n      uVar9 = 1;\n      do {\n        uVar20 = uVar9 & 0xffffffff;\n        if (DAT_001e3c24 <= (uint)uVar9) goto LAB_0013303b;\n        puVar3 = &DAT_001e3c38 + uVar9;\n        uVar9 = uVar9 + 1;\n      } while ((*puVar3 & 0x5f0000) == 0);\n    }\n    else {\n      uVar20 = 0;\n    }\n    bVar21 = bVar21 & 0x30;\n    uVar22 = (uint)uVar20;\n    if (bVar21 == 0) {\nLAB_0013313d:\n      if (lVar13 != 0) goto LAB_00133146;\nLAB_00133448:\n      lVar13 = DAT_001e3cb8;\n      DAT_001e3cf4 = 0;\n      if (DAT_001e3c2c == 0) {\n        if (DAT_001e3cb8 == 0) {\n          iVar16 = 1;\n          goto LAB_00133cae;\n        }\n        if (bVar21 == 0) {\n          iVar16 = 1;\n          goto LAB_00133af0;\n        }\n        goto LAB_00133a60;\n      }\n      if (DAT_001e3cb8 != 0) {\n        if (bVar21 == 0) {\n          iVar16 = 0;\nLAB_00133af0:\n          uVar15 = (uint)*(byte *)(DAT_001e3cb8 + 0x11);\n          DAT_001e3cec = 4;\n          if ((byte)(*(byte *)(DAT_001e3cb8 + 0x11) + 4) < 2) {\n            uVar15 = 4;\n          }\n          _DAT_001e3d00 = CONCAT44(uVar15,5);\n          DAT_001e3d08 = DAT_001e3cc0;\n          lVar2 = uVar20 * 8;\n          bVar21 = *(byte *)((long)&DAT_001e3c38 + lVar2 + 2);\n          bVar24 = DAT_001e3b14 == 2;\n          *(byte *)((long)&DAT_001e3c38 + lVar2 + 2) = bVar21 & 0xec;\n          if ((bVar24) && (DAT_001e3ce6 == '\0')) {\n            *(byte *)((long)&DAT_001e3c38 + lVar2 + 2) = bVar21 & 0xe0 | 8;\n          }\n          else {\n            *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) =\n                 *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xf3 | 4;\n          }\n          puVar10 = ds;\n          if ((*(byte *)(lVar13 + 0x10) & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 2;\n          }\n          goto LAB_00133b80;\n        }\n        goto LAB_00133424;\n      }\n      iVar16 = 0;\nLAB_00133cae:\n      if (bVar21 != 0) {\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1b33,"build_modrm_byte");\n      }\n      if (DAT_001e3b14 == 2) {\n        DAT_001e3cec = 4;\n        uVar17 = (uint)(DAT_001e3ce6 == '\0');\n        uVar15 = (uint)(DAT_001e3ce6 != '\0');\n        _DAT_001e3d00 = 0x400000005;\n        iVar8 = 0;\n      }\n      else if ((DAT_001e3b14 == 1) == (DAT_001e3ce6 != '\0')) {\n        DAT_001e3cec = 5;\n        uVar17 = 0;\n        uVar15 = 1;\n        iVar8 = 0;\n      }\n      else {\n        DAT_001e3cec = 6;\n        uVar17 = 0;\n        uVar15 = 0;\n        iVar8 = 1;\n      }\n      uVar23 = ~DAT_00153a64;\n      *(uint *)(&DAT_001e3c38 + uVar20) =\n           iVar8 << 0x11 | uVar15 << 0x12 | uVar17 << 0x13 |\n           ~DAT_00153a60 & *(uint *)(&DAT_001e3c38 + uVar20);\n      puVar10 = ds;\n      puVar1 = (uint *)((long)&DAT_001e3c38 + uVar20 * 8 + 4);\n      *puVar1 = *puVar1 & uVar23;\nLAB_00133b80:\n      if (iVar16 != 0) goto LAB_00133a67;\n    }\n    else {\n      cVar6 = *(char *)(DAT_001e3cb8 + 0x11);\n      if ((byte)(cVar6 + 4U) < 2) {\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1b0b,"build_modrm_byte");\n      }\n      DAT_001e3cec = 4;\n      if (DAT_001e3cb0 == 0) {\n        _DAT_001e3d00 = 5;\n        DAT_001e3d08 = DAT_001e3cc0;\n        lVar4 = uVar20 * 8;\n        bVar7 = *(byte *)((long)&DAT_001e3c38 + lVar4 + 2);\n        bVar24 = DAT_001e3b14 == 2;\n        *(byte *)((long)&DAT_001e3c38 + lVar4 + 2) = bVar7 & 0xec;\n        if ((bVar24) && (DAT_001e3ce6 == '\0')) {\n          *(byte *)((long)&DAT_001e3c38 + lVar4 + 2) = bVar7 & 0xe0 | 8;\n        }\n        else {\n          *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) =\n               *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xf3 | 4;\n        }\n      }\n      _DAT_001e3d00 = (ulong)CONCAT14(cVar6,_DAT_001e3d00);\n      if ((*(byte *)(lVar2 + 0x10) & 1) != 0) {\n        DAT_001e3cf8 = DAT_001e3cf8 | 2;\n      }\n      if ((*(byte *)(lVar2 + 0x10) & 4) == 0) goto LAB_0013313d;\n      DAT_001e3cfc = DAT_001e3cfc | 2;\n      if (lVar13 == 0) goto LAB_00133448;\nLAB_00133146:\n      bVar7 = *(byte *)(lVar13 + 0x11);\n      if (bVar7 < 0xfe) {\n        if ((*(byte *)(lVar13 + 0xb) & 0x40) == 0) {\n          if ((DAT_001e3b14 == 2) &&\n             ((*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f) != 0)) {\n            lVar2 = (uVar20 + 0xe) * 8;\n            bVar14 = *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2);\n            bVar12 = bVar14 & 0xe1;\n            *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar14 & 0xed;\n            if (DAT_001e3ce6 == '\0') {\n              *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar12 | 8;\n            }\n            else {\n              *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar12 | 4;\n            }\n          }\n          if (bVar21 == 0) {\n            DAT_001e3cec = (uint)bVar7;\n          }\n          if ((*(byte *)(lVar13 + 0x10) & 1) == 0) {\n            puVar10 = ss;\n            if (1 < (byte)(bVar7 - 4)) {\n              puVar10 = ds;\n            }\n          }\n          else {\n            DAT_001e3cf8 = DAT_001e3cf8 | 1;\n            puVar10 = ds;\n          }\n          _DAT_001e3d00 = CONCAT44(DAT_001e3d04,(uint)bVar7);\n          iVar16 = 0;\n          if ((bVar7 == 5) && (iVar16 = 0, DAT_001e3c2c == 0)) {\n            iVar16 = 1;\n            pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n            *pbVar5 = *pbVar5 | 1;\n          }\n          iVar8 = DAT_001e3d40;\n          DAT_001e3d08 = DAT_001e3cc0;\n          if (DAT_001e3cb8 == 0) {\n            if (bVar21 != 0) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1bbf,"build_modrm_byte");\n            }\n            _DAT_001e3d00 = CONCAT44(4,_DAT_001e3d00);\n          }\n          else if (bVar21 == 0) {\n            DAT_001e3cec = 4;\n            uVar15 = (uint)*(byte *)(DAT_001e3cb8 + 0x11);\n            if ((byte)(*(byte *)(DAT_001e3cb8 + 0x11) + 4) < 2) {\n              uVar15 = 4;\n            }\n            _DAT_001e3d00 = CONCAT44(uVar15,_DAT_001e3d00);\n            if ((*(byte *)(DAT_001e3cb8 + 0x10) & 1) != 0) {\n              DAT_001e3cf8 = DAT_001e3cf8 | 2;\n            }\n          }\n          if (DAT_001e3c2c == 0) {\n            if ((iVar16 == 0) && (iVar16 = iVar8, DAT_001e3d40 != 0)) {\n              if (DAT_001e3d40 == 1) {\n                pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n                *pbVar5 = *pbVar5 | 1;\n              }\n              else {\n                pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n                *pbVar5 = *pbVar5 | 4;\n                iVar16 = 1;\n              }\n            }\n          }\n          else if (((&DAT_001e3c9c)[uVar20] == 0x179) || ((&DAT_001e3c9c)[uVar20] == 0x195)) {\n            DAT_001e3cf4 = 0;\n            goto LAB_00133b80;\n          }\n        }\n        else {\n          if (bVar21 != 0) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1b7c,"build_modrm_byte");\n          }\n          if (bVar7 == 3) {\n            if (DAT_001e3cb8 != 0) {\n              DAT_001e3cec = *(byte *)(DAT_001e3cb8 + 0x11) - 6;\n              goto LAB_0013317e;\n            }\n            DAT_001e3cec = 7;\n            puVar10 = ds;\n            iVar16 = 0;\n          }\n          else if (bVar7 == 5) {\n            if (DAT_001e3cb8 == 0) {\n              puVar10 = ss;\n              DAT_001e3cec = 6;\n              iVar16 = 0;\n              if ((*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f) == 0) {\n                pbVar5 = (byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2);\n                *pbVar5 = *pbVar5 | 1;\n                iVar16 = 1;\n              }\n            }\n            else {\n              DAT_001e3cec = *(byte *)(DAT_001e3cb8 + 0x11) - 4;\n              puVar10 = ss;\n              iVar16 = 0;\n            }\n          }\n          else {\n            DAT_001e3cec = bVar7 - 2;\nLAB_0013317e:\n            iVar16 = 0;\n            puVar10 = ds;\n          }\n        }\n        DAT_001e3cf4 = 1;\n        if (((ulong)(&DAT_001e3c38)[uVar20] >> 0x10 & 1) == 0) {\n          DAT_001e3cf4 = (uint)(((&DAT_001e3c38)[uVar20] & 0xe0000) != 0) * 2;\n        }\n        goto LAB_00133b80;\n      }\n      if (bVar21 != 0) {\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1b6f,"build_modrm_byte");\n      }\n      DAT_001e3cec = 5;\n      *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) =\n           *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xe0 | 8;\n      uVar15 = DAT_001e3c2c;\n      (&DAT_001e3c88)[uVar20] = (&DAT_001e3c88)[uVar20] | 1;\n      if (uVar15 != 0) {\nLAB_00133424:\n        puVar10 = ds;\n        goto LAB_00133089;\n      }\nLAB_00133a60:\n      puVar10 = ds;\nLAB_00133a67:\n      if ((&DAT_001e3bc0)[uVar20 + 0x14] != 0) {\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1bed,"build_modrm_byte");\n      }\n      uVar9 = (ulong)DAT_001e3c2c;\n      DAT_001e3c2c = DAT_001e3c2c + 1;\n      lVar13 = uVar9 * 0x20;\n      (&DAT_001e3bc0)[uVar20 + 0x14] = &DAT_001e3b60 + lVar13;\n      (&DAT_001e3b78)[lVar13] = 2;\n      *(undefined8 *)(&DAT_001e3b70 + lVar13) = 0;\n      *(undefined8 *)(&DAT_001e3b60 + lVar13) = 0;\n      *(undefined8 *)(&DAT_001e3b68 + lVar13) = 0;\n    }\n    bVar14 = DAT_001e3bee & 0xc;\n  }" if (parenthesized_expression "(DAT_001e3c30 == 0)" ( (binary_expression "DAT_001e3c30 == 0" identifier == number_literal) )) (compound_statement "{\n    if (DAT_001e3c28 == 2) {\n      if ((DAT_001e3bed >> 3 & 3) < 2) {\nLAB_0013335b:\n        if (DAT_001e3c24 == 3) {\nLAB_00133ea8:\n          if ((DAT_001e3c34 != 1) &&\n             ((DAT_001e3c34 != 0 ||\n              (((DAT_001e3bed & 0x18) != 8 && ((DAT_001e3c38._3_1_ & 1) == 0)))))) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1a6b,"build_modrm_byte");\n          }\n          uVar9 = (ulong)((DAT_001e3c38._1_1_ & 0xfc) != 0 || (DAT_001e3c38._3_1_ & 1) != 0);\n          uVar22 = 3;\n        }\n        else if (DAT_001e3c24 < 4) {\n          uVar22 = DAT_001e3c24;\n          if (DAT_001e3c24 != 2) goto LAB_00133dcf;\n        }\n        else {\n          if (DAT_001e3c24 != 4) goto joined_r0x00133753;\nLAB_00133379:\n          uVar9 = (ulong)DAT_001e3c34;\n          if (DAT_001e3c34 == 2) {\n            if (((DAT_001e3c38._1_1_ & 4) == 0) || ((DAT_001e3c40._1_1_ & 4) == 0))\n            goto LAB_00133d61;\n          }\n          else {\n            if ((((DAT_001e3bed & 0x18) != 8) || (DAT_001e3c34 != 1)) ||\n               ((((DAT_001e3c38._1_1_ & 4) == 0 && ((DAT_001e3c50._1_1_ & 4) == 0)) &&\n                (DAT_001e3d28 == 0)))) {\nLAB_00133d61:\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1a81,"build_modrm_byte");\n            }\n            uVar9 = (ulong)((DAT_001e3c38._1_1_ & 4) != 0);\n          }\n          uVar22 = 4;\n        }\nLAB_001337c1:\n        if (bVar19 != 8) {\n          uVar15 = (int)uVar9 + 1;\n          uVar18 = (ulong)uVar15;\n          if ((DAT_001e3d28 != 0) && (*(uint *)(DAT_001e3d28 + 4) == uVar15)) {\n            uVar18 = (ulong)((int)uVar9 + 2);\n          }\n          if ((DAT_001e3bed & 0x18) == 8) {\n            uVar20 = uVar9;\n            uVar11 = uVar18;\n            if ((((&DAT_001e3bf6)[uVar9 * 8] & 0x40) == 0) &&\n               (((&DAT_001e3bf6)[uVar18 * 8] & 0x40) != 0)) {\n              uVar20 = uVar18;\n              uVar11 = uVar9;\n            }\n            uVar15 = (int)uVar18 + 1;\n            uVar18 = (ulong)uVar15;\n            uVar9 = *(ulong *)((long)&DAT_001e3bc0 + (uVar11 + 6) * 8 + 4);\n            if ((uVar22 <= uVar15) ||\n               ((((uVar9 & 1) == 0 ||\n                 ((-1 < (char)((uVar9 & 0xfffffffff7ffffff) >> 0x18) &&\n                  (((&DAT_001e3bc8)[(uVar11 + 6) * 2] & 2) == 0)))) &&\n                (((uVar9 & 4) == 0 &&\n                 ((DAT_00153a50 != (int)(uVar9 & 0xfffffffff7ffffff) ||\n                  (DAT_00153a54 != (&DAT_001e3bc8)[(uVar11 + 6) * 2])))))))) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1ac9,"build_modrm_byte");\n            }\n            DAT_001e3d18 = (&DAT_001e3c60)[uVar11];\n            uVar9 = uVar20;\n          }\n        }\nLAB_001337ff:\n        DAT_001e3cf4 = 3;\n        if (((*(byte *)((long)&DAT_001e3bc0 + (uVar18 + 6) * 8 + 7) & 8) == 0) &&\n           ((*(ulong *)((long)&DAT_001e3bc0 + (uVar18 + 6) * 8 + 4) & 0x5f0000) == 0)) {\n          DAT_001e3cf0 = (uint)*(byte *)((&DAT_001e3c60)[uVar18] + 0x11);\n          DAT_001e3cec = (uint)*(byte *)((&DAT_001e3c60)[uVar9] + 0x11);\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar18] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 4;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 4;\n          }\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 1;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 1;\n          }\n        }\n        else {\n          DAT_001e3cf0 = (uint)*(byte *)((&DAT_001e3c60)[uVar9] + 0x11);\n          DAT_001e3cec = (uint)*(byte *)((&DAT_001e3c60)[uVar18] + 0x11);\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar18] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 1;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 1;\n          }\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 4;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 4;\n          }\n        }\n        if ((DAT_001e3b14 != 2) && ((DAT_001e3cf8 & 4) != 0)) {\n          if ((*(byte *)(&DAT_001e3bc8 + ((ulong)(DAT_001e3bf7 >> 3 & 1) + 0xe) * 2) & 0x10) == 0) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1af4,"build_modrm_byte");\n          }\n          DAT_001e3cf8 = DAT_001e3cf8 & 0xfffffffb;\n          FUN_00131f90(0xf0);\n          return (undefined1 *)0x0;\n        }\n        DAT_001e3cf4 = 3;\n        return (undefined1 *)0x0;\n      }\n    }\n    else if (DAT_001e3c28 == 3) {\n      if ((DAT_001e3bed & 0x18) == 8) goto LAB_0013335b;\n    }\n    else if ((DAT_001e3c28 == 4) && (bVar19 == 8)) {\n      if (DAT_001e3c24 == 3) goto LAB_00133ea8;\n      if (DAT_001e3c24 < 4) {\n        if (DAT_001e3c24 != 2) goto LAB_00133dcf;\n        goto LAB_001337ff;\n      }\n      if (DAT_001e3c24 == 4) goto LAB_00133379;\njoined_r0x00133753:\n      if (DAT_001e3c24 != 5) {\nLAB_00133dcf:\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1aa0,"build_modrm_byte");\n      }\n      if (DAT_001e3bef == '\0') {\n        uVar9 = uVar20;\n        uVar22 = 5;\n      }\n      else {\n        if (((DAT_001e3c34 != 2) || (-1 < DAT_001e3bef)) || ((DAT_001e3c38._1_1_ & 0xfc) == 0)) {\n                    \n          FUN_0011dd00("../../gas/config/tc-i386.c",0x1a96,"build_modrm_byte");\n        }\n        if ((DAT_001e3c40._1_1_ & 0xfc) == 0) {\n          if ((DAT_001e3c58._1_1_ & 0xfc) == 0) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1a9c,"build_modrm_byte");\n          }\n          uVar9 = 1;\n          uVar22 = 5;\n        }\n        else {\n          uVar9 = (ulong)DAT_001e3c34;\n          uVar22 = 5;\n        }\n      }\n      goto LAB_001337c1;\n    }\n    uVar22 = 0xffffffff;\n    puVar10 = (undefined1 *)0x0;\n  }" { (if_statement "if (DAT_001e3c28 == 2) {\n      if ((DAT_001e3bed >> 3 & 3) < 2) {\nLAB_0013335b:\n        if (DAT_001e3c24 == 3) {\nLAB_00133ea8:\n          if ((DAT_001e3c34 != 1) &&\n             ((DAT_001e3c34 != 0 ||\n              (((DAT_001e3bed & 0x18) != 8 && ((DAT_001e3c38._3_1_ & 1) == 0)))))) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1a6b,"build_modrm_byte");\n          }\n          uVar9 = (ulong)((DAT_001e3c38._1_1_ & 0xfc) != 0 || (DAT_001e3c38._3_1_ & 1) != 0);\n          uVar22 = 3;\n        }\n        else if (DAT_001e3c24 < 4) {\n          uVar22 = DAT_001e3c24;\n          if (DAT_001e3c24 != 2) goto LAB_00133dcf;\n        }\n        else {\n          if (DAT_001e3c24 != 4) goto joined_r0x00133753;\nLAB_00133379:\n          uVar9 = (ulong)DAT_001e3c34;\n          if (DAT_001e3c34 == 2) {\n            if (((DAT_001e3c38._1_1_ & 4) == 0) || ((DAT_001e3c40._1_1_ & 4) == 0))\n            goto LAB_00133d61;\n          }\n          else {\n            if ((((DAT_001e3bed & 0x18) != 8) || (DAT_001e3c34 != 1)) ||\n               ((((DAT_001e3c38._1_1_ & 4) == 0 && ((DAT_001e3c50._1_1_ & 4) == 0)) &&\n                (DAT_001e3d28 == 0)))) {\nLAB_00133d61:\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1a81,"build_modrm_byte");\n            }\n            uVar9 = (ulong)((DAT_001e3c38._1_1_ & 4) != 0);\n          }\n          uVar22 = 4;\n        }\nLAB_001337c1:\n        if (bVar19 != 8) {\n          uVar15 = (int)uVar9 + 1;\n          uVar18 = (ulong)uVar15;\n          if ((DAT_001e3d28 != 0) && (*(uint *)(DAT_001e3d28 + 4) == uVar15)) {\n            uVar18 = (ulong)((int)uVar9 + 2);\n          }\n          if ((DAT_001e3bed & 0x18) == 8) {\n            uVar20 = uVar9;\n            uVar11 = uVar18;\n            if ((((&DAT_001e3bf6)[uVar9 * 8] & 0x40) == 0) &&\n               (((&DAT_001e3bf6)[uVar18 * 8] & 0x40) != 0)) {\n              uVar20 = uVar18;\n              uVar11 = uVar9;\n            }\n            uVar15 = (int)uVar18 + 1;\n            uVar18 = (ulong)uVar15;\n            uVar9 = *(ulong *)((long)&DAT_001e3bc0 + (uVar11 + 6) * 8 + 4);\n            if ((uVar22 <= uVar15) ||\n               ((((uVar9 & 1) == 0 ||\n                 ((-1 < (char)((uVar9 & 0xfffffffff7ffffff) >> 0x18) &&\n                  (((&DAT_001e3bc8)[(uVar11 + 6) * 2] & 2) == 0)))) &&\n                (((uVar9 & 4) == 0 &&\n                 ((DAT_00153a50 != (int)(uVar9 & 0xfffffffff7ffffff) ||\n                  (DAT_00153a54 != (&DAT_001e3bc8)[(uVar11 + 6) * 2])))))))) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1ac9,"build_modrm_byte");\n            }\n            DAT_001e3d18 = (&DAT_001e3c60)[uVar11];\n            uVar9 = uVar20;\n          }\n        }\nLAB_001337ff:\n        DAT_001e3cf4 = 3;\n        if (((*(byte *)((long)&DAT_001e3bc0 + (uVar18 + 6) * 8 + 7) & 8) == 0) &&\n           ((*(ulong *)((long)&DAT_001e3bc0 + (uVar18 + 6) * 8 + 4) & 0x5f0000) == 0)) {\n          DAT_001e3cf0 = (uint)*(byte *)((&DAT_001e3c60)[uVar18] + 0x11);\n          DAT_001e3cec = (uint)*(byte *)((&DAT_001e3c60)[uVar9] + 0x11);\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar18] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 4;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 4;\n          }\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 1;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 1;\n          }\n        }\n        else {\n          DAT_001e3cf0 = (uint)*(byte *)((&DAT_001e3c60)[uVar9] + 0x11);\n          DAT_001e3cec = (uint)*(byte *)((&DAT_001e3c60)[uVar18] + 0x11);\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar18] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 1;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 1;\n          }\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 4;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 4;\n          }\n        }\n        if ((DAT_001e3b14 != 2) && ((DAT_001e3cf8 & 4) != 0)) {\n          if ((*(byte *)(&DAT_001e3bc8 + ((ulong)(DAT_001e3bf7 >> 3 & 1) + 0xe) * 2) & 0x10) == 0) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1af4,"build_modrm_byte");\n          }\n          DAT_001e3cf8 = DAT_001e3cf8 & 0xfffffffb;\n          FUN_00131f90(0xf0);\n          return (undefined1 *)0x0;\n        }\n        DAT_001e3cf4 = 3;\n        return (undefined1 *)0x0;\n      }\n    }\n    else if (DAT_001e3c28 == 3) {\n      if ((DAT_001e3bed & 0x18) == 8) goto LAB_0013335b;\n    }\n    else if ((DAT_001e3c28 == 4) && (bVar19 == 8)) {\n      if (DAT_001e3c24 == 3) goto LAB_00133ea8;\n      if (DAT_001e3c24 < 4) {\n        if (DAT_001e3c24 != 2) goto LAB_00133dcf;\n        goto LAB_001337ff;\n      }\n      if (DAT_001e3c24 == 4) goto LAB_00133379;\njoined_r0x00133753:\n      if (DAT_001e3c24 != 5) {\nLAB_00133dcf:\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1aa0,"build_modrm_byte");\n      }\n      if (DAT_001e3bef == '\0') {\n        uVar9 = uVar20;\n        uVar22 = 5;\n      }\n      else {\n        if (((DAT_001e3c34 != 2) || (-1 < DAT_001e3bef)) || ((DAT_001e3c38._1_1_ & 0xfc) == 0)) {\n                    \n          FUN_0011dd00("../../gas/config/tc-i386.c",0x1a96,"build_modrm_byte");\n        }\n        if ((DAT_001e3c40._1_1_ & 0xfc) == 0) {\n          if ((DAT_001e3c58._1_1_ & 0xfc) == 0) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1a9c,"build_modrm_byte");\n          }\n          uVar9 = 1;\n          uVar22 = 5;\n        }\n        else {\n          uVar9 = (ulong)DAT_001e3c34;\n          uVar22 = 5;\n        }\n      }\n      goto LAB_001337c1;\n    }" if (parenthesized_expression "(DAT_001e3c28 == 2)" ( (binary_expression "DAT_001e3c28 == 2" identifier == number_literal) )) (compound_statement "{\n      if ((DAT_001e3bed >> 3 & 3) < 2) {\nLAB_0013335b:\n        if (DAT_001e3c24 == 3) {\nLAB_00133ea8:\n          if ((DAT_001e3c34 != 1) &&\n             ((DAT_001e3c34 != 0 ||\n              (((DAT_001e3bed & 0x18) != 8 && ((DAT_001e3c38._3_1_ & 1) == 0)))))) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1a6b,"build_modrm_byte");\n          }\n          uVar9 = (ulong)((DAT_001e3c38._1_1_ & 0xfc) != 0 || (DAT_001e3c38._3_1_ & 1) != 0);\n          uVar22 = 3;\n        }\n        else if (DAT_001e3c24 < 4) {\n          uVar22 = DAT_001e3c24;\n          if (DAT_001e3c24 != 2) goto LAB_00133dcf;\n        }\n        else {\n          if (DAT_001e3c24 != 4) goto joined_r0x00133753;\nLAB_00133379:\n          uVar9 = (ulong)DAT_001e3c34;\n          if (DAT_001e3c34 == 2) {\n            if (((DAT_001e3c38._1_1_ & 4) == 0) || ((DAT_001e3c40._1_1_ & 4) == 0))\n            goto LAB_00133d61;\n          }\n          else {\n            if ((((DAT_001e3bed & 0x18) != 8) || (DAT_001e3c34 != 1)) ||\n               ((((DAT_001e3c38._1_1_ & 4) == 0 && ((DAT_001e3c50._1_1_ & 4) == 0)) &&\n                (DAT_001e3d28 == 0)))) {\nLAB_00133d61:\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1a81,"build_modrm_byte");\n            }\n            uVar9 = (ulong)((DAT_001e3c38._1_1_ & 4) != 0);\n          }\n          uVar22 = 4;\n        }\nLAB_001337c1:\n        if (bVar19 != 8) {\n          uVar15 = (int)uVar9 + 1;\n          uVar18 = (ulong)uVar15;\n          if ((DAT_001e3d28 != 0) && (*(uint *)(DAT_001e3d28 + 4) == uVar15)) {\n            uVar18 = (ulong)((int)uVar9 + 2);\n          }\n          if ((DAT_001e3bed & 0x18) == 8) {\n            uVar20 = uVar9;\n            uVar11 = uVar18;\n            if ((((&DAT_001e3bf6)[uVar9 * 8] & 0x40) == 0) &&\n               (((&DAT_001e3bf6)[uVar18 * 8] & 0x40) != 0)) {\n              uVar20 = uVar18;\n              uVar11 = uVar9;\n            }\n            uVar15 = (int)uVar18 + 1;\n            uVar18 = (ulong)uVar15;\n            uVar9 = *(ulong *)((long)&DAT_001e3bc0 + (uVar11 + 6) * 8 + 4);\n            if ((uVar22 <= uVar15) ||\n               ((((uVar9 & 1) == 0 ||\n                 ((-1 < (char)((uVar9 & 0xfffffffff7ffffff) >> 0x18) &&\n                  (((&DAT_001e3bc8)[(uVar11 + 6) * 2] & 2) == 0)))) &&\n                (((uVar9 & 4) == 0 &&\n                 ((DAT_00153a50 != (int)(uVar9 & 0xfffffffff7ffffff) ||\n                  (DAT_00153a54 != (&DAT_001e3bc8)[(uVar11 + 6) * 2])))))))) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1ac9,"build_modrm_byte");\n            }\n            DAT_001e3d18 = (&DAT_001e3c60)[uVar11];\n            uVar9 = uVar20;\n          }\n        }\nLAB_001337ff:\n        DAT_001e3cf4 = 3;\n        if (((*(byte *)((long)&DAT_001e3bc0 + (uVar18 + 6) * 8 + 7) & 8) == 0) &&\n           ((*(ulong *)((long)&DAT_001e3bc0 + (uVar18 + 6) * 8 + 4) & 0x5f0000) == 0)) {\n          DAT_001e3cf0 = (uint)*(byte *)((&DAT_001e3c60)[uVar18] + 0x11);\n          DAT_001e3cec = (uint)*(byte *)((&DAT_001e3c60)[uVar9] + 0x11);\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar18] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 4;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 4;\n          }\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 1;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 1;\n          }\n        }\n        else {\n          DAT_001e3cf0 = (uint)*(byte *)((&DAT_001e3c60)[uVar9] + 0x11);\n          DAT_001e3cec = (uint)*(byte *)((&DAT_001e3c60)[uVar18] + 0x11);\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar18] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 1;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 1;\n          }\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 4;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 4;\n          }\n        }\n        if ((DAT_001e3b14 != 2) && ((DAT_001e3cf8 & 4) != 0)) {\n          if ((*(byte *)(&DAT_001e3bc8 + ((ulong)(DAT_001e3bf7 >> 3 & 1) + 0xe) * 2) & 0x10) == 0) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1af4,"build_modrm_byte");\n          }\n          DAT_001e3cf8 = DAT_001e3cf8 & 0xfffffffb;\n          FUN_00131f90(0xf0);\n          return (undefined1 *)0x0;\n        }\n        DAT_001e3cf4 = 3;\n        return (undefined1 *)0x0;\n      }\n    }" { (if_statement "if ((DAT_001e3bed >> 3 & 3) < 2) {\nLAB_0013335b:\n        if (DAT_001e3c24 == 3) {\nLAB_00133ea8:\n          if ((DAT_001e3c34 != 1) &&\n             ((DAT_001e3c34 != 0 ||\n              (((DAT_001e3bed & 0x18) != 8 && ((DAT_001e3c38._3_1_ & 1) == 0)))))) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1a6b,"build_modrm_byte");\n          }\n          uVar9 = (ulong)((DAT_001e3c38._1_1_ & 0xfc) != 0 || (DAT_001e3c38._3_1_ & 1) != 0);\n          uVar22 = 3;\n        }\n        else if (DAT_001e3c24 < 4) {\n          uVar22 = DAT_001e3c24;\n          if (DAT_001e3c24 != 2) goto LAB_00133dcf;\n        }\n        else {\n          if (DAT_001e3c24 != 4) goto joined_r0x00133753;\nLAB_00133379:\n          uVar9 = (ulong)DAT_001e3c34;\n          if (DAT_001e3c34 == 2) {\n            if (((DAT_001e3c38._1_1_ & 4) == 0) || ((DAT_001e3c40._1_1_ & 4) == 0))\n            goto LAB_00133d61;\n          }\n          else {\n            if ((((DAT_001e3bed & 0x18) != 8) || (DAT_001e3c34 != 1)) ||\n               ((((DAT_001e3c38._1_1_ & 4) == 0 && ((DAT_001e3c50._1_1_ & 4) == 0)) &&\n                (DAT_001e3d28 == 0)))) {\nLAB_00133d61:\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1a81,"build_modrm_byte");\n            }\n            uVar9 = (ulong)((DAT_001e3c38._1_1_ & 4) != 0);\n          }\n          uVar22 = 4;\n        }\nLAB_001337c1:\n        if (bVar19 != 8) {\n          uVar15 = (int)uVar9 + 1;\n          uVar18 = (ulong)uVar15;\n          if ((DAT_001e3d28 != 0) && (*(uint *)(DAT_001e3d28 + 4) == uVar15)) {\n            uVar18 = (ulong)((int)uVar9 + 2);\n          }\n          if ((DAT_001e3bed & 0x18) == 8) {\n            uVar20 = uVar9;\n            uVar11 = uVar18;\n            if ((((&DAT_001e3bf6)[uVar9 * 8] & 0x40) == 0) &&\n               (((&DAT_001e3bf6)[uVar18 * 8] & 0x40) != 0)) {\n              uVar20 = uVar18;\n              uVar11 = uVar9;\n            }\n            uVar15 = (int)uVar18 + 1;\n            uVar18 = (ulong)uVar15;\n            uVar9 = *(ulong *)((long)&DAT_001e3bc0 + (uVar11 + 6) * 8 + 4);\n            if ((uVar22 <= uVar15) ||\n               ((((uVar9 & 1) == 0 ||\n                 ((-1 < (char)((uVar9 & 0xfffffffff7ffffff) >> 0x18) &&\n                  (((&DAT_001e3bc8)[(uVar11 + 6) * 2] & 2) == 0)))) &&\n                (((uVar9 & 4) == 0 &&\n                 ((DAT_00153a50 != (int)(uVar9 & 0xfffffffff7ffffff) ||\n                  (DAT_00153a54 != (&DAT_001e3bc8)[(uVar11 + 6) * 2])))))))) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1ac9,"build_modrm_byte");\n            }\n            DAT_001e3d18 = (&DAT_001e3c60)[uVar11];\n            uVar9 = uVar20;\n          }\n        }\nLAB_001337ff:\n        DAT_001e3cf4 = 3;\n        if (((*(byte *)((long)&DAT_001e3bc0 + (uVar18 + 6) * 8 + 7) & 8) == 0) &&\n           ((*(ulong *)((long)&DAT_001e3bc0 + (uVar18 + 6) * 8 + 4) & 0x5f0000) == 0)) {\n          DAT_001e3cf0 = (uint)*(byte *)((&DAT_001e3c60)[uVar18] + 0x11);\n          DAT_001e3cec = (uint)*(byte *)((&DAT_001e3c60)[uVar9] + 0x11);\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar18] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 4;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 4;\n          }\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 1;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 1;\n          }\n        }\n        else {\n          DAT_001e3cf0 = (uint)*(byte *)((&DAT_001e3c60)[uVar9] + 0x11);\n          DAT_001e3cec = (uint)*(byte *)((&DAT_001e3c60)[uVar18] + 0x11);\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar18] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 1;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 1;\n          }\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 4;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 4;\n          }\n        }\n        if ((DAT_001e3b14 != 2) && ((DAT_001e3cf8 & 4) != 0)) {\n          if ((*(byte *)(&DAT_001e3bc8 + ((ulong)(DAT_001e3bf7 >> 3 & 1) + 0xe) * 2) & 0x10) == 0) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1af4,"build_modrm_byte");\n          }\n          DAT_001e3cf8 = DAT_001e3cf8 & 0xfffffffb;\n          FUN_00131f90(0xf0);\n          return (undefined1 *)0x0;\n        }\n        DAT_001e3cf4 = 3;\n        return (undefined1 *)0x0;\n      }" if (parenthesized_expression "((DAT_001e3bed >> 3 & 3) < 2)" ( (binary_expression "(DAT_001e3bed >> 3 & 3) < 2" (parenthesized_expression "(DAT_001e3bed >> 3 & 3)" ( (binary_expression "DAT_001e3bed >> 3 & 3" (binary_expression "DAT_001e3bed >> 3" identifier >> number_literal) & number_literal) )) < number_literal) )) (compound_statement "{\nLAB_0013335b:\n        if (DAT_001e3c24 == 3) {\nLAB_00133ea8:\n          if ((DAT_001e3c34 != 1) &&\n             ((DAT_001e3c34 != 0 ||\n              (((DAT_001e3bed & 0x18) != 8 && ((DAT_001e3c38._3_1_ & 1) == 0)))))) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1a6b,"build_modrm_byte");\n          }\n          uVar9 = (ulong)((DAT_001e3c38._1_1_ & 0xfc) != 0 || (DAT_001e3c38._3_1_ & 1) != 0);\n          uVar22 = 3;\n        }\n        else if (DAT_001e3c24 < 4) {\n          uVar22 = DAT_001e3c24;\n          if (DAT_001e3c24 != 2) goto LAB_00133dcf;\n        }\n        else {\n          if (DAT_001e3c24 != 4) goto joined_r0x00133753;\nLAB_00133379:\n          uVar9 = (ulong)DAT_001e3c34;\n          if (DAT_001e3c34 == 2) {\n            if (((DAT_001e3c38._1_1_ & 4) == 0) || ((DAT_001e3c40._1_1_ & 4) == 0))\n            goto LAB_00133d61;\n          }\n          else {\n            if ((((DAT_001e3bed & 0x18) != 8) || (DAT_001e3c34 != 1)) ||\n               ((((DAT_001e3c38._1_1_ & 4) == 0 && ((DAT_001e3c50._1_1_ & 4) == 0)) &&\n                (DAT_001e3d28 == 0)))) {\nLAB_00133d61:\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1a81,"build_modrm_byte");\n            }\n            uVar9 = (ulong)((DAT_001e3c38._1_1_ & 4) != 0);\n          }\n          uVar22 = 4;\n        }\nLAB_001337c1:\n        if (bVar19 != 8) {\n          uVar15 = (int)uVar9 + 1;\n          uVar18 = (ulong)uVar15;\n          if ((DAT_001e3d28 != 0) && (*(uint *)(DAT_001e3d28 + 4) == uVar15)) {\n            uVar18 = (ulong)((int)uVar9 + 2);\n          }\n          if ((DAT_001e3bed & 0x18) == 8) {\n            uVar20 = uVar9;\n            uVar11 = uVar18;\n            if ((((&DAT_001e3bf6)[uVar9 * 8] & 0x40) == 0) &&\n               (((&DAT_001e3bf6)[uVar18 * 8] & 0x40) != 0)) {\n              uVar20 = uVar18;\n              uVar11 = uVar9;\n            }\n            uVar15 = (int)uVar18 + 1;\n            uVar18 = (ulong)uVar15;\n            uVar9 = *(ulong *)((long)&DAT_001e3bc0 + (uVar11 + 6) * 8 + 4);\n            if ((uVar22 <= uVar15) ||\n               ((((uVar9 & 1) == 0 ||\n                 ((-1 < (char)((uVar9 & 0xfffffffff7ffffff) >> 0x18) &&\n                  (((&DAT_001e3bc8)[(uVar11 + 6) * 2] & 2) == 0)))) &&\n                (((uVar9 & 4) == 0 &&\n                 ((DAT_00153a50 != (int)(uVar9 & 0xfffffffff7ffffff) ||\n                  (DAT_00153a54 != (&DAT_001e3bc8)[(uVar11 + 6) * 2])))))))) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1ac9,"build_modrm_byte");\n            }\n            DAT_001e3d18 = (&DAT_001e3c60)[uVar11];\n            uVar9 = uVar20;\n          }\n        }\nLAB_001337ff:\n        DAT_001e3cf4 = 3;\n        if (((*(byte *)((long)&DAT_001e3bc0 + (uVar18 + 6) * 8 + 7) & 8) == 0) &&\n           ((*(ulong *)((long)&DAT_001e3bc0 + (uVar18 + 6) * 8 + 4) & 0x5f0000) == 0)) {\n          DAT_001e3cf0 = (uint)*(byte *)((&DAT_001e3c60)[uVar18] + 0x11);\n          DAT_001e3cec = (uint)*(byte *)((&DAT_001e3c60)[uVar9] + 0x11);\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar18] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 4;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 4;\n          }\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 1;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 1;\n          }\n        }\n        else {\n          DAT_001e3cf0 = (uint)*(byte *)((&DAT_001e3c60)[uVar9] + 0x11);\n          DAT_001e3cec = (uint)*(byte *)((&DAT_001e3c60)[uVar18] + 0x11);\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar18] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 1;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 1;\n          }\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 4;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 4;\n          }\n        }\n        if ((DAT_001e3b14 != 2) && ((DAT_001e3cf8 & 4) != 0)) {\n          if ((*(byte *)(&DAT_001e3bc8 + ((ulong)(DAT_001e3bf7 >> 3 & 1) + 0xe) * 2) & 0x10) == 0) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1af4,"build_modrm_byte");\n          }\n          DAT_001e3cf8 = DAT_001e3cf8 & 0xfffffffb;\n          FUN_00131f90(0xf0);\n          return (undefined1 *)0x0;\n        }\n        DAT_001e3cf4 = 3;\n        return (undefined1 *)0x0;\n      }" { (labeled_statement "LAB_0013335b:\n        if (DAT_001e3c24 == 3) {\nLAB_00133ea8:\n          if ((DAT_001e3c34 != 1) &&\n             ((DAT_001e3c34 != 0 ||\n              (((DAT_001e3bed & 0x18) != 8 && ((DAT_001e3c38._3_1_ & 1) == 0)))))) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1a6b,"build_modrm_byte");\n          }\n          uVar9 = (ulong)((DAT_001e3c38._1_1_ & 0xfc) != 0 || (DAT_001e3c38._3_1_ & 1) != 0);\n          uVar22 = 3;\n        }\n        else if (DAT_001e3c24 < 4) {\n          uVar22 = DAT_001e3c24;\n          if (DAT_001e3c24 != 2) goto LAB_00133dcf;\n        }\n        else {\n          if (DAT_001e3c24 != 4) goto joined_r0x00133753;\nLAB_00133379:\n          uVar9 = (ulong)DAT_001e3c34;\n          if (DAT_001e3c34 == 2) {\n            if (((DAT_001e3c38._1_1_ & 4) == 0) || ((DAT_001e3c40._1_1_ & 4) == 0))\n            goto LAB_00133d61;\n          }\n          else {\n            if ((((DAT_001e3bed & 0x18) != 8) || (DAT_001e3c34 != 1)) ||\n               ((((DAT_001e3c38._1_1_ & 4) == 0 && ((DAT_001e3c50._1_1_ & 4) == 0)) &&\n                (DAT_001e3d28 == 0)))) {\nLAB_00133d61:\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1a81,"build_modrm_byte");\n            }\n            uVar9 = (ulong)((DAT_001e3c38._1_1_ & 4) != 0);\n          }\n          uVar22 = 4;\n        }" statement_identifier : (if_statement "if (DAT_001e3c24 == 3) {\nLAB_00133ea8:\n          if ((DAT_001e3c34 != 1) &&\n             ((DAT_001e3c34 != 0 ||\n              (((DAT_001e3bed & 0x18) != 8 && ((DAT_001e3c38._3_1_ & 1) == 0)))))) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1a6b,"build_modrm_byte");\n          }\n          uVar9 = (ulong)((DAT_001e3c38._1_1_ & 0xfc) != 0 || (DAT_001e3c38._3_1_ & 1) != 0);\n          uVar22 = 3;\n        }\n        else if (DAT_001e3c24 < 4) {\n          uVar22 = DAT_001e3c24;\n          if (DAT_001e3c24 != 2) goto LAB_00133dcf;\n        }\n        else {\n          if (DAT_001e3c24 != 4) goto joined_r0x00133753;\nLAB_00133379:\n          uVar9 = (ulong)DAT_001e3c34;\n          if (DAT_001e3c34 == 2) {\n            if (((DAT_001e3c38._1_1_ & 4) == 0) || ((DAT_001e3c40._1_1_ & 4) == 0))\n            goto LAB_00133d61;\n          }\n          else {\n            if ((((DAT_001e3bed & 0x18) != 8) || (DAT_001e3c34 != 1)) ||\n               ((((DAT_001e3c38._1_1_ & 4) == 0 && ((DAT_001e3c50._1_1_ & 4) == 0)) &&\n                (DAT_001e3d28 == 0)))) {\nLAB_00133d61:\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1a81,"build_modrm_byte");\n            }\n            uVar9 = (ulong)((DAT_001e3c38._1_1_ & 4) != 0);\n          }\n          uVar22 = 4;\n        }" if (parenthesized_expression "(DAT_001e3c24 == 3)" ( (binary_expression "DAT_001e3c24 == 3" identifier == number_literal) )) (compound_statement "{\nLAB_00133ea8:\n          if ((DAT_001e3c34 != 1) &&\n             ((DAT_001e3c34 != 0 ||\n              (((DAT_001e3bed & 0x18) != 8 && ((DAT_001e3c38._3_1_ & 1) == 0)))))) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1a6b,"build_modrm_byte");\n          }\n          uVar9 = (ulong)((DAT_001e3c38._1_1_ & 0xfc) != 0 || (DAT_001e3c38._3_1_ & 1) != 0);\n          uVar22 = 3;\n        }" { (labeled_statement "LAB_00133ea8:\n          if ((DAT_001e3c34 != 1) &&\n             ((DAT_001e3c34 != 0 ||\n              (((DAT_001e3bed & 0x18) != 8 && ((DAT_001e3c38._3_1_ & 1) == 0)))))) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1a6b,"build_modrm_byte");\n          }" statement_identifier : (if_statement "if ((DAT_001e3c34 != 1) &&\n             ((DAT_001e3c34 != 0 ||\n              (((DAT_001e3bed & 0x18) != 8 && ((DAT_001e3c38._3_1_ & 1) == 0)))))) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1a6b,"build_modrm_byte");\n          }" if (parenthesized_expression "((DAT_001e3c34 != 1) &&\n             ((DAT_001e3c34 != 0 ||\n              (((DAT_001e3bed & 0x18) != 8 && ((DAT_001e3c38._3_1_ & 1) == 0))))))" ( (binary_expression "(DAT_001e3c34 != 1) &&\n             ((DAT_001e3c34 != 0 ||\n              (((DAT_001e3bed & 0x18) != 8 && ((DAT_001e3c38._3_1_ & 1) == 0)))))" (parenthesized_expression "(DAT_001e3c34 != 1)" ( (binary_expression "DAT_001e3c34 != 1" identifier != number_literal) )) && (parenthesized_expression "((DAT_001e3c34 != 0 ||\n              (((DAT_001e3bed & 0x18) != 8 && ((DAT_001e3c38._3_1_ & 1) == 0)))))" ( (parenthesized_expression "(DAT_001e3c34 != 0 ||\n              (((DAT_001e3bed & 0x18) != 8 && ((DAT_001e3c38._3_1_ & 1) == 0))))" ( (binary_expression "DAT_001e3c34 != 0 ||\n              (((DAT_001e3bed & 0x18) != 8 && ((DAT_001e3c38._3_1_ & 1) == 0)))" (binary_expression "DAT_001e3c34 != 0" identifier != number_literal) || (parenthesized_expression "(((DAT_001e3bed & 0x18) != 8 && ((DAT_001e3c38._3_1_ & 1) == 0)))" ( (parenthesized_expression "((DAT_001e3bed & 0x18) != 8 && ((DAT_001e3c38._3_1_ & 1) == 0))" ( (binary_expression "(DAT_001e3bed & 0x18) != 8 && ((DAT_001e3c38._3_1_ & 1) == 0)" (binary_expression "(DAT_001e3bed & 0x18) != 8" (parenthesized_expression "(DAT_001e3bed & 0x18)" ( (binary_expression "DAT_001e3bed & 0x18" identifier & number_literal) )) != number_literal) && (parenthesized_expression "((DAT_001e3c38._3_1_ & 1) == 0)" ( (binary_expression "(DAT_001e3c38._3_1_ & 1) == 0" (parenthesized_expression "(DAT_001e3c38._3_1_ & 1)" ( (binary_expression "DAT_001e3c38._3_1_ & 1" (field_expression "DAT_001e3c38._3_1_" identifier . field_identifier) & number_literal) )) == number_literal) ))) )) ))) )) ))) )) (compound_statement "{\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1a6b,"build_modrm_byte");\n          }" { (expression_statement "FUN_0011dd00("../../gas/config/tc-i386.c",0x1a6b,"build_modrm_byte");" (call_expression "FUN_0011dd00("../../gas/config/tc-i386.c",0x1a6b,"build_modrm_byte")" identifier (argument_list "("../../gas/config/tc-i386.c",0x1a6b,"build_modrm_byte")" ( (string_literal ""../../gas/config/tc-i386.c"" " string_content ") , number_literal , (string_literal ""build_modrm_byte"" " string_content ") ))) ;) }))) (expression_statement "uVar9 = (ulong)((DAT_001e3c38._1_1_ & 0xfc) != 0 || (DAT_001e3c38._3_1_ & 1) != 0);" (assignment_expression "uVar9 = (ulong)((DAT_001e3c38._1_1_ & 0xfc) != 0 || (DAT_001e3c38._3_1_ & 1) != 0)" identifier = (call_expression "(ulong)((DAT_001e3c38._1_1_ & 0xfc) != 0 || (DAT_001e3c38._3_1_ & 1) != 0)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((DAT_001e3c38._1_1_ & 0xfc) != 0 || (DAT_001e3c38._3_1_ & 1) != 0)" ( (binary_expression "(DAT_001e3c38._1_1_ & 0xfc) != 0 || (DAT_001e3c38._3_1_ & 1) != 0" (binary_expression "(DAT_001e3c38._1_1_ & 0xfc) != 0" (parenthesized_expression "(DAT_001e3c38._1_1_ & 0xfc)" ( (binary_expression "DAT_001e3c38._1_1_ & 0xfc" (field_expression "DAT_001e3c38._1_1_" identifier . field_identifier) & number_literal) )) != number_literal) || (binary_expression "(DAT_001e3c38._3_1_ & 1) != 0" (parenthesized_expression "(DAT_001e3c38._3_1_ & 1)" ( (binary_expression "DAT_001e3c38._3_1_ & 1" (field_expression "DAT_001e3c38._3_1_" identifier . field_identifier) & number_literal) )) != number_literal)) )))) ;) (expression_statement "uVar22 = 3;" (assignment_expression "uVar22 = 3" identifier = number_literal) ;) }) (else_clause "else if (DAT_001e3c24 < 4) {\n          uVar22 = DAT_001e3c24;\n          if (DAT_001e3c24 != 2) goto LAB_00133dcf;\n        }\n        else {\n          if (DAT_001e3c24 != 4) goto joined_r0x00133753;\nLAB_00133379:\n          uVar9 = (ulong)DAT_001e3c34;\n          if (DAT_001e3c34 == 2) {\n            if (((DAT_001e3c38._1_1_ & 4) == 0) || ((DAT_001e3c40._1_1_ & 4) == 0))\n            goto LAB_00133d61;\n          }\n          else {\n            if ((((DAT_001e3bed & 0x18) != 8) || (DAT_001e3c34 != 1)) ||\n               ((((DAT_001e3c38._1_1_ & 4) == 0 && ((DAT_001e3c50._1_1_ & 4) == 0)) &&\n                (DAT_001e3d28 == 0)))) {\nLAB_00133d61:\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1a81,"build_modrm_byte");\n            }\n            uVar9 = (ulong)((DAT_001e3c38._1_1_ & 4) != 0);\n          }\n          uVar22 = 4;\n        }" else (if_statement "if (DAT_001e3c24 < 4) {\n          uVar22 = DAT_001e3c24;\n          if (DAT_001e3c24 != 2) goto LAB_00133dcf;\n        }\n        else {\n          if (DAT_001e3c24 != 4) goto joined_r0x00133753;\nLAB_00133379:\n          uVar9 = (ulong)DAT_001e3c34;\n          if (DAT_001e3c34 == 2) {\n            if (((DAT_001e3c38._1_1_ & 4) == 0) || ((DAT_001e3c40._1_1_ & 4) == 0))\n            goto LAB_00133d61;\n          }\n          else {\n            if ((((DAT_001e3bed & 0x18) != 8) || (DAT_001e3c34 != 1)) ||\n               ((((DAT_001e3c38._1_1_ & 4) == 0 && ((DAT_001e3c50._1_1_ & 4) == 0)) &&\n                (DAT_001e3d28 == 0)))) {\nLAB_00133d61:\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1a81,"build_modrm_byte");\n            }\n            uVar9 = (ulong)((DAT_001e3c38._1_1_ & 4) != 0);\n          }\n          uVar22 = 4;\n        }" if (parenthesized_expression "(DAT_001e3c24 < 4)" ( (binary_expression "DAT_001e3c24 < 4" identifier < number_literal) )) (compound_statement "{\n          uVar22 = DAT_001e3c24;\n          if (DAT_001e3c24 != 2) goto LAB_00133dcf;\n        }" { (expression_statement "uVar22 = DAT_001e3c24;" (assignment_expression "uVar22 = DAT_001e3c24" identifier = identifier) ;) (if_statement "if (DAT_001e3c24 != 2) goto LAB_00133dcf;" if (parenthesized_expression "(DAT_001e3c24 != 2)" ( (binary_expression "DAT_001e3c24 != 2" identifier != number_literal) )) (goto_statement "goto LAB_00133dcf;" goto statement_identifier ;)) }) (else_clause "else {\n          if (DAT_001e3c24 != 4) goto joined_r0x00133753;\nLAB_00133379:\n          uVar9 = (ulong)DAT_001e3c34;\n          if (DAT_001e3c34 == 2) {\n            if (((DAT_001e3c38._1_1_ & 4) == 0) || ((DAT_001e3c40._1_1_ & 4) == 0))\n            goto LAB_00133d61;\n          }\n          else {\n            if ((((DAT_001e3bed & 0x18) != 8) || (DAT_001e3c34 != 1)) ||\n               ((((DAT_001e3c38._1_1_ & 4) == 0 && ((DAT_001e3c50._1_1_ & 4) == 0)) &&\n                (DAT_001e3d28 == 0)))) {\nLAB_00133d61:\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1a81,"build_modrm_byte");\n            }\n            uVar9 = (ulong)((DAT_001e3c38._1_1_ & 4) != 0);\n          }\n          uVar22 = 4;\n        }" else (compound_statement "{\n          if (DAT_001e3c24 != 4) goto joined_r0x00133753;\nLAB_00133379:\n          uVar9 = (ulong)DAT_001e3c34;\n          if (DAT_001e3c34 == 2) {\n            if (((DAT_001e3c38._1_1_ & 4) == 0) || ((DAT_001e3c40._1_1_ & 4) == 0))\n            goto LAB_00133d61;\n          }\n          else {\n            if ((((DAT_001e3bed & 0x18) != 8) || (DAT_001e3c34 != 1)) ||\n               ((((DAT_001e3c38._1_1_ & 4) == 0 && ((DAT_001e3c50._1_1_ & 4) == 0)) &&\n                (DAT_001e3d28 == 0)))) {\nLAB_00133d61:\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1a81,"build_modrm_byte");\n            }\n            uVar9 = (ulong)((DAT_001e3c38._1_1_ & 4) != 0);\n          }\n          uVar22 = 4;\n        }" { (if_statement "if (DAT_001e3c24 != 4) goto joined_r0x00133753;" if (parenthesized_expression "(DAT_001e3c24 != 4)" ( (binary_expression "DAT_001e3c24 != 4" identifier != number_literal) )) (goto_statement "goto joined_r0x00133753;" goto statement_identifier ;)) (labeled_statement "LAB_00133379:\n          uVar9 = (ulong)DAT_001e3c34;" statement_identifier : (expression_statement "uVar9 = (ulong)DAT_001e3c34;" (assignment_expression "uVar9 = (ulong)DAT_001e3c34" identifier = (cast_expression "(ulong)DAT_001e3c34" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;)) (if_statement "if (DAT_001e3c34 == 2) {\n            if (((DAT_001e3c38._1_1_ & 4) == 0) || ((DAT_001e3c40._1_1_ & 4) == 0))\n            goto LAB_00133d61;\n          }\n          else {\n            if ((((DAT_001e3bed & 0x18) != 8) || (DAT_001e3c34 != 1)) ||\n               ((((DAT_001e3c38._1_1_ & 4) == 0 && ((DAT_001e3c50._1_1_ & 4) == 0)) &&\n                (DAT_001e3d28 == 0)))) {\nLAB_00133d61:\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1a81,"build_modrm_byte");\n            }\n            uVar9 = (ulong)((DAT_001e3c38._1_1_ & 4) != 0);\n          }" if (parenthesized_expression "(DAT_001e3c34 == 2)" ( (binary_expression "DAT_001e3c34 == 2" identifier == number_literal) )) (compound_statement "{\n            if (((DAT_001e3c38._1_1_ & 4) == 0) || ((DAT_001e3c40._1_1_ & 4) == 0))\n            goto LAB_00133d61;\n          }" { (if_statement "if (((DAT_001e3c38._1_1_ & 4) == 0) || ((DAT_001e3c40._1_1_ & 4) == 0))\n            goto LAB_00133d61;" if (parenthesized_expression "(((DAT_001e3c38._1_1_ & 4) == 0) || ((DAT_001e3c40._1_1_ & 4) == 0))" ( (binary_expression "((DAT_001e3c38._1_1_ & 4) == 0) || ((DAT_001e3c40._1_1_ & 4) == 0)" (parenthesized_expression "((DAT_001e3c38._1_1_ & 4) == 0)" ( (binary_expression "(DAT_001e3c38._1_1_ & 4) == 0" (parenthesized_expression "(DAT_001e3c38._1_1_ & 4)" ( (binary_expression "DAT_001e3c38._1_1_ & 4" (field_expression "DAT_001e3c38._1_1_" identifier . field_identifier) & number_literal) )) == number_literal) )) || (parenthesized_expression "((DAT_001e3c40._1_1_ & 4) == 0)" ( (binary_expression "(DAT_001e3c40._1_1_ & 4) == 0" (parenthesized_expression "(DAT_001e3c40._1_1_ & 4)" ( (binary_expression "DAT_001e3c40._1_1_ & 4" (field_expression "DAT_001e3c40._1_1_" identifier . field_identifier) & number_literal) )) == number_literal) ))) )) (goto_statement "goto LAB_00133d61;" goto statement_identifier ;)) }) (else_clause "else {\n            if ((((DAT_001e3bed & 0x18) != 8) || (DAT_001e3c34 != 1)) ||\n               ((((DAT_001e3c38._1_1_ & 4) == 0 && ((DAT_001e3c50._1_1_ & 4) == 0)) &&\n                (DAT_001e3d28 == 0)))) {\nLAB_00133d61:\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1a81,"build_modrm_byte");\n            }\n            uVar9 = (ulong)((DAT_001e3c38._1_1_ & 4) != 0);\n          }" else (compound_statement "{\n            if ((((DAT_001e3bed & 0x18) != 8) || (DAT_001e3c34 != 1)) ||\n               ((((DAT_001e3c38._1_1_ & 4) == 0 && ((DAT_001e3c50._1_1_ & 4) == 0)) &&\n                (DAT_001e3d28 == 0)))) {\nLAB_00133d61:\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1a81,"build_modrm_byte");\n            }\n            uVar9 = (ulong)((DAT_001e3c38._1_1_ & 4) != 0);\n          }" { (if_statement "if ((((DAT_001e3bed & 0x18) != 8) || (DAT_001e3c34 != 1)) ||\n               ((((DAT_001e3c38._1_1_ & 4) == 0 && ((DAT_001e3c50._1_1_ & 4) == 0)) &&\n                (DAT_001e3d28 == 0)))) {\nLAB_00133d61:\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1a81,"build_modrm_byte");\n            }" if (parenthesized_expression "((((DAT_001e3bed & 0x18) != 8) || (DAT_001e3c34 != 1)) ||\n               ((((DAT_001e3c38._1_1_ & 4) == 0 && ((DAT_001e3c50._1_1_ & 4) == 0)) &&\n                (DAT_001e3d28 == 0))))" ( (binary_expression "(((DAT_001e3bed & 0x18) != 8) || (DAT_001e3c34 != 1)) ||\n               ((((DAT_001e3c38._1_1_ & 4) == 0 && ((DAT_001e3c50._1_1_ & 4) == 0)) &&\n                (DAT_001e3d28 == 0)))" (parenthesized_expression "(((DAT_001e3bed & 0x18) != 8) || (DAT_001e3c34 != 1))" ( (binary_expression "((DAT_001e3bed & 0x18) != 8) || (DAT_001e3c34 != 1)" (parenthesized_expression "((DAT_001e3bed & 0x18) != 8)" ( (binary_expression "(DAT_001e3bed & 0x18) != 8" (parenthesized_expression "(DAT_001e3bed & 0x18)" ( (binary_expression "DAT_001e3bed & 0x18" identifier & number_literal) )) != number_literal) )) || (parenthesized_expression "(DAT_001e3c34 != 1)" ( (binary_expression "DAT_001e3c34 != 1" identifier != number_literal) ))) )) || (parenthesized_expression "((((DAT_001e3c38._1_1_ & 4) == 0 && ((DAT_001e3c50._1_1_ & 4) == 0)) &&\n                (DAT_001e3d28 == 0)))" ( (parenthesized_expression "(((DAT_001e3c38._1_1_ & 4) == 0 && ((DAT_001e3c50._1_1_ & 4) == 0)) &&\n                (DAT_001e3d28 == 0))" ( (binary_expression "((DAT_001e3c38._1_1_ & 4) == 0 && ((DAT_001e3c50._1_1_ & 4) == 0)) &&\n                (DAT_001e3d28 == 0)" (parenthesized_expression "((DAT_001e3c38._1_1_ & 4) == 0 && ((DAT_001e3c50._1_1_ & 4) == 0))" ( (binary_expression "(DAT_001e3c38._1_1_ & 4) == 0 && ((DAT_001e3c50._1_1_ & 4) == 0)" (binary_expression "(DAT_001e3c38._1_1_ & 4) == 0" (parenthesized_expression "(DAT_001e3c38._1_1_ & 4)" ( (binary_expression "DAT_001e3c38._1_1_ & 4" (field_expression "DAT_001e3c38._1_1_" identifier . field_identifier) & number_literal) )) == number_literal) && (parenthesized_expression "((DAT_001e3c50._1_1_ & 4) == 0)" ( (binary_expression "(DAT_001e3c50._1_1_ & 4) == 0" (parenthesized_expression "(DAT_001e3c50._1_1_ & 4)" ( (binary_expression "DAT_001e3c50._1_1_ & 4" (field_expression "DAT_001e3c50._1_1_" identifier . field_identifier) & number_literal) )) == number_literal) ))) )) && (parenthesized_expression "(DAT_001e3d28 == 0)" ( (binary_expression "DAT_001e3d28 == 0" identifier == number_literal) ))) )) ))) )) (compound_statement "{\nLAB_00133d61:\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1a81,"build_modrm_byte");\n            }" { (labeled_statement "LAB_00133d61:\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1a81,"build_modrm_byte");" statement_identifier : (expression_statement "FUN_0011dd00("../../gas/config/tc-i386.c",0x1a81,"build_modrm_byte");" (call_expression "FUN_0011dd00("../../gas/config/tc-i386.c",0x1a81,"build_modrm_byte")" identifier (argument_list "("../../gas/config/tc-i386.c",0x1a81,"build_modrm_byte")" ( (string_literal ""../../gas/config/tc-i386.c"" " string_content ") , number_literal , (string_literal ""build_modrm_byte"" " string_content ") ))) ;)) })) (expression_statement "uVar9 = (ulong)((DAT_001e3c38._1_1_ & 4) != 0);" (assignment_expression "uVar9 = (ulong)((DAT_001e3c38._1_1_ & 4) != 0)" identifier = (call_expression "(ulong)((DAT_001e3c38._1_1_ & 4) != 0)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((DAT_001e3c38._1_1_ & 4) != 0)" ( (binary_expression "(DAT_001e3c38._1_1_ & 4) != 0" (parenthesized_expression "(DAT_001e3c38._1_1_ & 4)" ( (binary_expression "DAT_001e3c38._1_1_ & 4" (field_expression "DAT_001e3c38._1_1_" identifier . field_identifier) & number_literal) )) != number_literal) )))) ;) }))) (expression_statement "uVar22 = 4;" (assignment_expression "uVar22 = 4" identifier = number_literal) ;) })))))) (labeled_statement "LAB_001337c1:\n        if (bVar19 != 8) {\n          uVar15 = (int)uVar9 + 1;\n          uVar18 = (ulong)uVar15;\n          if ((DAT_001e3d28 != 0) && (*(uint *)(DAT_001e3d28 + 4) == uVar15)) {\n            uVar18 = (ulong)((int)uVar9 + 2);\n          }\n          if ((DAT_001e3bed & 0x18) == 8) {\n            uVar20 = uVar9;\n            uVar11 = uVar18;\n            if ((((&DAT_001e3bf6)[uVar9 * 8] & 0x40) == 0) &&\n               (((&DAT_001e3bf6)[uVar18 * 8] & 0x40) != 0)) {\n              uVar20 = uVar18;\n              uVar11 = uVar9;\n            }\n            uVar15 = (int)uVar18 + 1;\n            uVar18 = (ulong)uVar15;\n            uVar9 = *(ulong *)((long)&DAT_001e3bc0 + (uVar11 + 6) * 8 + 4);\n            if ((uVar22 <= uVar15) ||\n               ((((uVar9 & 1) == 0 ||\n                 ((-1 < (char)((uVar9 & 0xfffffffff7ffffff) >> 0x18) &&\n                  (((&DAT_001e3bc8)[(uVar11 + 6) * 2] & 2) == 0)))) &&\n                (((uVar9 & 4) == 0 &&\n                 ((DAT_00153a50 != (int)(uVar9 & 0xfffffffff7ffffff) ||\n                  (DAT_00153a54 != (&DAT_001e3bc8)[(uVar11 + 6) * 2])))))))) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1ac9,"build_modrm_byte");\n            }\n            DAT_001e3d18 = (&DAT_001e3c60)[uVar11];\n            uVar9 = uVar20;\n          }\n        }" statement_identifier : (if_statement "if (bVar19 != 8) {\n          uVar15 = (int)uVar9 + 1;\n          uVar18 = (ulong)uVar15;\n          if ((DAT_001e3d28 != 0) && (*(uint *)(DAT_001e3d28 + 4) == uVar15)) {\n            uVar18 = (ulong)((int)uVar9 + 2);\n          }\n          if ((DAT_001e3bed & 0x18) == 8) {\n            uVar20 = uVar9;\n            uVar11 = uVar18;\n            if ((((&DAT_001e3bf6)[uVar9 * 8] & 0x40) == 0) &&\n               (((&DAT_001e3bf6)[uVar18 * 8] & 0x40) != 0)) {\n              uVar20 = uVar18;\n              uVar11 = uVar9;\n            }\n            uVar15 = (int)uVar18 + 1;\n            uVar18 = (ulong)uVar15;\n            uVar9 = *(ulong *)((long)&DAT_001e3bc0 + (uVar11 + 6) * 8 + 4);\n            if ((uVar22 <= uVar15) ||\n               ((((uVar9 & 1) == 0 ||\n                 ((-1 < (char)((uVar9 & 0xfffffffff7ffffff) >> 0x18) &&\n                  (((&DAT_001e3bc8)[(uVar11 + 6) * 2] & 2) == 0)))) &&\n                (((uVar9 & 4) == 0 &&\n                 ((DAT_00153a50 != (int)(uVar9 & 0xfffffffff7ffffff) ||\n                  (DAT_00153a54 != (&DAT_001e3bc8)[(uVar11 + 6) * 2])))))))) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1ac9,"build_modrm_byte");\n            }\n            DAT_001e3d18 = (&DAT_001e3c60)[uVar11];\n            uVar9 = uVar20;\n          }\n        }" if (parenthesized_expression "(bVar19 != 8)" ( (binary_expression "bVar19 != 8" identifier != number_literal) )) (compound_statement "{\n          uVar15 = (int)uVar9 + 1;\n          uVar18 = (ulong)uVar15;\n          if ((DAT_001e3d28 != 0) && (*(uint *)(DAT_001e3d28 + 4) == uVar15)) {\n            uVar18 = (ulong)((int)uVar9 + 2);\n          }\n          if ((DAT_001e3bed & 0x18) == 8) {\n            uVar20 = uVar9;\n            uVar11 = uVar18;\n            if ((((&DAT_001e3bf6)[uVar9 * 8] & 0x40) == 0) &&\n               (((&DAT_001e3bf6)[uVar18 * 8] & 0x40) != 0)) {\n              uVar20 = uVar18;\n              uVar11 = uVar9;\n            }\n            uVar15 = (int)uVar18 + 1;\n            uVar18 = (ulong)uVar15;\n            uVar9 = *(ulong *)((long)&DAT_001e3bc0 + (uVar11 + 6) * 8 + 4);\n            if ((uVar22 <= uVar15) ||\n               ((((uVar9 & 1) == 0 ||\n                 ((-1 < (char)((uVar9 & 0xfffffffff7ffffff) >> 0x18) &&\n                  (((&DAT_001e3bc8)[(uVar11 + 6) * 2] & 2) == 0)))) &&\n                (((uVar9 & 4) == 0 &&\n                 ((DAT_00153a50 != (int)(uVar9 & 0xfffffffff7ffffff) ||\n                  (DAT_00153a54 != (&DAT_001e3bc8)[(uVar11 + 6) * 2])))))))) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1ac9,"build_modrm_byte");\n            }\n            DAT_001e3d18 = (&DAT_001e3c60)[uVar11];\n            uVar9 = uVar20;\n          }\n        }" { (expression_statement "uVar15 = (int)uVar9 + 1;" (assignment_expression "uVar15 = (int)uVar9 + 1" identifier = (binary_expression "(int)uVar9 + 1" (cast_expression "(int)uVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "uVar18 = (ulong)uVar15;" (assignment_expression "uVar18 = (ulong)uVar15" identifier = (cast_expression "(ulong)uVar15" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (if_statement "if ((DAT_001e3d28 != 0) && (*(uint *)(DAT_001e3d28 + 4) == uVar15)) {\n            uVar18 = (ulong)((int)uVar9 + 2);\n          }" if (parenthesized_expression "((DAT_001e3d28 != 0) && (*(uint *)(DAT_001e3d28 + 4) == uVar15))" ( (binary_expression "(DAT_001e3d28 != 0) && (*(uint *)(DAT_001e3d28 + 4) == uVar15)" (parenthesized_expression "(DAT_001e3d28 != 0)" ( (binary_expression "DAT_001e3d28 != 0" identifier != number_literal) )) && (parenthesized_expression "(*(uint *)(DAT_001e3d28 + 4) == uVar15)" ( (binary_expression "*(uint *)(DAT_001e3d28 + 4) == uVar15" (pointer_expression "*(uint *)(DAT_001e3d28 + 4)" * (cast_expression "(uint *)(DAT_001e3d28 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_001e3d28 + 4)" ( (binary_expression "DAT_001e3d28 + 4" identifier + number_literal) )))) == identifier) ))) )) (compound_statement "{\n            uVar18 = (ulong)((int)uVar9 + 2);\n          }" { (expression_statement "uVar18 = (ulong)((int)uVar9 + 2);" (assignment_expression "uVar18 = (ulong)((int)uVar9 + 2)" identifier = (call_expression "(ulong)((int)uVar9 + 2)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((int)uVar9 + 2)" ( (binary_expression "(int)uVar9 + 2" (cast_expression "(int)uVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) })) (if_statement "if ((DAT_001e3bed & 0x18) == 8) {\n            uVar20 = uVar9;\n            uVar11 = uVar18;\n            if ((((&DAT_001e3bf6)[uVar9 * 8] & 0x40) == 0) &&\n               (((&DAT_001e3bf6)[uVar18 * 8] & 0x40) != 0)) {\n              uVar20 = uVar18;\n              uVar11 = uVar9;\n            }\n            uVar15 = (int)uVar18 + 1;\n            uVar18 = (ulong)uVar15;\n            uVar9 = *(ulong *)((long)&DAT_001e3bc0 + (uVar11 + 6) * 8 + 4);\n            if ((uVar22 <= uVar15) ||\n               ((((uVar9 & 1) == 0 ||\n                 ((-1 < (char)((uVar9 & 0xfffffffff7ffffff) >> 0x18) &&\n                  (((&DAT_001e3bc8)[(uVar11 + 6) * 2] & 2) == 0)))) &&\n                (((uVar9 & 4) == 0 &&\n                 ((DAT_00153a50 != (int)(uVar9 & 0xfffffffff7ffffff) ||\n                  (DAT_00153a54 != (&DAT_001e3bc8)[(uVar11 + 6) * 2])))))))) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1ac9,"build_modrm_byte");\n            }\n            DAT_001e3d18 = (&DAT_001e3c60)[uVar11];\n            uVar9 = uVar20;\n          }" if (parenthesized_expression "((DAT_001e3bed & 0x18) == 8)" ( (binary_expression "(DAT_001e3bed & 0x18) == 8" (parenthesized_expression "(DAT_001e3bed & 0x18)" ( (binary_expression "DAT_001e3bed & 0x18" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n            uVar20 = uVar9;\n            uVar11 = uVar18;\n            if ((((&DAT_001e3bf6)[uVar9 * 8] & 0x40) == 0) &&\n               (((&DAT_001e3bf6)[uVar18 * 8] & 0x40) != 0)) {\n              uVar20 = uVar18;\n              uVar11 = uVar9;\n            }\n            uVar15 = (int)uVar18 + 1;\n            uVar18 = (ulong)uVar15;\n            uVar9 = *(ulong *)((long)&DAT_001e3bc0 + (uVar11 + 6) * 8 + 4);\n            if ((uVar22 <= uVar15) ||\n               ((((uVar9 & 1) == 0 ||\n                 ((-1 < (char)((uVar9 & 0xfffffffff7ffffff) >> 0x18) &&\n                  (((&DAT_001e3bc8)[(uVar11 + 6) * 2] & 2) == 0)))) &&\n                (((uVar9 & 4) == 0 &&\n                 ((DAT_00153a50 != (int)(uVar9 & 0xfffffffff7ffffff) ||\n                  (DAT_00153a54 != (&DAT_001e3bc8)[(uVar11 + 6) * 2])))))))) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1ac9,"build_modrm_byte");\n            }\n            DAT_001e3d18 = (&DAT_001e3c60)[uVar11];\n            uVar9 = uVar20;\n          }" { (expression_statement "uVar20 = uVar9;" (assignment_expression "uVar20 = uVar9" identifier = identifier) ;) (expression_statement "uVar11 = uVar18;" (assignment_expression "uVar11 = uVar18" identifier = identifier) ;) (if_statement "if ((((&DAT_001e3bf6)[uVar9 * 8] & 0x40) == 0) &&\n               (((&DAT_001e3bf6)[uVar18 * 8] & 0x40) != 0)) {\n              uVar20 = uVar18;\n              uVar11 = uVar9;\n            }" if (parenthesized_expression "((((&DAT_001e3bf6)[uVar9 * 8] & 0x40) == 0) &&\n               (((&DAT_001e3bf6)[uVar18 * 8] & 0x40) != 0))" ( (binary_expression "(((&DAT_001e3bf6)[uVar9 * 8] & 0x40) == 0) &&\n               (((&DAT_001e3bf6)[uVar18 * 8] & 0x40) != 0)" (parenthesized_expression "(((&DAT_001e3bf6)[uVar9 * 8] & 0x40) == 0)" ( (binary_expression "((&DAT_001e3bf6)[uVar9 * 8] & 0x40) == 0" (parenthesized_expression "((&DAT_001e3bf6)[uVar9 * 8] & 0x40)" ( (binary_expression "(&DAT_001e3bf6)[uVar9 * 8] & 0x40" (subscript_expression "(&DAT_001e3bf6)[uVar9 * 8]" (parenthesized_expression "(&DAT_001e3bf6)" ( (pointer_expression "&DAT_001e3bf6" & identifier) )) [ (binary_expression "uVar9 * 8" identifier * number_literal) ]) & number_literal) )) == number_literal) )) && (parenthesized_expression "(((&DAT_001e3bf6)[uVar18 * 8] & 0x40) != 0)" ( (binary_expression "((&DAT_001e3bf6)[uVar18 * 8] & 0x40) != 0" (parenthesized_expression "((&DAT_001e3bf6)[uVar18 * 8] & 0x40)" ( (binary_expression "(&DAT_001e3bf6)[uVar18 * 8] & 0x40" (subscript_expression "(&DAT_001e3bf6)[uVar18 * 8]" (parenthesized_expression "(&DAT_001e3bf6)" ( (pointer_expression "&DAT_001e3bf6" & identifier) )) [ (binary_expression "uVar18 * 8" identifier * number_literal) ]) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n              uVar20 = uVar18;\n              uVar11 = uVar9;\n            }" { (expression_statement "uVar20 = uVar18;" (assignment_expression "uVar20 = uVar18" identifier = identifier) ;) (expression_statement "uVar11 = uVar9;" (assignment_expression "uVar11 = uVar9" identifier = identifier) ;) })) (expression_statement "uVar15 = (int)uVar18 + 1;" (assignment_expression "uVar15 = (int)uVar18 + 1" identifier = (binary_expression "(int)uVar18 + 1" (cast_expression "(int)uVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "uVar18 = (ulong)uVar15;" (assignment_expression "uVar18 = (ulong)uVar15" identifier = (cast_expression "(ulong)uVar15" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "uVar9 = *(ulong *)((long)&DAT_001e3bc0 + (uVar11 + 6) * 8 + 4);" (assignment_expression "uVar9 = *(ulong *)((long)&DAT_001e3bc0 + (uVar11 + 6) * 8 + 4)" identifier = (pointer_expression "*(ulong *)((long)&DAT_001e3bc0 + (uVar11 + 6) * 8 + 4)" * (cast_expression "(ulong *)((long)&DAT_001e3bc0 + (uVar11 + 6) * 8 + 4)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&DAT_001e3bc0 + (uVar11 + 6) * 8 + 4)" ( (binary_expression "(long)&DAT_001e3bc0 + (uVar11 + 6) * 8 + 4" (binary_expression "(long)&DAT_001e3bc0 + (uVar11 + 6) * 8" (cast_expression "(long)&DAT_001e3bc0" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&DAT_001e3bc0" & identifier)) + (binary_expression "(uVar11 + 6) * 8" (parenthesized_expression "(uVar11 + 6)" ( (binary_expression "uVar11 + 6" identifier + number_literal) )) * number_literal)) + number_literal) ))))) ;) (if_statement "if ((uVar22 <= uVar15) ||\n               ((((uVar9 & 1) == 0 ||\n                 ((-1 < (char)((uVar9 & 0xfffffffff7ffffff) >> 0x18) &&\n                  (((&DAT_001e3bc8)[(uVar11 + 6) * 2] & 2) == 0)))) &&\n                (((uVar9 & 4) == 0 &&\n                 ((DAT_00153a50 != (int)(uVar9 & 0xfffffffff7ffffff) ||\n                  (DAT_00153a54 != (&DAT_001e3bc8)[(uVar11 + 6) * 2])))))))) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1ac9,"build_modrm_byte");\n            }" if (parenthesized_expression "((uVar22 <= uVar15) ||\n               ((((uVar9 & 1) == 0 ||\n                 ((-1 < (char)((uVar9 & 0xfffffffff7ffffff) >> 0x18) &&\n                  (((&DAT_001e3bc8)[(uVar11 + 6) * 2] & 2) == 0)))) &&\n                (((uVar9 & 4) == 0 &&\n                 ((DAT_00153a50 != (int)(uVar9 & 0xfffffffff7ffffff) ||\n                  (DAT_00153a54 != (&DAT_001e3bc8)[(uVar11 + 6) * 2]))))))))" ( (binary_expression "(uVar22 <= uVar15) ||\n               ((((uVar9 & 1) == 0 ||\n                 ((-1 < (char)((uVar9 & 0xfffffffff7ffffff) >> 0x18) &&\n                  (((&DAT_001e3bc8)[(uVar11 + 6) * 2] & 2) == 0)))) &&\n                (((uVar9 & 4) == 0 &&\n                 ((DAT_00153a50 != (int)(uVar9 & 0xfffffffff7ffffff) ||\n                  (DAT_00153a54 != (&DAT_001e3bc8)[(uVar11 + 6) * 2])))))))" (parenthesized_expression "(uVar22 <= uVar15)" ( (binary_expression "uVar22 <= uVar15" identifier <= identifier) )) || (parenthesized_expression "((((uVar9 & 1) == 0 ||\n                 ((-1 < (char)((uVar9 & 0xfffffffff7ffffff) >> 0x18) &&\n                  (((&DAT_001e3bc8)[(uVar11 + 6) * 2] & 2) == 0)))) &&\n                (((uVar9 & 4) == 0 &&\n                 ((DAT_00153a50 != (int)(uVar9 & 0xfffffffff7ffffff) ||\n                  (DAT_00153a54 != (&DAT_001e3bc8)[(uVar11 + 6) * 2])))))))" ( (parenthesized_expression "(((uVar9 & 1) == 0 ||\n                 ((-1 < (char)((uVar9 & 0xfffffffff7ffffff) >> 0x18) &&\n                  (((&DAT_001e3bc8)[(uVar11 + 6) * 2] & 2) == 0)))) &&\n                (((uVar9 & 4) == 0 &&\n                 ((DAT_00153a50 != (int)(uVar9 & 0xfffffffff7ffffff) ||\n                  (DAT_00153a54 != (&DAT_001e3bc8)[(uVar11 + 6) * 2]))))))" ( (binary_expression "((uVar9 & 1) == 0 ||\n                 ((-1 < (char)((uVar9 & 0xfffffffff7ffffff) >> 0x18) &&\n                  (((&DAT_001e3bc8)[(uVar11 + 6) * 2] & 2) == 0)))) &&\n                (((uVar9 & 4) == 0 &&\n                 ((DAT_00153a50 != (int)(uVar9 & 0xfffffffff7ffffff) ||\n                  (DAT_00153a54 != (&DAT_001e3bc8)[(uVar11 + 6) * 2])))))" (parenthesized_expression "((uVar9 & 1) == 0 ||\n                 ((-1 < (char)((uVar9 & 0xfffffffff7ffffff) >> 0x18) &&\n                  (((&DAT_001e3bc8)[(uVar11 + 6) * 2] & 2) == 0))))" ( (binary_expression "(uVar9 & 1) == 0 ||\n                 ((-1 < (char)((uVar9 & 0xfffffffff7ffffff) >> 0x18) &&\n                  (((&DAT_001e3bc8)[(uVar11 + 6) * 2] & 2) == 0)))" (binary_expression "(uVar9 & 1) == 0" (parenthesized_expression "(uVar9 & 1)" ( (binary_expression "uVar9 & 1" identifier & number_literal) )) == number_literal) || (parenthesized_expression "((-1 < (char)((uVar9 & 0xfffffffff7ffffff) >> 0x18) &&\n                  (((&DAT_001e3bc8)[(uVar11 + 6) * 2] & 2) == 0)))" ( (parenthesized_expression "(-1 < (char)((uVar9 & 0xfffffffff7ffffff) >> 0x18) &&\n                  (((&DAT_001e3bc8)[(uVar11 + 6) * 2] & 2) == 0))" ( (binary_expression "-1 < (char)((uVar9 & 0xfffffffff7ffffff) >> 0x18) &&\n                  (((&DAT_001e3bc8)[(uVar11 + 6) * 2] & 2) == 0)" (binary_expression "-1 < (char)((uVar9 & 0xfffffffff7ffffff) >> 0x18)" number_literal < (cast_expression "(char)((uVar9 & 0xfffffffff7ffffff) >> 0x18)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "((uVar9 & 0xfffffffff7ffffff) >> 0x18)" ( (binary_expression "(uVar9 & 0xfffffffff7ffffff) >> 0x18" (parenthesized_expression "(uVar9 & 0xfffffffff7ffffff)" ( (binary_expression "uVar9 & 0xfffffffff7ffffff" identifier & number_literal) )) >> number_literal) )))) && (parenthesized_expression "(((&DAT_001e3bc8)[(uVar11 + 6) * 2] & 2) == 0)" ( (binary_expression "((&DAT_001e3bc8)[(uVar11 + 6) * 2] & 2) == 0" (parenthesized_expression "((&DAT_001e3bc8)[(uVar11 + 6) * 2] & 2)" ( (binary_expression "(&DAT_001e3bc8)[(uVar11 + 6) * 2] & 2" (subscript_expression "(&DAT_001e3bc8)[(uVar11 + 6) * 2]" (parenthesized_expression "(&DAT_001e3bc8)" ( (pointer_expression "&DAT_001e3bc8" & identifier) )) [ (binary_expression "(uVar11 + 6) * 2" (parenthesized_expression "(uVar11 + 6)" ( (binary_expression "uVar11 + 6" identifier + number_literal) )) * number_literal) ]) & number_literal) )) == number_literal) ))) )) ))) )) && (parenthesized_expression "(((uVar9 & 4) == 0 &&\n                 ((DAT_00153a50 != (int)(uVar9 & 0xfffffffff7ffffff) ||\n                  (DAT_00153a54 != (&DAT_001e3bc8)[(uVar11 + 6) * 2])))))" ( (parenthesized_expression "((uVar9 & 4) == 0 &&\n                 ((DAT_00153a50 != (int)(uVar9 & 0xfffffffff7ffffff) ||\n                  (DAT_00153a54 != (&DAT_001e3bc8)[(uVar11 + 6) * 2]))))" ( (binary_expression "(uVar9 & 4) == 0 &&\n                 ((DAT_00153a50 != (int)(uVar9 & 0xfffffffff7ffffff) ||\n                  (DAT_00153a54 != (&DAT_001e3bc8)[(uVar11 + 6) * 2])))" (binary_expression "(uVar9 & 4) == 0" (parenthesized_expression "(uVar9 & 4)" ( (binary_expression "uVar9 & 4" identifier & number_literal) )) == number_literal) && (parenthesized_expression "((DAT_00153a50 != (int)(uVar9 & 0xfffffffff7ffffff) ||\n                  (DAT_00153a54 != (&DAT_001e3bc8)[(uVar11 + 6) * 2])))" ( (parenthesized_expression "(DAT_00153a50 != (int)(uVar9 & 0xfffffffff7ffffff) ||\n                  (DAT_00153a54 != (&DAT_001e3bc8)[(uVar11 + 6) * 2]))" ( (binary_expression "DAT_00153a50 != (int)(uVar9 & 0xfffffffff7ffffff) ||\n                  (DAT_00153a54 != (&DAT_001e3bc8)[(uVar11 + 6) * 2])" (binary_expression "DAT_00153a50 != (int)(uVar9 & 0xfffffffff7ffffff)" identifier != (cast_expression "(int)(uVar9 & 0xfffffffff7ffffff)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uVar9 & 0xfffffffff7ffffff)" ( (binary_expression "uVar9 & 0xfffffffff7ffffff" identifier & number_literal) )))) || (parenthesized_expression "(DAT_00153a54 != (&DAT_001e3bc8)[(uVar11 + 6) * 2])" ( (binary_expression "DAT_00153a54 != (&DAT_001e3bc8)[(uVar11 + 6) * 2]" identifier != (subscript_expression "(&DAT_001e3bc8)[(uVar11 + 6) * 2]" (parenthesized_expression "(&DAT_001e3bc8)" ( (pointer_expression "&DAT_001e3bc8" & identifier) )) [ (binary_expression "(uVar11 + 6) * 2" (parenthesized_expression "(uVar11 + 6)" ( (binary_expression "uVar11 + 6" identifier + number_literal) )) * number_literal) ])) ))) )) ))) )) ))) )) ))) )) (compound_statement "{\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1ac9,"build_modrm_byte");\n            }" { (expression_statement "FUN_0011dd00("../../gas/config/tc-i386.c",0x1ac9,"build_modrm_byte");" (call_expression "FUN_0011dd00("../../gas/config/tc-i386.c",0x1ac9,"build_modrm_byte")" identifier (argument_list "("../../gas/config/tc-i386.c",0x1ac9,"build_modrm_byte")" ( (string_literal ""../../gas/config/tc-i386.c"" " string_content ") , number_literal , (string_literal ""build_modrm_byte"" " string_content ") ))) ;) })) (expression_statement "DAT_001e3d18 = (&DAT_001e3c60)[uVar11];" (assignment_expression "DAT_001e3d18 = (&DAT_001e3c60)[uVar11]" identifier = (subscript_expression "(&DAT_001e3c60)[uVar11]" (parenthesized_expression "(&DAT_001e3c60)" ( (pointer_expression "&DAT_001e3c60" & identifier) )) [ identifier ])) ;) (expression_statement "uVar9 = uVar20;" (assignment_expression "uVar9 = uVar20" identifier = identifier) ;) })) }))) (labeled_statement "LAB_001337ff:\n        DAT_001e3cf4 = 3;" statement_identifier : (expression_statement "DAT_001e3cf4 = 3;" (assignment_expression "DAT_001e3cf4 = 3" identifier = number_literal) ;)) (if_statement "if (((*(byte *)((long)&DAT_001e3bc0 + (uVar18 + 6) * 8 + 7) & 8) == 0) &&\n           ((*(ulong *)((long)&DAT_001e3bc0 + (uVar18 + 6) * 8 + 4) & 0x5f0000) == 0)) {\n          DAT_001e3cf0 = (uint)*(byte *)((&DAT_001e3c60)[uVar18] + 0x11);\n          DAT_001e3cec = (uint)*(byte *)((&DAT_001e3c60)[uVar9] + 0x11);\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar18] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 4;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 4;\n          }\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 1;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 1;\n          }\n        }\n        else {\n          DAT_001e3cf0 = (uint)*(byte *)((&DAT_001e3c60)[uVar9] + 0x11);\n          DAT_001e3cec = (uint)*(byte *)((&DAT_001e3c60)[uVar18] + 0x11);\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar18] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 1;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 1;\n          }\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 4;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 4;\n          }\n        }" if (parenthesized_expression "(((*(byte *)((long)&DAT_001e3bc0 + (uVar18 + 6) * 8 + 7) & 8) == 0) &&\n           ((*(ulong *)((long)&DAT_001e3bc0 + (uVar18 + 6) * 8 + 4) & 0x5f0000) == 0))" ( (binary_expression "((*(byte *)((long)&DAT_001e3bc0 + (uVar18 + 6) * 8 + 7) & 8) == 0) &&\n           ((*(ulong *)((long)&DAT_001e3bc0 + (uVar18 + 6) * 8 + 4) & 0x5f0000) == 0)" (parenthesized_expression "((*(byte *)((long)&DAT_001e3bc0 + (uVar18 + 6) * 8 + 7) & 8) == 0)" ( (binary_expression "(*(byte *)((long)&DAT_001e3bc0 + (uVar18 + 6) * 8 + 7) & 8) == 0" (parenthesized_expression "(*(byte *)((long)&DAT_001e3bc0 + (uVar18 + 6) * 8 + 7) & 8)" ( (binary_expression "*(byte *)((long)&DAT_001e3bc0 + (uVar18 + 6) * 8 + 7) & 8" (pointer_expression "*(byte *)((long)&DAT_001e3bc0 + (uVar18 + 6) * 8 + 7)" * (cast_expression "(byte *)((long)&DAT_001e3bc0 + (uVar18 + 6) * 8 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&DAT_001e3bc0 + (uVar18 + 6) * 8 + 7)" ( (binary_expression "(long)&DAT_001e3bc0 + (uVar18 + 6) * 8 + 7" (binary_expression "(long)&DAT_001e3bc0 + (uVar18 + 6) * 8" (cast_expression "(long)&DAT_001e3bc0" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&DAT_001e3bc0" & identifier)) + (binary_expression "(uVar18 + 6) * 8" (parenthesized_expression "(uVar18 + 6)" ( (binary_expression "uVar18 + 6" identifier + number_literal) )) * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) )) && (parenthesized_expression "((*(ulong *)((long)&DAT_001e3bc0 + (uVar18 + 6) * 8 + 4) & 0x5f0000) == 0)" ( (binary_expression "(*(ulong *)((long)&DAT_001e3bc0 + (uVar18 + 6) * 8 + 4) & 0x5f0000) == 0" (parenthesized_expression "(*(ulong *)((long)&DAT_001e3bc0 + (uVar18 + 6) * 8 + 4) & 0x5f0000)" ( (binary_expression "*(ulong *)((long)&DAT_001e3bc0 + (uVar18 + 6) * 8 + 4) & 0x5f0000" (pointer_expression "*(ulong *)((long)&DAT_001e3bc0 + (uVar18 + 6) * 8 + 4)" * (cast_expression "(ulong *)((long)&DAT_001e3bc0 + (uVar18 + 6) * 8 + 4)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&DAT_001e3bc0 + (uVar18 + 6) * 8 + 4)" ( (binary_expression "(long)&DAT_001e3bc0 + (uVar18 + 6) * 8 + 4" (binary_expression "(long)&DAT_001e3bc0 + (uVar18 + 6) * 8" (cast_expression "(long)&DAT_001e3bc0" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&DAT_001e3bc0" & identifier)) + (binary_expression "(uVar18 + 6) * 8" (parenthesized_expression "(uVar18 + 6)" ( (binary_expression "uVar18 + 6" identifier + number_literal) )) * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) ))) )) (compound_statement "{\n          DAT_001e3cf0 = (uint)*(byte *)((&DAT_001e3c60)[uVar18] + 0x11);\n          DAT_001e3cec = (uint)*(byte *)((&DAT_001e3c60)[uVar9] + 0x11);\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar18] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 4;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 4;\n          }\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 1;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 1;\n          }\n        }" { (expression_statement "DAT_001e3cf0 = (uint)*(byte *)((&DAT_001e3c60)[uVar18] + 0x11);" (assignment_expression "DAT_001e3cf0 = (uint)*(byte *)((&DAT_001e3c60)[uVar18] + 0x11)" identifier = (binary_expression "(uint)*(byte *)((&DAT_001e3c60)[uVar18] + 0x11)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)((&DAT_001e3c60)[uVar18] + 0x11)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((&DAT_001e3c60)[uVar18] + 0x11)" ( (binary_expression "(&DAT_001e3c60)[uVar18] + 0x11" (subscript_expression "(&DAT_001e3c60)[uVar18]" (parenthesized_expression "(&DAT_001e3c60)" ( (pointer_expression "&DAT_001e3c60" & identifier) )) [ identifier ]) + number_literal) ))))) ;) (expression_statement "DAT_001e3cec = (uint)*(byte *)((&DAT_001e3c60)[uVar9] + 0x11);" (assignment_expression "DAT_001e3cec = (uint)*(byte *)((&DAT_001e3c60)[uVar9] + 0x11)" identifier = (binary_expression "(uint)*(byte *)((&DAT_001e3c60)[uVar9] + 0x11)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)((&DAT_001e3c60)[uVar9] + 0x11)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((&DAT_001e3c60)[uVar9] + 0x11)" ( (binary_expression "(&DAT_001e3c60)[uVar9] + 0x11" (subscript_expression "(&DAT_001e3c60)[uVar9]" (parenthesized_expression "(&DAT_001e3c60)" ( (pointer_expression "&DAT_001e3c60" & identifier) )) [ identifier ]) + number_literal) ))))) ;) (expression_statement "bVar21 = *(byte *)((&DAT_001e3c60)[uVar18] + 0x10);" (assignment_expression "bVar21 = *(byte *)((&DAT_001e3c60)[uVar18] + 0x10)" identifier = (pointer_expression "*(byte *)((&DAT_001e3c60)[uVar18] + 0x10)" * (cast_expression "(byte *)((&DAT_001e3c60)[uVar18] + 0x10)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((&DAT_001e3c60)[uVar18] + 0x10)" ( (binary_expression "(&DAT_001e3c60)[uVar18] + 0x10" (subscript_expression "(&DAT_001e3c60)[uVar18]" (parenthesized_expression "(&DAT_001e3c60)" ( (pointer_expression "&DAT_001e3c60" & identifier) )) [ identifier ]) + number_literal) ))))) ;) (if_statement "if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 4;\n          }" if (parenthesized_expression "((bVar21 & 1) != 0)" ( (binary_expression "(bVar21 & 1) != 0" (parenthesized_expression "(bVar21 & 1)" ( (binary_expression "bVar21 & 1" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n            DAT_001e3cf8 = DAT_001e3cf8 | 4;\n          }" { (expression_statement "DAT_001e3cf8 = DAT_001e3cf8 | 4;" (assignment_expression "DAT_001e3cf8 = DAT_001e3cf8 | 4" identifier = (binary_expression "DAT_001e3cf8 | 4" identifier | number_literal)) ;) })) (if_statement "if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 4;\n          }" if (parenthesized_expression "((bVar21 & 4) != 0)" ( (binary_expression "(bVar21 & 4) != 0" (parenthesized_expression "(bVar21 & 4)" ( (binary_expression "bVar21 & 4" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n            DAT_001e3cfc = DAT_001e3cfc | 4;\n          }" { (expression_statement "DAT_001e3cfc = DAT_001e3cfc | 4;" (assignment_expression "DAT_001e3cfc = DAT_001e3cfc | 4" identifier = (binary_expression "DAT_001e3cfc | 4" identifier | number_literal)) ;) })) (expression_statement "bVar21 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10);" (assignment_expression "bVar21 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10)" identifier = (pointer_expression "*(byte *)((&DAT_001e3c60)[uVar9] + 0x10)" * (cast_expression "(byte *)((&DAT_001e3c60)[uVar9] + 0x10)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((&DAT_001e3c60)[uVar9] + 0x10)" ( (binary_expression "(&DAT_001e3c60)[uVar9] + 0x10" (subscript_expression "(&DAT_001e3c60)[uVar9]" (parenthesized_expression "(&DAT_001e3c60)" ( (pointer_expression "&DAT_001e3c60" & identifier) )) [ identifier ]) + number_literal) ))))) ;) (if_statement "if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 1;\n          }" if (parenthesized_expression "((bVar21 & 1) != 0)" ( (binary_expression "(bVar21 & 1) != 0" (parenthesized_expression "(bVar21 & 1)" ( (binary_expression "bVar21 & 1" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n            DAT_001e3cf8 = DAT_001e3cf8 | 1;\n          }" { (expression_statement "DAT_001e3cf8 = DAT_001e3cf8 | 1;" (assignment_expression "DAT_001e3cf8 = DAT_001e3cf8 | 1" identifier = (binary_expression "DAT_001e3cf8 | 1" identifier | number_literal)) ;) })) (if_statement "if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 1;\n          }" if (parenthesized_expression "((bVar21 & 4) != 0)" ( (binary_expression "(bVar21 & 4) != 0" (parenthesized_expression "(bVar21 & 4)" ( (binary_expression "bVar21 & 4" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n            DAT_001e3cfc = DAT_001e3cfc | 1;\n          }" { (expression_statement "DAT_001e3cfc = DAT_001e3cfc | 1;" (assignment_expression "DAT_001e3cfc = DAT_001e3cfc | 1" identifier = (binary_expression "DAT_001e3cfc | 1" identifier | number_literal)) ;) })) }) (else_clause "else {\n          DAT_001e3cf0 = (uint)*(byte *)((&DAT_001e3c60)[uVar9] + 0x11);\n          DAT_001e3cec = (uint)*(byte *)((&DAT_001e3c60)[uVar18] + 0x11);\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar18] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 1;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 1;\n          }\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 4;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 4;\n          }\n        }" else (compound_statement "{\n          DAT_001e3cf0 = (uint)*(byte *)((&DAT_001e3c60)[uVar9] + 0x11);\n          DAT_001e3cec = (uint)*(byte *)((&DAT_001e3c60)[uVar18] + 0x11);\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar18] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 1;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 1;\n          }\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 4;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 4;\n          }\n        }" { (expression_statement "DAT_001e3cf0 = (uint)*(byte *)((&DAT_001e3c60)[uVar9] + 0x11);" (assignment_expression "DAT_001e3cf0 = (uint)*(byte *)((&DAT_001e3c60)[uVar9] + 0x11)" identifier = (binary_expression "(uint)*(byte *)((&DAT_001e3c60)[uVar9] + 0x11)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)((&DAT_001e3c60)[uVar9] + 0x11)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((&DAT_001e3c60)[uVar9] + 0x11)" ( (binary_expression "(&DAT_001e3c60)[uVar9] + 0x11" (subscript_expression "(&DAT_001e3c60)[uVar9]" (parenthesized_expression "(&DAT_001e3c60)" ( (pointer_expression "&DAT_001e3c60" & identifier) )) [ identifier ]) + number_literal) ))))) ;) (expression_statement "DAT_001e3cec = (uint)*(byte *)((&DAT_001e3c60)[uVar18] + 0x11);" (assignment_expression "DAT_001e3cec = (uint)*(byte *)((&DAT_001e3c60)[uVar18] + 0x11)" identifier = (binary_expression "(uint)*(byte *)((&DAT_001e3c60)[uVar18] + 0x11)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)((&DAT_001e3c60)[uVar18] + 0x11)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((&DAT_001e3c60)[uVar18] + 0x11)" ( (binary_expression "(&DAT_001e3c60)[uVar18] + 0x11" (subscript_expression "(&DAT_001e3c60)[uVar18]" (parenthesized_expression "(&DAT_001e3c60)" ( (pointer_expression "&DAT_001e3c60" & identifier) )) [ identifier ]) + number_literal) ))))) ;) (expression_statement "bVar21 = *(byte *)((&DAT_001e3c60)[uVar18] + 0x10);" (assignment_expression "bVar21 = *(byte *)((&DAT_001e3c60)[uVar18] + 0x10)" identifier = (pointer_expression "*(byte *)((&DAT_001e3c60)[uVar18] + 0x10)" * (cast_expression "(byte *)((&DAT_001e3c60)[uVar18] + 0x10)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((&DAT_001e3c60)[uVar18] + 0x10)" ( (binary_expression "(&DAT_001e3c60)[uVar18] + 0x10" (subscript_expression "(&DAT_001e3c60)[uVar18]" (parenthesized_expression "(&DAT_001e3c60)" ( (pointer_expression "&DAT_001e3c60" & identifier) )) [ identifier ]) + number_literal) ))))) ;) (if_statement "if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 1;\n          }" if (parenthesized_expression "((bVar21 & 1) != 0)" ( (binary_expression "(bVar21 & 1) != 0" (parenthesized_expression "(bVar21 & 1)" ( (binary_expression "bVar21 & 1" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n            DAT_001e3cf8 = DAT_001e3cf8 | 1;\n          }" { (expression_statement "DAT_001e3cf8 = DAT_001e3cf8 | 1;" (assignment_expression "DAT_001e3cf8 = DAT_001e3cf8 | 1" identifier = (binary_expression "DAT_001e3cf8 | 1" identifier | number_literal)) ;) })) (if_statement "if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 1;\n          }" if (parenthesized_expression "((bVar21 & 4) != 0)" ( (binary_expression "(bVar21 & 4) != 0" (parenthesized_expression "(bVar21 & 4)" ( (binary_expression "bVar21 & 4" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n            DAT_001e3cfc = DAT_001e3cfc | 1;\n          }" { (expression_statement "DAT_001e3cfc = DAT_001e3cfc | 1;" (assignment_expression "DAT_001e3cfc = DAT_001e3cfc | 1" identifier = (binary_expression "DAT_001e3cfc | 1" identifier | number_literal)) ;) })) (expression_statement "bVar21 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10);" (assignment_expression "bVar21 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10)" identifier = (pointer_expression "*(byte *)((&DAT_001e3c60)[uVar9] + 0x10)" * (cast_expression "(byte *)((&DAT_001e3c60)[uVar9] + 0x10)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((&DAT_001e3c60)[uVar9] + 0x10)" ( (binary_expression "(&DAT_001e3c60)[uVar9] + 0x10" (subscript_expression "(&DAT_001e3c60)[uVar9]" (parenthesized_expression "(&DAT_001e3c60)" ( (pointer_expression "&DAT_001e3c60" & identifier) )) [ identifier ]) + number_literal) ))))) ;) (if_statement "if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 4;\n          }" if (parenthesized_expression "((bVar21 & 1) != 0)" ( (binary_expression "(bVar21 & 1) != 0" (parenthesized_expression "(bVar21 & 1)" ( (binary_expression "bVar21 & 1" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n            DAT_001e3cf8 = DAT_001e3cf8 | 4;\n          }" { (expression_statement "DAT_001e3cf8 = DAT_001e3cf8 | 4;" (assignment_expression "DAT_001e3cf8 = DAT_001e3cf8 | 4" identifier = (binary_expression "DAT_001e3cf8 | 4" identifier | number_literal)) ;) })) (if_statement "if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 4;\n          }" if (parenthesized_expression "((bVar21 & 4) != 0)" ( (binary_expression "(bVar21 & 4) != 0" (parenthesized_expression "(bVar21 & 4)" ( (binary_expression "bVar21 & 4" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n            DAT_001e3cfc = DAT_001e3cfc | 4;\n          }" { (expression_statement "DAT_001e3cfc = DAT_001e3cfc | 4;" (assignment_expression "DAT_001e3cfc = DAT_001e3cfc | 4" identifier = (binary_expression "DAT_001e3cfc | 4" identifier | number_literal)) ;) })) }))) (if_statement "if ((DAT_001e3b14 != 2) && ((DAT_001e3cf8 & 4) != 0)) {\n          if ((*(byte *)(&DAT_001e3bc8 + ((ulong)(DAT_001e3bf7 >> 3 & 1) + 0xe) * 2) & 0x10) == 0) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1af4,"build_modrm_byte");\n          }\n          DAT_001e3cf8 = DAT_001e3cf8 & 0xfffffffb;\n          FUN_00131f90(0xf0);\n          return (undefined1 *)0x0;\n        }" if (parenthesized_expression "((DAT_001e3b14 != 2) && ((DAT_001e3cf8 & 4) != 0))" ( (binary_expression "(DAT_001e3b14 != 2) && ((DAT_001e3cf8 & 4) != 0)" (parenthesized_expression "(DAT_001e3b14 != 2)" ( (binary_expression "DAT_001e3b14 != 2" identifier != number_literal) )) && (parenthesized_expression "((DAT_001e3cf8 & 4) != 0)" ( (binary_expression "(DAT_001e3cf8 & 4) != 0" (parenthesized_expression "(DAT_001e3cf8 & 4)" ( (binary_expression "DAT_001e3cf8 & 4" identifier & number_literal) )) != number_literal) ))) )) (compound_statement "{\n          if ((*(byte *)(&DAT_001e3bc8 + ((ulong)(DAT_001e3bf7 >> 3 & 1) + 0xe) * 2) & 0x10) == 0) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1af4,"build_modrm_byte");\n          }\n          DAT_001e3cf8 = DAT_001e3cf8 & 0xfffffffb;\n          FUN_00131f90(0xf0);\n          return (undefined1 *)0x0;\n        }" { (if_statement "if ((*(byte *)(&DAT_001e3bc8 + ((ulong)(DAT_001e3bf7 >> 3 & 1) + 0xe) * 2) & 0x10) == 0) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1af4,"build_modrm_byte");\n          }" if (parenthesized_expression "((*(byte *)(&DAT_001e3bc8 + ((ulong)(DAT_001e3bf7 >> 3 & 1) + 0xe) * 2) & 0x10) == 0)" ( (binary_expression "(*(byte *)(&DAT_001e3bc8 + ((ulong)(DAT_001e3bf7 >> 3 & 1) + 0xe) * 2) & 0x10) == 0" (parenthesized_expression "(*(byte *)(&DAT_001e3bc8 + ((ulong)(DAT_001e3bf7 >> 3 & 1) + 0xe) * 2) & 0x10)" ( (binary_expression "*(byte *)(&DAT_001e3bc8 + ((ulong)(DAT_001e3bf7 >> 3 & 1) + 0xe) * 2) & 0x10" (pointer_expression "*(byte *)(&DAT_001e3bc8 + ((ulong)(DAT_001e3bf7 >> 3 & 1) + 0xe) * 2)" * (cast_expression "(byte *)(&DAT_001e3bc8 + ((ulong)(DAT_001e3bf7 >> 3 & 1) + 0xe) * 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001e3bc8 + ((ulong)(DAT_001e3bf7 >> 3 & 1) + 0xe) * 2)" ( (binary_expression "&DAT_001e3bc8 + ((ulong)(DAT_001e3bf7 >> 3 & 1) + 0xe) * 2" (pointer_expression "&DAT_001e3bc8" & identifier) + (binary_expression "((ulong)(DAT_001e3bf7 >> 3 & 1) + 0xe) * 2" (parenthesized_expression "((ulong)(DAT_001e3bf7 >> 3 & 1) + 0xe)" ( (binary_expression "(ulong)(DAT_001e3bf7 >> 3 & 1) + 0xe" (call_expression "(ulong)(DAT_001e3bf7 >> 3 & 1)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(DAT_001e3bf7 >> 3 & 1)" ( (binary_expression "DAT_001e3bf7 >> 3 & 1" (binary_expression "DAT_001e3bf7 >> 3" identifier >> number_literal) & number_literal) ))) + number_literal) )) * number_literal)) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1af4,"build_modrm_byte");\n          }" { (expression_statement "FUN_0011dd00("../../gas/config/tc-i386.c",0x1af4,"build_modrm_byte");" (call_expression "FUN_0011dd00("../../gas/config/tc-i386.c",0x1af4,"build_modrm_byte")" identifier (argument_list "("../../gas/config/tc-i386.c",0x1af4,"build_modrm_byte")" ( (string_literal ""../../gas/config/tc-i386.c"" " string_content ") , number_literal , (string_literal ""build_modrm_byte"" " string_content ") ))) ;) })) (expression_statement "DAT_001e3cf8 = DAT_001e3cf8 & 0xfffffffb;" (assignment_expression "DAT_001e3cf8 = DAT_001e3cf8 & 0xfffffffb" identifier = (binary_expression "DAT_001e3cf8 & 0xfffffffb" identifier & number_literal)) ;) (expression_statement "FUN_00131f90(0xf0);" (call_expression "FUN_00131f90(0xf0)" identifier (argument_list "(0xf0)" ( number_literal ))) ;) (return_statement "return (undefined1 *)0x0;" return (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) (expression_statement "DAT_001e3cf4 = 3;" (assignment_expression "DAT_001e3cf4 = 3" identifier = number_literal) ;) (return_statement "return (undefined1 *)0x0;" return (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) }) (else_clause "else if (DAT_001e3c28 == 3) {\n      if ((DAT_001e3bed & 0x18) == 8) goto LAB_0013335b;\n    }\n    else if ((DAT_001e3c28 == 4) && (bVar19 == 8)) {\n      if (DAT_001e3c24 == 3) goto LAB_00133ea8;\n      if (DAT_001e3c24 < 4) {\n        if (DAT_001e3c24 != 2) goto LAB_00133dcf;\n        goto LAB_001337ff;\n      }\n      if (DAT_001e3c24 == 4) goto LAB_00133379;\njoined_r0x00133753:\n      if (DAT_001e3c24 != 5) {\nLAB_00133dcf:\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1aa0,"build_modrm_byte");\n      }\n      if (DAT_001e3bef == '\0') {\n        uVar9 = uVar20;\n        uVar22 = 5;\n      }\n      else {\n        if (((DAT_001e3c34 != 2) || (-1 < DAT_001e3bef)) || ((DAT_001e3c38._1_1_ & 0xfc) == 0)) {\n                    \n          FUN_0011dd00("../../gas/config/tc-i386.c",0x1a96,"build_modrm_byte");\n        }\n        if ((DAT_001e3c40._1_1_ & 0xfc) == 0) {\n          if ((DAT_001e3c58._1_1_ & 0xfc) == 0) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1a9c,"build_modrm_byte");\n          }\n          uVar9 = 1;\n          uVar22 = 5;\n        }\n        else {\n          uVar9 = (ulong)DAT_001e3c34;\n          uVar22 = 5;\n        }\n      }\n      goto LAB_001337c1;\n    }" else (if_statement "if (DAT_001e3c28 == 3) {\n      if ((DAT_001e3bed & 0x18) == 8) goto LAB_0013335b;\n    }\n    else if ((DAT_001e3c28 == 4) && (bVar19 == 8)) {\n      if (DAT_001e3c24 == 3) goto LAB_00133ea8;\n      if (DAT_001e3c24 < 4) {\n        if (DAT_001e3c24 != 2) goto LAB_00133dcf;\n        goto LAB_001337ff;\n      }\n      if (DAT_001e3c24 == 4) goto LAB_00133379;\njoined_r0x00133753:\n      if (DAT_001e3c24 != 5) {\nLAB_00133dcf:\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1aa0,"build_modrm_byte");\n      }\n      if (DAT_001e3bef == '\0') {\n        uVar9 = uVar20;\n        uVar22 = 5;\n      }\n      else {\n        if (((DAT_001e3c34 != 2) || (-1 < DAT_001e3bef)) || ((DAT_001e3c38._1_1_ & 0xfc) == 0)) {\n                    \n          FUN_0011dd00("../../gas/config/tc-i386.c",0x1a96,"build_modrm_byte");\n        }\n        if ((DAT_001e3c40._1_1_ & 0xfc) == 0) {\n          if ((DAT_001e3c58._1_1_ & 0xfc) == 0) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1a9c,"build_modrm_byte");\n          }\n          uVar9 = 1;\n          uVar22 = 5;\n        }\n        else {\n          uVar9 = (ulong)DAT_001e3c34;\n          uVar22 = 5;\n        }\n      }\n      goto LAB_001337c1;\n    }" if (parenthesized_expression "(DAT_001e3c28 == 3)" ( (binary_expression "DAT_001e3c28 == 3" identifier == number_literal) )) (compound_statement "{\n      if ((DAT_001e3bed & 0x18) == 8) goto LAB_0013335b;\n    }" { (if_statement "if ((DAT_001e3bed & 0x18) == 8) goto LAB_0013335b;" if (parenthesized_expression "((DAT_001e3bed & 0x18) == 8)" ( (binary_expression "(DAT_001e3bed & 0x18) == 8" (parenthesized_expression "(DAT_001e3bed & 0x18)" ( (binary_expression "DAT_001e3bed & 0x18" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0013335b;" goto statement_identifier ;)) }) (else_clause "else if ((DAT_001e3c28 == 4) && (bVar19 == 8)) {\n      if (DAT_001e3c24 == 3) goto LAB_00133ea8;\n      if (DAT_001e3c24 < 4) {\n        if (DAT_001e3c24 != 2) goto LAB_00133dcf;\n        goto LAB_001337ff;\n      }\n      if (DAT_001e3c24 == 4) goto LAB_00133379;\njoined_r0x00133753:\n      if (DAT_001e3c24 != 5) {\nLAB_00133dcf:\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1aa0,"build_modrm_byte");\n      }\n      if (DAT_001e3bef == '\0') {\n        uVar9 = uVar20;\n        uVar22 = 5;\n      }\n      else {\n        if (((DAT_001e3c34 != 2) || (-1 < DAT_001e3bef)) || ((DAT_001e3c38._1_1_ & 0xfc) == 0)) {\n                    \n          FUN_0011dd00("../../gas/config/tc-i386.c",0x1a96,"build_modrm_byte");\n        }\n        if ((DAT_001e3c40._1_1_ & 0xfc) == 0) {\n          if ((DAT_001e3c58._1_1_ & 0xfc) == 0) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1a9c,"build_modrm_byte");\n          }\n          uVar9 = 1;\n          uVar22 = 5;\n        }\n        else {\n          uVar9 = (ulong)DAT_001e3c34;\n          uVar22 = 5;\n        }\n      }\n      goto LAB_001337c1;\n    }" else (if_statement "if ((DAT_001e3c28 == 4) && (bVar19 == 8)) {\n      if (DAT_001e3c24 == 3) goto LAB_00133ea8;\n      if (DAT_001e3c24 < 4) {\n        if (DAT_001e3c24 != 2) goto LAB_00133dcf;\n        goto LAB_001337ff;\n      }\n      if (DAT_001e3c24 == 4) goto LAB_00133379;\njoined_r0x00133753:\n      if (DAT_001e3c24 != 5) {\nLAB_00133dcf:\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1aa0,"build_modrm_byte");\n      }\n      if (DAT_001e3bef == '\0') {\n        uVar9 = uVar20;\n        uVar22 = 5;\n      }\n      else {\n        if (((DAT_001e3c34 != 2) || (-1 < DAT_001e3bef)) || ((DAT_001e3c38._1_1_ & 0xfc) == 0)) {\n                    \n          FUN_0011dd00("../../gas/config/tc-i386.c",0x1a96,"build_modrm_byte");\n        }\n        if ((DAT_001e3c40._1_1_ & 0xfc) == 0) {\n          if ((DAT_001e3c58._1_1_ & 0xfc) == 0) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1a9c,"build_modrm_byte");\n          }\n          uVar9 = 1;\n          uVar22 = 5;\n        }\n        else {\n          uVar9 = (ulong)DAT_001e3c34;\n          uVar22 = 5;\n        }\n      }\n      goto LAB_001337c1;\n    }" if (parenthesized_expression "((DAT_001e3c28 == 4) && (bVar19 == 8))" ( (binary_expression "(DAT_001e3c28 == 4) && (bVar19 == 8)" (parenthesized_expression "(DAT_001e3c28 == 4)" ( (binary_expression "DAT_001e3c28 == 4" identifier == number_literal) )) && (parenthesized_expression "(bVar19 == 8)" ( (binary_expression "bVar19 == 8" identifier == number_literal) ))) )) (compound_statement "{\n      if (DAT_001e3c24 == 3) goto LAB_00133ea8;\n      if (DAT_001e3c24 < 4) {\n        if (DAT_001e3c24 != 2) goto LAB_00133dcf;\n        goto LAB_001337ff;\n      }\n      if (DAT_001e3c24 == 4) goto LAB_00133379;\njoined_r0x00133753:\n      if (DAT_001e3c24 != 5) {\nLAB_00133dcf:\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1aa0,"build_modrm_byte");\n      }\n      if (DAT_001e3bef == '\0') {\n        uVar9 = uVar20;\n        uVar22 = 5;\n      }\n      else {\n        if (((DAT_001e3c34 != 2) || (-1 < DAT_001e3bef)) || ((DAT_001e3c38._1_1_ & 0xfc) == 0)) {\n                    \n          FUN_0011dd00("../../gas/config/tc-i386.c",0x1a96,"build_modrm_byte");\n        }\n        if ((DAT_001e3c40._1_1_ & 0xfc) == 0) {\n          if ((DAT_001e3c58._1_1_ & 0xfc) == 0) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1a9c,"build_modrm_byte");\n          }\n          uVar9 = 1;\n          uVar22 = 5;\n        }\n        else {\n          uVar9 = (ulong)DAT_001e3c34;\n          uVar22 = 5;\n        }\n      }\n      goto LAB_001337c1;\n    }" { (if_statement "if (DAT_001e3c24 == 3) goto LAB_00133ea8;" if (parenthesized_expression "(DAT_001e3c24 == 3)" ( (binary_expression "DAT_001e3c24 == 3" identifier == number_literal) )) (goto_statement "goto LAB_00133ea8;" goto statement_identifier ;)) (if_statement "if (DAT_001e3c24 < 4) {\n        if (DAT_001e3c24 != 2) goto LAB_00133dcf;\n        goto LAB_001337ff;\n      }" if (parenthesized_expression "(DAT_001e3c24 < 4)" ( (binary_expression "DAT_001e3c24 < 4" identifier < number_literal) )) (compound_statement "{\n        if (DAT_001e3c24 != 2) goto LAB_00133dcf;\n        goto LAB_001337ff;\n      }" { (if_statement "if (DAT_001e3c24 != 2) goto LAB_00133dcf;" if (parenthesized_expression "(DAT_001e3c24 != 2)" ( (binary_expression "DAT_001e3c24 != 2" identifier != number_literal) )) (goto_statement "goto LAB_00133dcf;" goto statement_identifier ;)) (goto_statement "goto LAB_001337ff;" goto statement_identifier ;) })) (if_statement "if (DAT_001e3c24 == 4) goto LAB_00133379;" if (parenthesized_expression "(DAT_001e3c24 == 4)" ( (binary_expression "DAT_001e3c24 == 4" identifier == number_literal) )) (goto_statement "goto LAB_00133379;" goto statement_identifier ;)) (labeled_statement "joined_r0x00133753:\n      if (DAT_001e3c24 != 5) {\nLAB_00133dcf:\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1aa0,"build_modrm_byte");\n      }" statement_identifier : (if_statement "if (DAT_001e3c24 != 5) {\nLAB_00133dcf:\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1aa0,"build_modrm_byte");\n      }" if (parenthesized_expression "(DAT_001e3c24 != 5)" ( (binary_expression "DAT_001e3c24 != 5" identifier != number_literal) )) (compound_statement "{\nLAB_00133dcf:\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1aa0,"build_modrm_byte");\n      }" { (labeled_statement "LAB_00133dcf:\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1aa0,"build_modrm_byte");" statement_identifier : (expression_statement "FUN_0011dd00("../../gas/config/tc-i386.c",0x1aa0,"build_modrm_byte");" (call_expression "FUN_0011dd00("../../gas/config/tc-i386.c",0x1aa0,"build_modrm_byte")" identifier (argument_list "("../../gas/config/tc-i386.c",0x1aa0,"build_modrm_byte")" ( (string_literal ""../../gas/config/tc-i386.c"" " string_content ") , number_literal , (string_literal ""build_modrm_byte"" " string_content ") ))) ;)) }))) (if_statement "if (DAT_001e3bef == '\0') {\n        uVar9 = uVar20;\n        uVar22 = 5;\n      }\n      else {\n        if (((DAT_001e3c34 != 2) || (-1 < DAT_001e3bef)) || ((DAT_001e3c38._1_1_ & 0xfc) == 0)) {\n                    \n          FUN_0011dd00("../../gas/config/tc-i386.c",0x1a96,"build_modrm_byte");\n        }\n        if ((DAT_001e3c40._1_1_ & 0xfc) == 0) {\n          if ((DAT_001e3c58._1_1_ & 0xfc) == 0) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1a9c,"build_modrm_byte");\n          }\n          uVar9 = 1;\n          uVar22 = 5;\n        }\n        else {\n          uVar9 = (ulong)DAT_001e3c34;\n          uVar22 = 5;\n        }\n      }" if (parenthesized_expression "(DAT_001e3bef == '\0')" ( (binary_expression "DAT_001e3bef == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        uVar9 = uVar20;\n        uVar22 = 5;\n      }" { (expression_statement "uVar9 = uVar20;" (assignment_expression "uVar9 = uVar20" identifier = identifier) ;) (expression_statement "uVar22 = 5;" (assignment_expression "uVar22 = 5" identifier = number_literal) ;) }) (else_clause "else {\n        if (((DAT_001e3c34 != 2) || (-1 < DAT_001e3bef)) || ((DAT_001e3c38._1_1_ & 0xfc) == 0)) {\n                    \n          FUN_0011dd00("../../gas/config/tc-i386.c",0x1a96,"build_modrm_byte");\n        }\n        if ((DAT_001e3c40._1_1_ & 0xfc) == 0) {\n          if ((DAT_001e3c58._1_1_ & 0xfc) == 0) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1a9c,"build_modrm_byte");\n          }\n          uVar9 = 1;\n          uVar22 = 5;\n        }\n        else {\n          uVar9 = (ulong)DAT_001e3c34;\n          uVar22 = 5;\n        }\n      }" else (compound_statement "{\n        if (((DAT_001e3c34 != 2) || (-1 < DAT_001e3bef)) || ((DAT_001e3c38._1_1_ & 0xfc) == 0)) {\n                    \n          FUN_0011dd00("../../gas/config/tc-i386.c",0x1a96,"build_modrm_byte");\n        }\n        if ((DAT_001e3c40._1_1_ & 0xfc) == 0) {\n          if ((DAT_001e3c58._1_1_ & 0xfc) == 0) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1a9c,"build_modrm_byte");\n          }\n          uVar9 = 1;\n          uVar22 = 5;\n        }\n        else {\n          uVar9 = (ulong)DAT_001e3c34;\n          uVar22 = 5;\n        }\n      }" { (if_statement "if (((DAT_001e3c34 != 2) || (-1 < DAT_001e3bef)) || ((DAT_001e3c38._1_1_ & 0xfc) == 0)) {\n                    \n          FUN_0011dd00("../../gas/config/tc-i386.c",0x1a96,"build_modrm_byte");\n        }" if (parenthesized_expression "(((DAT_001e3c34 != 2) || (-1 < DAT_001e3bef)) || ((DAT_001e3c38._1_1_ & 0xfc) == 0))" ( (binary_expression "((DAT_001e3c34 != 2) || (-1 < DAT_001e3bef)) || ((DAT_001e3c38._1_1_ & 0xfc) == 0)" (parenthesized_expression "((DAT_001e3c34 != 2) || (-1 < DAT_001e3bef))" ( (binary_expression "(DAT_001e3c34 != 2) || (-1 < DAT_001e3bef)" (parenthesized_expression "(DAT_001e3c34 != 2)" ( (binary_expression "DAT_001e3c34 != 2" identifier != number_literal) )) || (parenthesized_expression "(-1 < DAT_001e3bef)" ( (binary_expression "-1 < DAT_001e3bef" number_literal < identifier) ))) )) || (parenthesized_expression "((DAT_001e3c38._1_1_ & 0xfc) == 0)" ( (binary_expression "(DAT_001e3c38._1_1_ & 0xfc) == 0" (parenthesized_expression "(DAT_001e3c38._1_1_ & 0xfc)" ( (binary_expression "DAT_001e3c38._1_1_ & 0xfc" (field_expression "DAT_001e3c38._1_1_" identifier . field_identifier) & number_literal) )) == number_literal) ))) )) (compound_statement "{\n                    \n          FUN_0011dd00("../../gas/config/tc-i386.c",0x1a96,"build_modrm_byte");\n        }" { (expression_statement "FUN_0011dd00("../../gas/config/tc-i386.c",0x1a96,"build_modrm_byte");" (call_expression "FUN_0011dd00("../../gas/config/tc-i386.c",0x1a96,"build_modrm_byte")" identifier (argument_list "("../../gas/config/tc-i386.c",0x1a96,"build_modrm_byte")" ( (string_literal ""../../gas/config/tc-i386.c"" " string_content ") , number_literal , (string_literal ""build_modrm_byte"" " string_content ") ))) ;) })) (if_statement "if ((DAT_001e3c40._1_1_ & 0xfc) == 0) {\n          if ((DAT_001e3c58._1_1_ & 0xfc) == 0) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1a9c,"build_modrm_byte");\n          }\n          uVar9 = 1;\n          uVar22 = 5;\n        }\n        else {\n          uVar9 = (ulong)DAT_001e3c34;\n          uVar22 = 5;\n        }" if (parenthesized_expression "((DAT_001e3c40._1_1_ & 0xfc) == 0)" ( (binary_expression "(DAT_001e3c40._1_1_ & 0xfc) == 0" (parenthesized_expression "(DAT_001e3c40._1_1_ & 0xfc)" ( (binary_expression "DAT_001e3c40._1_1_ & 0xfc" (field_expression "DAT_001e3c40._1_1_" identifier . field_identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n          if ((DAT_001e3c58._1_1_ & 0xfc) == 0) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1a9c,"build_modrm_byte");\n          }\n          uVar9 = 1;\n          uVar22 = 5;\n        }" { (if_statement "if ((DAT_001e3c58._1_1_ & 0xfc) == 0) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1a9c,"build_modrm_byte");\n          }" if (parenthesized_expression "((DAT_001e3c58._1_1_ & 0xfc) == 0)" ( (binary_expression "(DAT_001e3c58._1_1_ & 0xfc) == 0" (parenthesized_expression "(DAT_001e3c58._1_1_ & 0xfc)" ( (binary_expression "DAT_001e3c58._1_1_ & 0xfc" (field_expression "DAT_001e3c58._1_1_" identifier . field_identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1a9c,"build_modrm_byte");\n          }" { (expression_statement "FUN_0011dd00("../../gas/config/tc-i386.c",0x1a9c,"build_modrm_byte");" (call_expression "FUN_0011dd00("../../gas/config/tc-i386.c",0x1a9c,"build_modrm_byte")" identifier (argument_list "("../../gas/config/tc-i386.c",0x1a9c,"build_modrm_byte")" ( (string_literal ""../../gas/config/tc-i386.c"" " string_content ") , number_literal , (string_literal ""build_modrm_byte"" " string_content ") ))) ;) })) (expression_statement "uVar9 = 1;" (assignment_expression "uVar9 = 1" identifier = number_literal) ;) (expression_statement "uVar22 = 5;" (assignment_expression "uVar22 = 5" identifier = number_literal) ;) }) (else_clause "else {\n          uVar9 = (ulong)DAT_001e3c34;\n          uVar22 = 5;\n        }" else (compound_statement "{\n          uVar9 = (ulong)DAT_001e3c34;\n          uVar22 = 5;\n        }" { (expression_statement "uVar9 = (ulong)DAT_001e3c34;" (assignment_expression "uVar9 = (ulong)DAT_001e3c34" identifier = (cast_expression "(ulong)DAT_001e3c34" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "uVar22 = 5;" (assignment_expression "uVar22 = 5" identifier = number_literal) ;) }))) }))) (goto_statement "goto LAB_001337c1;" goto statement_identifier ;) })))))) (expression_statement "uVar22 = 0xffffffff;" (assignment_expression "uVar22 = 0xffffffff" identifier = number_literal) ;) (expression_statement "puVar10 = (undefined1 *)0x0;" (assignment_expression "puVar10 = (undefined1 *)0x0" identifier = (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n    if (DAT_001e3c24 == 0) {\nLAB_0013303b:\n                    \n      FUN_0011dd00("../../gas/config/tc-i386.c",0x1b05,"build_modrm_byte");\n    }\n    if ((DAT_001e3c38._2_1_ & 0x5f) == 0) {\n      uVar9 = 1;\n      do {\n        uVar20 = uVar9 & 0xffffffff;\n        if (DAT_001e3c24 <= (uint)uVar9) goto LAB_0013303b;\n        puVar3 = &DAT_001e3c38 + uVar9;\n        uVar9 = uVar9 + 1;\n      } while ((*puVar3 & 0x5f0000) == 0);\n    }\n    else {\n      uVar20 = 0;\n    }\n    bVar21 = bVar21 & 0x30;\n    uVar22 = (uint)uVar20;\n    if (bVar21 == 0) {\nLAB_0013313d:\n      if (lVar13 != 0) goto LAB_00133146;\nLAB_00133448:\n      lVar13 = DAT_001e3cb8;\n      DAT_001e3cf4 = 0;\n      if (DAT_001e3c2c == 0) {\n        if (DAT_001e3cb8 == 0) {\n          iVar16 = 1;\n          goto LAB_00133cae;\n        }\n        if (bVar21 == 0) {\n          iVar16 = 1;\n          goto LAB_00133af0;\n        }\n        goto LAB_00133a60;\n      }\n      if (DAT_001e3cb8 != 0) {\n        if (bVar21 == 0) {\n          iVar16 = 0;\nLAB_00133af0:\n          uVar15 = (uint)*(byte *)(DAT_001e3cb8 + 0x11);\n          DAT_001e3cec = 4;\n          if ((byte)(*(byte *)(DAT_001e3cb8 + 0x11) + 4) < 2) {\n            uVar15 = 4;\n          }\n          _DAT_001e3d00 = CONCAT44(uVar15,5);\n          DAT_001e3d08 = DAT_001e3cc0;\n          lVar2 = uVar20 * 8;\n          bVar21 = *(byte *)((long)&DAT_001e3c38 + lVar2 + 2);\n          bVar24 = DAT_001e3b14 == 2;\n          *(byte *)((long)&DAT_001e3c38 + lVar2 + 2) = bVar21 & 0xec;\n          if ((bVar24) && (DAT_001e3ce6 == '\0')) {\n            *(byte *)((long)&DAT_001e3c38 + lVar2 + 2) = bVar21 & 0xe0 | 8;\n          }\n          else {\n            *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) =\n                 *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xf3 | 4;\n          }\n          puVar10 = ds;\n          if ((*(byte *)(lVar13 + 0x10) & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 2;\n          }\n          goto LAB_00133b80;\n        }\n        goto LAB_00133424;\n      }\n      iVar16 = 0;\nLAB_00133cae:\n      if (bVar21 != 0) {\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1b33,"build_modrm_byte");\n      }\n      if (DAT_001e3b14 == 2) {\n        DAT_001e3cec = 4;\n        uVar17 = (uint)(DAT_001e3ce6 == '\0');\n        uVar15 = (uint)(DAT_001e3ce6 != '\0');\n        _DAT_001e3d00 = 0x400000005;\n        iVar8 = 0;\n      }\n      else if ((DAT_001e3b14 == 1) == (DAT_001e3ce6 != '\0')) {\n        DAT_001e3cec = 5;\n        uVar17 = 0;\n        uVar15 = 1;\n        iVar8 = 0;\n      }\n      else {\n        DAT_001e3cec = 6;\n        uVar17 = 0;\n        uVar15 = 0;\n        iVar8 = 1;\n      }\n      uVar23 = ~DAT_00153a64;\n      *(uint *)(&DAT_001e3c38 + uVar20) =\n           iVar8 << 0x11 | uVar15 << 0x12 | uVar17 << 0x13 |\n           ~DAT_00153a60 & *(uint *)(&DAT_001e3c38 + uVar20);\n      puVar10 = ds;\n      puVar1 = (uint *)((long)&DAT_001e3c38 + uVar20 * 8 + 4);\n      *puVar1 = *puVar1 & uVar23;\nLAB_00133b80:\n      if (iVar16 != 0) goto LAB_00133a67;\n    }\n    else {\n      cVar6 = *(char *)(DAT_001e3cb8 + 0x11);\n      if ((byte)(cVar6 + 4U) < 2) {\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1b0b,"build_modrm_byte");\n      }\n      DAT_001e3cec = 4;\n      if (DAT_001e3cb0 == 0) {\n        _DAT_001e3d00 = 5;\n        DAT_001e3d08 = DAT_001e3cc0;\n        lVar4 = uVar20 * 8;\n        bVar7 = *(byte *)((long)&DAT_001e3c38 + lVar4 + 2);\n        bVar24 = DAT_001e3b14 == 2;\n        *(byte *)((long)&DAT_001e3c38 + lVar4 + 2) = bVar7 & 0xec;\n        if ((bVar24) && (DAT_001e3ce6 == '\0')) {\n          *(byte *)((long)&DAT_001e3c38 + lVar4 + 2) = bVar7 & 0xe0 | 8;\n        }\n        else {\n          *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) =\n               *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xf3 | 4;\n        }\n      }\n      _DAT_001e3d00 = (ulong)CONCAT14(cVar6,_DAT_001e3d00);\n      if ((*(byte *)(lVar2 + 0x10) & 1) != 0) {\n        DAT_001e3cf8 = DAT_001e3cf8 | 2;\n      }\n      if ((*(byte *)(lVar2 + 0x10) & 4) == 0) goto LAB_0013313d;\n      DAT_001e3cfc = DAT_001e3cfc | 2;\n      if (lVar13 == 0) goto LAB_00133448;\nLAB_00133146:\n      bVar7 = *(byte *)(lVar13 + 0x11);\n      if (bVar7 < 0xfe) {\n        if ((*(byte *)(lVar13 + 0xb) & 0x40) == 0) {\n          if ((DAT_001e3b14 == 2) &&\n             ((*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f) != 0)) {\n            lVar2 = (uVar20 + 0xe) * 8;\n            bVar14 = *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2);\n            bVar12 = bVar14 & 0xe1;\n            *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar14 & 0xed;\n            if (DAT_001e3ce6 == '\0') {\n              *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar12 | 8;\n            }\n            else {\n              *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar12 | 4;\n            }\n          }\n          if (bVar21 == 0) {\n            DAT_001e3cec = (uint)bVar7;\n          }\n          if ((*(byte *)(lVar13 + 0x10) & 1) == 0) {\n            puVar10 = ss;\n            if (1 < (byte)(bVar7 - 4)) {\n              puVar10 = ds;\n            }\n          }\n          else {\n            DAT_001e3cf8 = DAT_001e3cf8 | 1;\n            puVar10 = ds;\n          }\n          _DAT_001e3d00 = CONCAT44(DAT_001e3d04,(uint)bVar7);\n          iVar16 = 0;\n          if ((bVar7 == 5) && (iVar16 = 0, DAT_001e3c2c == 0)) {\n            iVar16 = 1;\n            pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n            *pbVar5 = *pbVar5 | 1;\n          }\n          iVar8 = DAT_001e3d40;\n          DAT_001e3d08 = DAT_001e3cc0;\n          if (DAT_001e3cb8 == 0) {\n            if (bVar21 != 0) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1bbf,"build_modrm_byte");\n            }\n            _DAT_001e3d00 = CONCAT44(4,_DAT_001e3d00);\n          }\n          else if (bVar21 == 0) {\n            DAT_001e3cec = 4;\n            uVar15 = (uint)*(byte *)(DAT_001e3cb8 + 0x11);\n            if ((byte)(*(byte *)(DAT_001e3cb8 + 0x11) + 4) < 2) {\n              uVar15 = 4;\n            }\n            _DAT_001e3d00 = CONCAT44(uVar15,_DAT_001e3d00);\n            if ((*(byte *)(DAT_001e3cb8 + 0x10) & 1) != 0) {\n              DAT_001e3cf8 = DAT_001e3cf8 | 2;\n            }\n          }\n          if (DAT_001e3c2c == 0) {\n            if ((iVar16 == 0) && (iVar16 = iVar8, DAT_001e3d40 != 0)) {\n              if (DAT_001e3d40 == 1) {\n                pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n                *pbVar5 = *pbVar5 | 1;\n              }\n              else {\n                pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n                *pbVar5 = *pbVar5 | 4;\n                iVar16 = 1;\n              }\n            }\n          }\n          else if (((&DAT_001e3c9c)[uVar20] == 0x179) || ((&DAT_001e3c9c)[uVar20] == 0x195)) {\n            DAT_001e3cf4 = 0;\n            goto LAB_00133b80;\n          }\n        }\n        else {\n          if (bVar21 != 0) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1b7c,"build_modrm_byte");\n          }\n          if (bVar7 == 3) {\n            if (DAT_001e3cb8 != 0) {\n              DAT_001e3cec = *(byte *)(DAT_001e3cb8 + 0x11) - 6;\n              goto LAB_0013317e;\n            }\n            DAT_001e3cec = 7;\n            puVar10 = ds;\n            iVar16 = 0;\n          }\n          else if (bVar7 == 5) {\n            if (DAT_001e3cb8 == 0) {\n              puVar10 = ss;\n              DAT_001e3cec = 6;\n              iVar16 = 0;\n              if ((*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f) == 0) {\n                pbVar5 = (byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2);\n                *pbVar5 = *pbVar5 | 1;\n                iVar16 = 1;\n              }\n            }\n            else {\n              DAT_001e3cec = *(byte *)(DAT_001e3cb8 + 0x11) - 4;\n              puVar10 = ss;\n              iVar16 = 0;\n            }\n          }\n          else {\n            DAT_001e3cec = bVar7 - 2;\nLAB_0013317e:\n            iVar16 = 0;\n            puVar10 = ds;\n          }\n        }\n        DAT_001e3cf4 = 1;\n        if (((ulong)(&DAT_001e3c38)[uVar20] >> 0x10 & 1) == 0) {\n          DAT_001e3cf4 = (uint)(((&DAT_001e3c38)[uVar20] & 0xe0000) != 0) * 2;\n        }\n        goto LAB_00133b80;\n      }\n      if (bVar21 != 0) {\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1b6f,"build_modrm_byte");\n      }\n      DAT_001e3cec = 5;\n      *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) =\n           *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xe0 | 8;\n      uVar15 = DAT_001e3c2c;\n      (&DAT_001e3c88)[uVar20] = (&DAT_001e3c88)[uVar20] | 1;\n      if (uVar15 != 0) {\nLAB_00133424:\n        puVar10 = ds;\n        goto LAB_00133089;\n      }\nLAB_00133a60:\n      puVar10 = ds;\nLAB_00133a67:\n      if ((&DAT_001e3bc0)[uVar20 + 0x14] != 0) {\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1bed,"build_modrm_byte");\n      }\n      uVar9 = (ulong)DAT_001e3c2c;\n      DAT_001e3c2c = DAT_001e3c2c + 1;\n      lVar13 = uVar9 * 0x20;\n      (&DAT_001e3bc0)[uVar20 + 0x14] = &DAT_001e3b60 + lVar13;\n      (&DAT_001e3b78)[lVar13] = 2;\n      *(undefined8 *)(&DAT_001e3b70 + lVar13) = 0;\n      *(undefined8 *)(&DAT_001e3b60 + lVar13) = 0;\n      *(undefined8 *)(&DAT_001e3b68 + lVar13) = 0;\n    }\n    bVar14 = DAT_001e3bee & 0xc;\n  }" else (compound_statement "{\n    if (DAT_001e3c24 == 0) {\nLAB_0013303b:\n                    \n      FUN_0011dd00("../../gas/config/tc-i386.c",0x1b05,"build_modrm_byte");\n    }\n    if ((DAT_001e3c38._2_1_ & 0x5f) == 0) {\n      uVar9 = 1;\n      do {\n        uVar20 = uVar9 & 0xffffffff;\n        if (DAT_001e3c24 <= (uint)uVar9) goto LAB_0013303b;\n        puVar3 = &DAT_001e3c38 + uVar9;\n        uVar9 = uVar9 + 1;\n      } while ((*puVar3 & 0x5f0000) == 0);\n    }\n    else {\n      uVar20 = 0;\n    }\n    bVar21 = bVar21 & 0x30;\n    uVar22 = (uint)uVar20;\n    if (bVar21 == 0) {\nLAB_0013313d:\n      if (lVar13 != 0) goto LAB_00133146;\nLAB_00133448:\n      lVar13 = DAT_001e3cb8;\n      DAT_001e3cf4 = 0;\n      if (DAT_001e3c2c == 0) {\n        if (DAT_001e3cb8 == 0) {\n          iVar16 = 1;\n          goto LAB_00133cae;\n        }\n        if (bVar21 == 0) {\n          iVar16 = 1;\n          goto LAB_00133af0;\n        }\n        goto LAB_00133a60;\n      }\n      if (DAT_001e3cb8 != 0) {\n        if (bVar21 == 0) {\n          iVar16 = 0;\nLAB_00133af0:\n          uVar15 = (uint)*(byte *)(DAT_001e3cb8 + 0x11);\n          DAT_001e3cec = 4;\n          if ((byte)(*(byte *)(DAT_001e3cb8 + 0x11) + 4) < 2) {\n            uVar15 = 4;\n          }\n          _DAT_001e3d00 = CONCAT44(uVar15,5);\n          DAT_001e3d08 = DAT_001e3cc0;\n          lVar2 = uVar20 * 8;\n          bVar21 = *(byte *)((long)&DAT_001e3c38 + lVar2 + 2);\n          bVar24 = DAT_001e3b14 == 2;\n          *(byte *)((long)&DAT_001e3c38 + lVar2 + 2) = bVar21 & 0xec;\n          if ((bVar24) && (DAT_001e3ce6 == '\0')) {\n            *(byte *)((long)&DAT_001e3c38 + lVar2 + 2) = bVar21 & 0xe0 | 8;\n          }\n          else {\n            *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) =\n                 *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xf3 | 4;\n          }\n          puVar10 = ds;\n          if ((*(byte *)(lVar13 + 0x10) & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 2;\n          }\n          goto LAB_00133b80;\n        }\n        goto LAB_00133424;\n      }\n      iVar16 = 0;\nLAB_00133cae:\n      if (bVar21 != 0) {\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1b33,"build_modrm_byte");\n      }\n      if (DAT_001e3b14 == 2) {\n        DAT_001e3cec = 4;\n        uVar17 = (uint)(DAT_001e3ce6 == '\0');\n        uVar15 = (uint)(DAT_001e3ce6 != '\0');\n        _DAT_001e3d00 = 0x400000005;\n        iVar8 = 0;\n      }\n      else if ((DAT_001e3b14 == 1) == (DAT_001e3ce6 != '\0')) {\n        DAT_001e3cec = 5;\n        uVar17 = 0;\n        uVar15 = 1;\n        iVar8 = 0;\n      }\n      else {\n        DAT_001e3cec = 6;\n        uVar17 = 0;\n        uVar15 = 0;\n        iVar8 = 1;\n      }\n      uVar23 = ~DAT_00153a64;\n      *(uint *)(&DAT_001e3c38 + uVar20) =\n           iVar8 << 0x11 | uVar15 << 0x12 | uVar17 << 0x13 |\n           ~DAT_00153a60 & *(uint *)(&DAT_001e3c38 + uVar20);\n      puVar10 = ds;\n      puVar1 = (uint *)((long)&DAT_001e3c38 + uVar20 * 8 + 4);\n      *puVar1 = *puVar1 & uVar23;\nLAB_00133b80:\n      if (iVar16 != 0) goto LAB_00133a67;\n    }\n    else {\n      cVar6 = *(char *)(DAT_001e3cb8 + 0x11);\n      if ((byte)(cVar6 + 4U) < 2) {\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1b0b,"build_modrm_byte");\n      }\n      DAT_001e3cec = 4;\n      if (DAT_001e3cb0 == 0) {\n        _DAT_001e3d00 = 5;\n        DAT_001e3d08 = DAT_001e3cc0;\n        lVar4 = uVar20 * 8;\n        bVar7 = *(byte *)((long)&DAT_001e3c38 + lVar4 + 2);\n        bVar24 = DAT_001e3b14 == 2;\n        *(byte *)((long)&DAT_001e3c38 + lVar4 + 2) = bVar7 & 0xec;\n        if ((bVar24) && (DAT_001e3ce6 == '\0')) {\n          *(byte *)((long)&DAT_001e3c38 + lVar4 + 2) = bVar7 & 0xe0 | 8;\n        }\n        else {\n          *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) =\n               *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xf3 | 4;\n        }\n      }\n      _DAT_001e3d00 = (ulong)CONCAT14(cVar6,_DAT_001e3d00);\n      if ((*(byte *)(lVar2 + 0x10) & 1) != 0) {\n        DAT_001e3cf8 = DAT_001e3cf8 | 2;\n      }\n      if ((*(byte *)(lVar2 + 0x10) & 4) == 0) goto LAB_0013313d;\n      DAT_001e3cfc = DAT_001e3cfc | 2;\n      if (lVar13 == 0) goto LAB_00133448;\nLAB_00133146:\n      bVar7 = *(byte *)(lVar13 + 0x11);\n      if (bVar7 < 0xfe) {\n        if ((*(byte *)(lVar13 + 0xb) & 0x40) == 0) {\n          if ((DAT_001e3b14 == 2) &&\n             ((*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f) != 0)) {\n            lVar2 = (uVar20 + 0xe) * 8;\n            bVar14 = *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2);\n            bVar12 = bVar14 & 0xe1;\n            *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar14 & 0xed;\n            if (DAT_001e3ce6 == '\0') {\n              *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar12 | 8;\n            }\n            else {\n              *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar12 | 4;\n            }\n          }\n          if (bVar21 == 0) {\n            DAT_001e3cec = (uint)bVar7;\n          }\n          if ((*(byte *)(lVar13 + 0x10) & 1) == 0) {\n            puVar10 = ss;\n            if (1 < (byte)(bVar7 - 4)) {\n              puVar10 = ds;\n            }\n          }\n          else {\n            DAT_001e3cf8 = DAT_001e3cf8 | 1;\n            puVar10 = ds;\n          }\n          _DAT_001e3d00 = CONCAT44(DAT_001e3d04,(uint)bVar7);\n          iVar16 = 0;\n          if ((bVar7 == 5) && (iVar16 = 0, DAT_001e3c2c == 0)) {\n            iVar16 = 1;\n            pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n            *pbVar5 = *pbVar5 | 1;\n          }\n          iVar8 = DAT_001e3d40;\n          DAT_001e3d08 = DAT_001e3cc0;\n          if (DAT_001e3cb8 == 0) {\n            if (bVar21 != 0) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1bbf,"build_modrm_byte");\n            }\n            _DAT_001e3d00 = CONCAT44(4,_DAT_001e3d00);\n          }\n          else if (bVar21 == 0) {\n            DAT_001e3cec = 4;\n            uVar15 = (uint)*(byte *)(DAT_001e3cb8 + 0x11);\n            if ((byte)(*(byte *)(DAT_001e3cb8 + 0x11) + 4) < 2) {\n              uVar15 = 4;\n            }\n            _DAT_001e3d00 = CONCAT44(uVar15,_DAT_001e3d00);\n            if ((*(byte *)(DAT_001e3cb8 + 0x10) & 1) != 0) {\n              DAT_001e3cf8 = DAT_001e3cf8 | 2;\n            }\n          }\n          if (DAT_001e3c2c == 0) {\n            if ((iVar16 == 0) && (iVar16 = iVar8, DAT_001e3d40 != 0)) {\n              if (DAT_001e3d40 == 1) {\n                pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n                *pbVar5 = *pbVar5 | 1;\n              }\n              else {\n                pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n                *pbVar5 = *pbVar5 | 4;\n                iVar16 = 1;\n              }\n            }\n          }\n          else if (((&DAT_001e3c9c)[uVar20] == 0x179) || ((&DAT_001e3c9c)[uVar20] == 0x195)) {\n            DAT_001e3cf4 = 0;\n            goto LAB_00133b80;\n          }\n        }\n        else {\n          if (bVar21 != 0) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1b7c,"build_modrm_byte");\n          }\n          if (bVar7 == 3) {\n            if (DAT_001e3cb8 != 0) {\n              DAT_001e3cec = *(byte *)(DAT_001e3cb8 + 0x11) - 6;\n              goto LAB_0013317e;\n            }\n            DAT_001e3cec = 7;\n            puVar10 = ds;\n            iVar16 = 0;\n          }\n          else if (bVar7 == 5) {\n            if (DAT_001e3cb8 == 0) {\n              puVar10 = ss;\n              DAT_001e3cec = 6;\n              iVar16 = 0;\n              if ((*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f) == 0) {\n                pbVar5 = (byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2);\n                *pbVar5 = *pbVar5 | 1;\n                iVar16 = 1;\n              }\n            }\n            else {\n              DAT_001e3cec = *(byte *)(DAT_001e3cb8 + 0x11) - 4;\n              puVar10 = ss;\n              iVar16 = 0;\n            }\n          }\n          else {\n            DAT_001e3cec = bVar7 - 2;\nLAB_0013317e:\n            iVar16 = 0;\n            puVar10 = ds;\n          }\n        }\n        DAT_001e3cf4 = 1;\n        if (((ulong)(&DAT_001e3c38)[uVar20] >> 0x10 & 1) == 0) {\n          DAT_001e3cf4 = (uint)(((&DAT_001e3c38)[uVar20] & 0xe0000) != 0) * 2;\n        }\n        goto LAB_00133b80;\n      }\n      if (bVar21 != 0) {\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1b6f,"build_modrm_byte");\n      }\n      DAT_001e3cec = 5;\n      *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) =\n           *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xe0 | 8;\n      uVar15 = DAT_001e3c2c;\n      (&DAT_001e3c88)[uVar20] = (&DAT_001e3c88)[uVar20] | 1;\n      if (uVar15 != 0) {\nLAB_00133424:\n        puVar10 = ds;\n        goto LAB_00133089;\n      }\nLAB_00133a60:\n      puVar10 = ds;\nLAB_00133a67:\n      if ((&DAT_001e3bc0)[uVar20 + 0x14] != 0) {\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1bed,"build_modrm_byte");\n      }\n      uVar9 = (ulong)DAT_001e3c2c;\n      DAT_001e3c2c = DAT_001e3c2c + 1;\n      lVar13 = uVar9 * 0x20;\n      (&DAT_001e3bc0)[uVar20 + 0x14] = &DAT_001e3b60 + lVar13;\n      (&DAT_001e3b78)[lVar13] = 2;\n      *(undefined8 *)(&DAT_001e3b70 + lVar13) = 0;\n      *(undefined8 *)(&DAT_001e3b60 + lVar13) = 0;\n      *(undefined8 *)(&DAT_001e3b68 + lVar13) = 0;\n    }\n    bVar14 = DAT_001e3bee & 0xc;\n  }" { (if_statement "if (DAT_001e3c24 == 0) {\nLAB_0013303b:\n                    \n      FUN_0011dd00("../../gas/config/tc-i386.c",0x1b05,"build_modrm_byte");\n    }" if (parenthesized_expression "(DAT_001e3c24 == 0)" ( (binary_expression "DAT_001e3c24 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_0013303b:\n                    \n      FUN_0011dd00("../../gas/config/tc-i386.c",0x1b05,"build_modrm_byte");\n    }" { (labeled_statement "LAB_0013303b:\n                    \n      FUN_0011dd00("../../gas/config/tc-i386.c",0x1b05,"build_modrm_byte");" statement_identifier : (expression_statement "FUN_0011dd00("../../gas/config/tc-i386.c",0x1b05,"build_modrm_byte");" (call_expression "FUN_0011dd00("../../gas/config/tc-i386.c",0x1b05,"build_modrm_byte")" identifier (argument_list "("../../gas/config/tc-i386.c",0x1b05,"build_modrm_byte")" ( (string_literal ""../../gas/config/tc-i386.c"" " string_content ") , number_literal , (string_literal ""build_modrm_byte"" " string_content ") ))) ;)) })) (if_statement "if ((DAT_001e3c38._2_1_ & 0x5f) == 0) {\n      uVar9 = 1;\n      do {\n        uVar20 = uVar9 & 0xffffffff;\n        if (DAT_001e3c24 <= (uint)uVar9) goto LAB_0013303b;\n        puVar3 = &DAT_001e3c38 + uVar9;\n        uVar9 = uVar9 + 1;\n      } while ((*puVar3 & 0x5f0000) == 0);\n    }\n    else {\n      uVar20 = 0;\n    }" if (parenthesized_expression "((DAT_001e3c38._2_1_ & 0x5f) == 0)" ( (binary_expression "(DAT_001e3c38._2_1_ & 0x5f) == 0" (parenthesized_expression "(DAT_001e3c38._2_1_ & 0x5f)" ( (binary_expression "DAT_001e3c38._2_1_ & 0x5f" (field_expression "DAT_001e3c38._2_1_" identifier . field_identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n      uVar9 = 1;\n      do {\n        uVar20 = uVar9 & 0xffffffff;\n        if (DAT_001e3c24 <= (uint)uVar9) goto LAB_0013303b;\n        puVar3 = &DAT_001e3c38 + uVar9;\n        uVar9 = uVar9 + 1;\n      } while ((*puVar3 & 0x5f0000) == 0);\n    }" { (expression_statement "uVar9 = 1;" (assignment_expression "uVar9 = 1" identifier = number_literal) ;) (do_statement "do {\n        uVar20 = uVar9 & 0xffffffff;\n        if (DAT_001e3c24 <= (uint)uVar9) goto LAB_0013303b;\n        puVar3 = &DAT_001e3c38 + uVar9;\n        uVar9 = uVar9 + 1;\n      } while ((*puVar3 & 0x5f0000) == 0);" do (compound_statement "{\n        uVar20 = uVar9 & 0xffffffff;\n        if (DAT_001e3c24 <= (uint)uVar9) goto LAB_0013303b;\n        puVar3 = &DAT_001e3c38 + uVar9;\n        uVar9 = uVar9 + 1;\n      }" { (expression_statement "uVar20 = uVar9 & 0xffffffff;" (assignment_expression "uVar20 = uVar9 & 0xffffffff" identifier = (binary_expression "uVar9 & 0xffffffff" identifier & number_literal)) ;) (if_statement "if (DAT_001e3c24 <= (uint)uVar9) goto LAB_0013303b;" if (parenthesized_expression "(DAT_001e3c24 <= (uint)uVar9)" ( (binary_expression "DAT_001e3c24 <= (uint)uVar9" identifier <= (cast_expression "(uint)uVar9" ( (type_descriptor "uint" type_identifier) ) identifier)) )) (goto_statement "goto LAB_0013303b;" goto statement_identifier ;)) (expression_statement "puVar3 = &DAT_001e3c38 + uVar9;" (assignment_expression "puVar3 = &DAT_001e3c38 + uVar9" identifier = (binary_expression "&DAT_001e3c38 + uVar9" (pointer_expression "&DAT_001e3c38" & identifier) + identifier)) ;) (expression_statement "uVar9 = uVar9 + 1;" (assignment_expression "uVar9 = uVar9 + 1" identifier = (binary_expression "uVar9 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "((*puVar3 & 0x5f0000) == 0)" ( (binary_expression "(*puVar3 & 0x5f0000) == 0" (parenthesized_expression "(*puVar3 & 0x5f0000)" ( (binary_expression "*puVar3 & 0x5f0000" (pointer_expression "*puVar3" * identifier) & number_literal) )) == number_literal) )) ;) }) (else_clause "else {\n      uVar20 = 0;\n    }" else (compound_statement "{\n      uVar20 = 0;\n    }" { (expression_statement "uVar20 = 0;" (assignment_expression "uVar20 = 0" identifier = number_literal) ;) }))) (expression_statement "bVar21 = bVar21 & 0x30;" (assignment_expression "bVar21 = bVar21 & 0x30" identifier = (binary_expression "bVar21 & 0x30" identifier & number_literal)) ;) (expression_statement "uVar22 = (uint)uVar20;" (assignment_expression "uVar22 = (uint)uVar20" identifier = (cast_expression "(uint)uVar20" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if (bVar21 == 0) {\nLAB_0013313d:\n      if (lVar13 != 0) goto LAB_00133146;\nLAB_00133448:\n      lVar13 = DAT_001e3cb8;\n      DAT_001e3cf4 = 0;\n      if (DAT_001e3c2c == 0) {\n        if (DAT_001e3cb8 == 0) {\n          iVar16 = 1;\n          goto LAB_00133cae;\n        }\n        if (bVar21 == 0) {\n          iVar16 = 1;\n          goto LAB_00133af0;\n        }\n        goto LAB_00133a60;\n      }\n      if (DAT_001e3cb8 != 0) {\n        if (bVar21 == 0) {\n          iVar16 = 0;\nLAB_00133af0:\n          uVar15 = (uint)*(byte *)(DAT_001e3cb8 + 0x11);\n          DAT_001e3cec = 4;\n          if ((byte)(*(byte *)(DAT_001e3cb8 + 0x11) + 4) < 2) {\n            uVar15 = 4;\n          }\n          _DAT_001e3d00 = CONCAT44(uVar15,5);\n          DAT_001e3d08 = DAT_001e3cc0;\n          lVar2 = uVar20 * 8;\n          bVar21 = *(byte *)((long)&DAT_001e3c38 + lVar2 + 2);\n          bVar24 = DAT_001e3b14 == 2;\n          *(byte *)((long)&DAT_001e3c38 + lVar2 + 2) = bVar21 & 0xec;\n          if ((bVar24) && (DAT_001e3ce6 == '\0')) {\n            *(byte *)((long)&DAT_001e3c38 + lVar2 + 2) = bVar21 & 0xe0 | 8;\n          }\n          else {\n            *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) =\n                 *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xf3 | 4;\n          }\n          puVar10 = ds;\n          if ((*(byte *)(lVar13 + 0x10) & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 2;\n          }\n          goto LAB_00133b80;\n        }\n        goto LAB_00133424;\n      }\n      iVar16 = 0;\nLAB_00133cae:\n      if (bVar21 != 0) {\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1b33,"build_modrm_byte");\n      }\n      if (DAT_001e3b14 == 2) {\n        DAT_001e3cec = 4;\n        uVar17 = (uint)(DAT_001e3ce6 == '\0');\n        uVar15 = (uint)(DAT_001e3ce6 != '\0');\n        _DAT_001e3d00 = 0x400000005;\n        iVar8 = 0;\n      }\n      else if ((DAT_001e3b14 == 1) == (DAT_001e3ce6 != '\0')) {\n        DAT_001e3cec = 5;\n        uVar17 = 0;\n        uVar15 = 1;\n        iVar8 = 0;\n      }\n      else {\n        DAT_001e3cec = 6;\n        uVar17 = 0;\n        uVar15 = 0;\n        iVar8 = 1;\n      }\n      uVar23 = ~DAT_00153a64;\n      *(uint *)(&DAT_001e3c38 + uVar20) =\n           iVar8 << 0x11 | uVar15 << 0x12 | uVar17 << 0x13 |\n           ~DAT_00153a60 & *(uint *)(&DAT_001e3c38 + uVar20);\n      puVar10 = ds;\n      puVar1 = (uint *)((long)&DAT_001e3c38 + uVar20 * 8 + 4);\n      *puVar1 = *puVar1 & uVar23;\nLAB_00133b80:\n      if (iVar16 != 0) goto LAB_00133a67;\n    }\n    else {\n      cVar6 = *(char *)(DAT_001e3cb8 + 0x11);\n      if ((byte)(cVar6 + 4U) < 2) {\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1b0b,"build_modrm_byte");\n      }\n      DAT_001e3cec = 4;\n      if (DAT_001e3cb0 == 0) {\n        _DAT_001e3d00 = 5;\n        DAT_001e3d08 = DAT_001e3cc0;\n        lVar4 = uVar20 * 8;\n        bVar7 = *(byte *)((long)&DAT_001e3c38 + lVar4 + 2);\n        bVar24 = DAT_001e3b14 == 2;\n        *(byte *)((long)&DAT_001e3c38 + lVar4 + 2) = bVar7 & 0xec;\n        if ((bVar24) && (DAT_001e3ce6 == '\0')) {\n          *(byte *)((long)&DAT_001e3c38 + lVar4 + 2) = bVar7 & 0xe0 | 8;\n        }\n        else {\n          *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) =\n               *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xf3 | 4;\n        }\n      }\n      _DAT_001e3d00 = (ulong)CONCAT14(cVar6,_DAT_001e3d00);\n      if ((*(byte *)(lVar2 + 0x10) & 1) != 0) {\n        DAT_001e3cf8 = DAT_001e3cf8 | 2;\n      }\n      if ((*(byte *)(lVar2 + 0x10) & 4) == 0) goto LAB_0013313d;\n      DAT_001e3cfc = DAT_001e3cfc | 2;\n      if (lVar13 == 0) goto LAB_00133448;\nLAB_00133146:\n      bVar7 = *(byte *)(lVar13 + 0x11);\n      if (bVar7 < 0xfe) {\n        if ((*(byte *)(lVar13 + 0xb) & 0x40) == 0) {\n          if ((DAT_001e3b14 == 2) &&\n             ((*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f) != 0)) {\n            lVar2 = (uVar20 + 0xe) * 8;\n            bVar14 = *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2);\n            bVar12 = bVar14 & 0xe1;\n            *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar14 & 0xed;\n            if (DAT_001e3ce6 == '\0') {\n              *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar12 | 8;\n            }\n            else {\n              *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar12 | 4;\n            }\n          }\n          if (bVar21 == 0) {\n            DAT_001e3cec = (uint)bVar7;\n          }\n          if ((*(byte *)(lVar13 + 0x10) & 1) == 0) {\n            puVar10 = ss;\n            if (1 < (byte)(bVar7 - 4)) {\n              puVar10 = ds;\n            }\n          }\n          else {\n            DAT_001e3cf8 = DAT_001e3cf8 | 1;\n            puVar10 = ds;\n          }\n          _DAT_001e3d00 = CONCAT44(DAT_001e3d04,(uint)bVar7);\n          iVar16 = 0;\n          if ((bVar7 == 5) && (iVar16 = 0, DAT_001e3c2c == 0)) {\n            iVar16 = 1;\n            pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n            *pbVar5 = *pbVar5 | 1;\n          }\n          iVar8 = DAT_001e3d40;\n          DAT_001e3d08 = DAT_001e3cc0;\n          if (DAT_001e3cb8 == 0) {\n            if (bVar21 != 0) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1bbf,"build_modrm_byte");\n            }\n            _DAT_001e3d00 = CONCAT44(4,_DAT_001e3d00);\n          }\n          else if (bVar21 == 0) {\n            DAT_001e3cec = 4;\n            uVar15 = (uint)*(byte *)(DAT_001e3cb8 + 0x11);\n            if ((byte)(*(byte *)(DAT_001e3cb8 + 0x11) + 4) < 2) {\n              uVar15 = 4;\n            }\n            _DAT_001e3d00 = CONCAT44(uVar15,_DAT_001e3d00);\n            if ((*(byte *)(DAT_001e3cb8 + 0x10) & 1) != 0) {\n              DAT_001e3cf8 = DAT_001e3cf8 | 2;\n            }\n          }\n          if (DAT_001e3c2c == 0) {\n            if ((iVar16 == 0) && (iVar16 = iVar8, DAT_001e3d40 != 0)) {\n              if (DAT_001e3d40 == 1) {\n                pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n                *pbVar5 = *pbVar5 | 1;\n              }\n              else {\n                pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n                *pbVar5 = *pbVar5 | 4;\n                iVar16 = 1;\n              }\n            }\n          }\n          else if (((&DAT_001e3c9c)[uVar20] == 0x179) || ((&DAT_001e3c9c)[uVar20] == 0x195)) {\n            DAT_001e3cf4 = 0;\n            goto LAB_00133b80;\n          }\n        }\n        else {\n          if (bVar21 != 0) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1b7c,"build_modrm_byte");\n          }\n          if (bVar7 == 3) {\n            if (DAT_001e3cb8 != 0) {\n              DAT_001e3cec = *(byte *)(DAT_001e3cb8 + 0x11) - 6;\n              goto LAB_0013317e;\n            }\n            DAT_001e3cec = 7;\n            puVar10 = ds;\n            iVar16 = 0;\n          }\n          else if (bVar7 == 5) {\n            if (DAT_001e3cb8 == 0) {\n              puVar10 = ss;\n              DAT_001e3cec = 6;\n              iVar16 = 0;\n              if ((*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f) == 0) {\n                pbVar5 = (byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2);\n                *pbVar5 = *pbVar5 | 1;\n                iVar16 = 1;\n              }\n            }\n            else {\n              DAT_001e3cec = *(byte *)(DAT_001e3cb8 + 0x11) - 4;\n              puVar10 = ss;\n              iVar16 = 0;\n            }\n          }\n          else {\n            DAT_001e3cec = bVar7 - 2;\nLAB_0013317e:\n            iVar16 = 0;\n            puVar10 = ds;\n          }\n        }\n        DAT_001e3cf4 = 1;\n        if (((ulong)(&DAT_001e3c38)[uVar20] >> 0x10 & 1) == 0) {\n          DAT_001e3cf4 = (uint)(((&DAT_001e3c38)[uVar20] & 0xe0000) != 0) * 2;\n        }\n        goto LAB_00133b80;\n      }\n      if (bVar21 != 0) {\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1b6f,"build_modrm_byte");\n      }\n      DAT_001e3cec = 5;\n      *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) =\n           *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xe0 | 8;\n      uVar15 = DAT_001e3c2c;\n      (&DAT_001e3c88)[uVar20] = (&DAT_001e3c88)[uVar20] | 1;\n      if (uVar15 != 0) {\nLAB_00133424:\n        puVar10 = ds;\n        goto LAB_00133089;\n      }\nLAB_00133a60:\n      puVar10 = ds;\nLAB_00133a67:\n      if ((&DAT_001e3bc0)[uVar20 + 0x14] != 0) {\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1bed,"build_modrm_byte");\n      }\n      uVar9 = (ulong)DAT_001e3c2c;\n      DAT_001e3c2c = DAT_001e3c2c + 1;\n      lVar13 = uVar9 * 0x20;\n      (&DAT_001e3bc0)[uVar20 + 0x14] = &DAT_001e3b60 + lVar13;\n      (&DAT_001e3b78)[lVar13] = 2;\n      *(undefined8 *)(&DAT_001e3b70 + lVar13) = 0;\n      *(undefined8 *)(&DAT_001e3b60 + lVar13) = 0;\n      *(undefined8 *)(&DAT_001e3b68 + lVar13) = 0;\n    }" if (parenthesized_expression "(bVar21 == 0)" ( (binary_expression "bVar21 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_0013313d:\n      if (lVar13 != 0) goto LAB_00133146;\nLAB_00133448:\n      lVar13 = DAT_001e3cb8;\n      DAT_001e3cf4 = 0;\n      if (DAT_001e3c2c == 0) {\n        if (DAT_001e3cb8 == 0) {\n          iVar16 = 1;\n          goto LAB_00133cae;\n        }\n        if (bVar21 == 0) {\n          iVar16 = 1;\n          goto LAB_00133af0;\n        }\n        goto LAB_00133a60;\n      }\n      if (DAT_001e3cb8 != 0) {\n        if (bVar21 == 0) {\n          iVar16 = 0;\nLAB_00133af0:\n          uVar15 = (uint)*(byte *)(DAT_001e3cb8 + 0x11);\n          DAT_001e3cec = 4;\n          if ((byte)(*(byte *)(DAT_001e3cb8 + 0x11) + 4) < 2) {\n            uVar15 = 4;\n          }\n          _DAT_001e3d00 = CONCAT44(uVar15,5);\n          DAT_001e3d08 = DAT_001e3cc0;\n          lVar2 = uVar20 * 8;\n          bVar21 = *(byte *)((long)&DAT_001e3c38 + lVar2 + 2);\n          bVar24 = DAT_001e3b14 == 2;\n          *(byte *)((long)&DAT_001e3c38 + lVar2 + 2) = bVar21 & 0xec;\n          if ((bVar24) && (DAT_001e3ce6 == '\0')) {\n            *(byte *)((long)&DAT_001e3c38 + lVar2 + 2) = bVar21 & 0xe0 | 8;\n          }\n          else {\n            *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) =\n                 *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xf3 | 4;\n          }\n          puVar10 = ds;\n          if ((*(byte *)(lVar13 + 0x10) & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 2;\n          }\n          goto LAB_00133b80;\n        }\n        goto LAB_00133424;\n      }\n      iVar16 = 0;\nLAB_00133cae:\n      if (bVar21 != 0) {\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1b33,"build_modrm_byte");\n      }\n      if (DAT_001e3b14 == 2) {\n        DAT_001e3cec = 4;\n        uVar17 = (uint)(DAT_001e3ce6 == '\0');\n        uVar15 = (uint)(DAT_001e3ce6 != '\0');\n        _DAT_001e3d00 = 0x400000005;\n        iVar8 = 0;\n      }\n      else if ((DAT_001e3b14 == 1) == (DAT_001e3ce6 != '\0')) {\n        DAT_001e3cec = 5;\n        uVar17 = 0;\n        uVar15 = 1;\n        iVar8 = 0;\n      }\n      else {\n        DAT_001e3cec = 6;\n        uVar17 = 0;\n        uVar15 = 0;\n        iVar8 = 1;\n      }\n      uVar23 = ~DAT_00153a64;\n      *(uint *)(&DAT_001e3c38 + uVar20) =\n           iVar8 << 0x11 | uVar15 << 0x12 | uVar17 << 0x13 |\n           ~DAT_00153a60 & *(uint *)(&DAT_001e3c38 + uVar20);\n      puVar10 = ds;\n      puVar1 = (uint *)((long)&DAT_001e3c38 + uVar20 * 8 + 4);\n      *puVar1 = *puVar1 & uVar23;\nLAB_00133b80:\n      if (iVar16 != 0) goto LAB_00133a67;\n    }" { (labeled_statement "LAB_0013313d:\n      if (lVar13 != 0) goto LAB_00133146;" statement_identifier : (if_statement "if (lVar13 != 0) goto LAB_00133146;" if (parenthesized_expression "(lVar13 != 0)" ( (binary_expression "lVar13 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00133146;" goto statement_identifier ;))) (labeled_statement "LAB_00133448:\n      lVar13 = DAT_001e3cb8;" statement_identifier : (expression_statement "lVar13 = DAT_001e3cb8;" (assignment_expression "lVar13 = DAT_001e3cb8" identifier = identifier) ;)) (expression_statement "DAT_001e3cf4 = 0;" (assignment_expression "DAT_001e3cf4 = 0" identifier = number_literal) ;) (if_statement "if (DAT_001e3c2c == 0) {\n        if (DAT_001e3cb8 == 0) {\n          iVar16 = 1;\n          goto LAB_00133cae;\n        }\n        if (bVar21 == 0) {\n          iVar16 = 1;\n          goto LAB_00133af0;\n        }\n        goto LAB_00133a60;\n      }" if (parenthesized_expression "(DAT_001e3c2c == 0)" ( (binary_expression "DAT_001e3c2c == 0" identifier == number_literal) )) (compound_statement "{\n        if (DAT_001e3cb8 == 0) {\n          iVar16 = 1;\n          goto LAB_00133cae;\n        }\n        if (bVar21 == 0) {\n          iVar16 = 1;\n          goto LAB_00133af0;\n        }\n        goto LAB_00133a60;\n      }" { (if_statement "if (DAT_001e3cb8 == 0) {\n          iVar16 = 1;\n          goto LAB_00133cae;\n        }" if (parenthesized_expression "(DAT_001e3cb8 == 0)" ( (binary_expression "DAT_001e3cb8 == 0" identifier == number_literal) )) (compound_statement "{\n          iVar16 = 1;\n          goto LAB_00133cae;\n        }" { (expression_statement "iVar16 = 1;" (assignment_expression "iVar16 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_00133cae;" goto statement_identifier ;) })) (if_statement "if (bVar21 == 0) {\n          iVar16 = 1;\n          goto LAB_00133af0;\n        }" if (parenthesized_expression "(bVar21 == 0)" ( (binary_expression "bVar21 == 0" identifier == number_literal) )) (compound_statement "{\n          iVar16 = 1;\n          goto LAB_00133af0;\n        }" { (expression_statement "iVar16 = 1;" (assignment_expression "iVar16 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_00133af0;" goto statement_identifier ;) })) (goto_statement "goto LAB_00133a60;" goto statement_identifier ;) })) (if_statement "if (DAT_001e3cb8 != 0) {\n        if (bVar21 == 0) {\n          iVar16 = 0;\nLAB_00133af0:\n          uVar15 = (uint)*(byte *)(DAT_001e3cb8 + 0x11);\n          DAT_001e3cec = 4;\n          if ((byte)(*(byte *)(DAT_001e3cb8 + 0x11) + 4) < 2) {\n            uVar15 = 4;\n          }\n          _DAT_001e3d00 = CONCAT44(uVar15,5);\n          DAT_001e3d08 = DAT_001e3cc0;\n          lVar2 = uVar20 * 8;\n          bVar21 = *(byte *)((long)&DAT_001e3c38 + lVar2 + 2);\n          bVar24 = DAT_001e3b14 == 2;\n          *(byte *)((long)&DAT_001e3c38 + lVar2 + 2) = bVar21 & 0xec;\n          if ((bVar24) && (DAT_001e3ce6 == '\0')) {\n            *(byte *)((long)&DAT_001e3c38 + lVar2 + 2) = bVar21 & 0xe0 | 8;\n          }\n          else {\n            *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) =\n                 *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xf3 | 4;\n          }\n          puVar10 = ds;\n          if ((*(byte *)(lVar13 + 0x10) & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 2;\n          }\n          goto LAB_00133b80;\n        }\n        goto LAB_00133424;\n      }" if (parenthesized_expression "(DAT_001e3cb8 != 0)" ( (binary_expression "DAT_001e3cb8 != 0" identifier != number_literal) )) (compound_statement "{\n        if (bVar21 == 0) {\n          iVar16 = 0;\nLAB_00133af0:\n          uVar15 = (uint)*(byte *)(DAT_001e3cb8 + 0x11);\n          DAT_001e3cec = 4;\n          if ((byte)(*(byte *)(DAT_001e3cb8 + 0x11) + 4) < 2) {\n            uVar15 = 4;\n          }\n          _DAT_001e3d00 = CONCAT44(uVar15,5);\n          DAT_001e3d08 = DAT_001e3cc0;\n          lVar2 = uVar20 * 8;\n          bVar21 = *(byte *)((long)&DAT_001e3c38 + lVar2 + 2);\n          bVar24 = DAT_001e3b14 == 2;\n          *(byte *)((long)&DAT_001e3c38 + lVar2 + 2) = bVar21 & 0xec;\n          if ((bVar24) && (DAT_001e3ce6 == '\0')) {\n            *(byte *)((long)&DAT_001e3c38 + lVar2 + 2) = bVar21 & 0xe0 | 8;\n          }\n          else {\n            *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) =\n                 *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xf3 | 4;\n          }\n          puVar10 = ds;\n          if ((*(byte *)(lVar13 + 0x10) & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 2;\n          }\n          goto LAB_00133b80;\n        }\n        goto LAB_00133424;\n      }" { (if_statement "if (bVar21 == 0) {\n          iVar16 = 0;\nLAB_00133af0:\n          uVar15 = (uint)*(byte *)(DAT_001e3cb8 + 0x11);\n          DAT_001e3cec = 4;\n          if ((byte)(*(byte *)(DAT_001e3cb8 + 0x11) + 4) < 2) {\n            uVar15 = 4;\n          }\n          _DAT_001e3d00 = CONCAT44(uVar15,5);\n          DAT_001e3d08 = DAT_001e3cc0;\n          lVar2 = uVar20 * 8;\n          bVar21 = *(byte *)((long)&DAT_001e3c38 + lVar2 + 2);\n          bVar24 = DAT_001e3b14 == 2;\n          *(byte *)((long)&DAT_001e3c38 + lVar2 + 2) = bVar21 & 0xec;\n          if ((bVar24) && (DAT_001e3ce6 == '\0')) {\n            *(byte *)((long)&DAT_001e3c38 + lVar2 + 2) = bVar21 & 0xe0 | 8;\n          }\n          else {\n            *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) =\n                 *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xf3 | 4;\n          }\n          puVar10 = ds;\n          if ((*(byte *)(lVar13 + 0x10) & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 2;\n          }\n          goto LAB_00133b80;\n        }" if (parenthesized_expression "(bVar21 == 0)" ( (binary_expression "bVar21 == 0" identifier == number_literal) )) (compound_statement "{\n          iVar16 = 0;\nLAB_00133af0:\n          uVar15 = (uint)*(byte *)(DAT_001e3cb8 + 0x11);\n          DAT_001e3cec = 4;\n          if ((byte)(*(byte *)(DAT_001e3cb8 + 0x11) + 4) < 2) {\n            uVar15 = 4;\n          }\n          _DAT_001e3d00 = CONCAT44(uVar15,5);\n          DAT_001e3d08 = DAT_001e3cc0;\n          lVar2 = uVar20 * 8;\n          bVar21 = *(byte *)((long)&DAT_001e3c38 + lVar2 + 2);\n          bVar24 = DAT_001e3b14 == 2;\n          *(byte *)((long)&DAT_001e3c38 + lVar2 + 2) = bVar21 & 0xec;\n          if ((bVar24) && (DAT_001e3ce6 == '\0')) {\n            *(byte *)((long)&DAT_001e3c38 + lVar2 + 2) = bVar21 & 0xe0 | 8;\n          }\n          else {\n            *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) =\n                 *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xf3 | 4;\n          }\n          puVar10 = ds;\n          if ((*(byte *)(lVar13 + 0x10) & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 2;\n          }\n          goto LAB_00133b80;\n        }" { (expression_statement "iVar16 = 0;" (assignment_expression "iVar16 = 0" identifier = number_literal) ;) (labeled_statement "LAB_00133af0:\n          uVar15 = (uint)*(byte *)(DAT_001e3cb8 + 0x11);" statement_identifier : (expression_statement "uVar15 = (uint)*(byte *)(DAT_001e3cb8 + 0x11);" (assignment_expression "uVar15 = (uint)*(byte *)(DAT_001e3cb8 + 0x11)" identifier = (binary_expression "(uint)*(byte *)(DAT_001e3cb8 + 0x11)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(DAT_001e3cb8 + 0x11)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_001e3cb8 + 0x11)" ( (binary_expression "DAT_001e3cb8 + 0x11" identifier + number_literal) ))))) ;)) (expression_statement "DAT_001e3cec = 4;" (assignment_expression "DAT_001e3cec = 4" identifier = number_literal) ;) (if_statement "if ((byte)(*(byte *)(DAT_001e3cb8 + 0x11) + 4) < 2) {\n            uVar15 = 4;\n          }" if (parenthesized_expression "((byte)(*(byte *)(DAT_001e3cb8 + 0x11) + 4) < 2)" ( (binary_expression "(byte)(*(byte *)(DAT_001e3cb8 + 0x11) + 4) < 2" (call_expression "(byte)(*(byte *)(DAT_001e3cb8 + 0x11) + 4)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(*(byte *)(DAT_001e3cb8 + 0x11) + 4)" ( (binary_expression "*(byte *)(DAT_001e3cb8 + 0x11) + 4" (pointer_expression "*(byte *)(DAT_001e3cb8 + 0x11)" * (cast_expression "(byte *)(DAT_001e3cb8 + 0x11)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_001e3cb8 + 0x11)" ( (binary_expression "DAT_001e3cb8 + 0x11" identifier + number_literal) )))) + number_literal) ))) < number_literal) )) (compound_statement "{\n            uVar15 = 4;\n          }" { (expression_statement "uVar15 = 4;" (assignment_expression "uVar15 = 4" identifier = number_literal) ;) })) (expression_statement "_DAT_001e3d00 = CONCAT44(uVar15,5);" (assignment_expression "_DAT_001e3d00 = CONCAT44(uVar15,5)" identifier = (call_expression "CONCAT44(uVar15,5)" identifier (argument_list "(uVar15,5)" ( identifier , number_literal )))) ;) (expression_statement "DAT_001e3d08 = DAT_001e3cc0;" (assignment_expression "DAT_001e3d08 = DAT_001e3cc0" identifier = identifier) ;) (expression_statement "lVar2 = uVar20 * 8;" (assignment_expression "lVar2 = uVar20 * 8" identifier = (binary_expression "uVar20 * 8" identifier * number_literal)) ;) (expression_statement "bVar21 = *(byte *)((long)&DAT_001e3c38 + lVar2 + 2);" (assignment_expression "bVar21 = *(byte *)((long)&DAT_001e3c38 + lVar2 + 2)" identifier = (pointer_expression "*(byte *)((long)&DAT_001e3c38 + lVar2 + 2)" * (cast_expression "(byte *)((long)&DAT_001e3c38 + lVar2 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&DAT_001e3c38 + lVar2 + 2)" ( (binary_expression "(long)&DAT_001e3c38 + lVar2 + 2" (binary_expression "(long)&DAT_001e3c38 + lVar2" (cast_expression "(long)&DAT_001e3c38" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&DAT_001e3c38" & identifier)) + identifier) + number_literal) ))))) ;) (expression_statement "bVar24 = DAT_001e3b14 == 2;" (assignment_expression "bVar24 = DAT_001e3b14 == 2" identifier = (binary_expression "DAT_001e3b14 == 2" identifier == number_literal)) ;) (expression_statement "*(byte *)((long)&DAT_001e3c38 + lVar2 + 2) = bVar21 & 0xec;" (assignment_expression "*(byte *)((long)&DAT_001e3c38 + lVar2 + 2) = bVar21 & 0xec" (pointer_expression "*(byte *)((long)&DAT_001e3c38 + lVar2 + 2)" * (cast_expression "(byte *)((long)&DAT_001e3c38 + lVar2 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&DAT_001e3c38 + lVar2 + 2)" ( (binary_expression "(long)&DAT_001e3c38 + lVar2 + 2" (binary_expression "(long)&DAT_001e3c38 + lVar2" (cast_expression "(long)&DAT_001e3c38" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&DAT_001e3c38" & identifier)) + identifier) + number_literal) )))) = (binary_expression "bVar21 & 0xec" identifier & number_literal)) ;) (if_statement "if ((bVar24) && (DAT_001e3ce6 == '\0')) {\n            *(byte *)((long)&DAT_001e3c38 + lVar2 + 2) = bVar21 & 0xe0 | 8;\n          }\n          else {\n            *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) =\n                 *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xf3 | 4;\n          }" if (parenthesized_expression "((bVar24) && (DAT_001e3ce6 == '\0'))" ( (binary_expression "(bVar24) && (DAT_001e3ce6 == '\0')" (parenthesized_expression "(bVar24)" ( identifier )) && (parenthesized_expression "(DAT_001e3ce6 == '\0')" ( (binary_expression "DAT_001e3ce6 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n            *(byte *)((long)&DAT_001e3c38 + lVar2 + 2) = bVar21 & 0xe0 | 8;\n          }" { (expression_statement "*(byte *)((long)&DAT_001e3c38 + lVar2 + 2) = bVar21 & 0xe0 | 8;" (assignment_expression "*(byte *)((long)&DAT_001e3c38 + lVar2 + 2) = bVar21 & 0xe0 | 8" (pointer_expression "*(byte *)((long)&DAT_001e3c38 + lVar2 + 2)" * (cast_expression "(byte *)((long)&DAT_001e3c38 + lVar2 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&DAT_001e3c38 + lVar2 + 2)" ( (binary_expression "(long)&DAT_001e3c38 + lVar2 + 2" (binary_expression "(long)&DAT_001e3c38 + lVar2" (cast_expression "(long)&DAT_001e3c38" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&DAT_001e3c38" & identifier)) + identifier) + number_literal) )))) = (binary_expression "bVar21 & 0xe0 | 8" (binary_expression "bVar21 & 0xe0" identifier & number_literal) | number_literal)) ;) }) (else_clause "else {\n            *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) =\n                 *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xf3 | 4;\n          }" else (compound_statement "{\n            *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) =\n                 *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xf3 | 4;\n          }" { (expression_statement "*(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) =\n                 *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xf3 | 4;" (assignment_expression "*(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) =\n                 *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xf3 | 4" (pointer_expression "*(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2)" * (cast_expression "(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&DAT_001e3c38 + uVar20 * 8 + 2)" ( (binary_expression "(long)&DAT_001e3c38 + uVar20 * 8 + 2" (binary_expression "(long)&DAT_001e3c38 + uVar20 * 8" (cast_expression "(long)&DAT_001e3c38" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&DAT_001e3c38" & identifier)) + (binary_expression "uVar20 * 8" identifier * number_literal)) + number_literal) )))) = (binary_expression "*(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xf3 | 4" (binary_expression "*(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xf3" (pointer_expression "*(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2)" * (cast_expression "(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&DAT_001e3c38 + uVar20 * 8 + 2)" ( (binary_expression "(long)&DAT_001e3c38 + uVar20 * 8 + 2" (binary_expression "(long)&DAT_001e3c38 + uVar20 * 8" (cast_expression "(long)&DAT_001e3c38" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&DAT_001e3c38" & identifier)) + (binary_expression "uVar20 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) | number_literal)) ;) }))) (expression_statement "puVar10 = ds;" (assignment_expression "puVar10 = ds" identifier = identifier) ;) (if_statement "if ((*(byte *)(lVar13 + 0x10) & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 2;\n          }" if (parenthesized_expression "((*(byte *)(lVar13 + 0x10) & 1) != 0)" ( (binary_expression "(*(byte *)(lVar13 + 0x10) & 1) != 0" (parenthesized_expression "(*(byte *)(lVar13 + 0x10) & 1)" ( (binary_expression "*(byte *)(lVar13 + 0x10) & 1" (pointer_expression "*(byte *)(lVar13 + 0x10)" * (cast_expression "(byte *)(lVar13 + 0x10)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar13 + 0x10)" ( (binary_expression "lVar13 + 0x10" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n            DAT_001e3cf8 = DAT_001e3cf8 | 2;\n          }" { (expression_statement "DAT_001e3cf8 = DAT_001e3cf8 | 2;" (assignment_expression "DAT_001e3cf8 = DAT_001e3cf8 | 2" identifier = (binary_expression "DAT_001e3cf8 | 2" identifier | number_literal)) ;) })) (goto_statement "goto LAB_00133b80;" goto statement_identifier ;) })) (goto_statement "goto LAB_00133424;" goto statement_identifier ;) })) (expression_statement "iVar16 = 0;" (assignment_expression "iVar16 = 0" identifier = number_literal) ;) (labeled_statement "LAB_00133cae:\n      if (bVar21 != 0) {\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1b33,"build_modrm_byte");\n      }" statement_identifier : (if_statement "if (bVar21 != 0) {\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1b33,"build_modrm_byte");\n      }" if (parenthesized_expression "(bVar21 != 0)" ( (binary_expression "bVar21 != 0" identifier != number_literal) )) (compound_statement "{\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1b33,"build_modrm_byte");\n      }" { (expression_statement "FUN_0011dd00("../../gas/config/tc-i386.c",0x1b33,"build_modrm_byte");" (call_expression "FUN_0011dd00("../../gas/config/tc-i386.c",0x1b33,"build_modrm_byte")" identifier (argument_list "("../../gas/config/tc-i386.c",0x1b33,"build_modrm_byte")" ( (string_literal ""../../gas/config/tc-i386.c"" " string_content ") , number_literal , (string_literal ""build_modrm_byte"" " string_content ") ))) ;) }))) (if_statement "if (DAT_001e3b14 == 2) {\n        DAT_001e3cec = 4;\n        uVar17 = (uint)(DAT_001e3ce6 == '\0');\n        uVar15 = (uint)(DAT_001e3ce6 != '\0');\n        _DAT_001e3d00 = 0x400000005;\n        iVar8 = 0;\n      }\n      else if ((DAT_001e3b14 == 1) == (DAT_001e3ce6 != '\0')) {\n        DAT_001e3cec = 5;\n        uVar17 = 0;\n        uVar15 = 1;\n        iVar8 = 0;\n      }\n      else {\n        DAT_001e3cec = 6;\n        uVar17 = 0;\n        uVar15 = 0;\n        iVar8 = 1;\n      }" if (parenthesized_expression "(DAT_001e3b14 == 2)" ( (binary_expression "DAT_001e3b14 == 2" identifier == number_literal) )) (compound_statement "{\n        DAT_001e3cec = 4;\n        uVar17 = (uint)(DAT_001e3ce6 == '\0');\n        uVar15 = (uint)(DAT_001e3ce6 != '\0');\n        _DAT_001e3d00 = 0x400000005;\n        iVar8 = 0;\n      }" { (expression_statement "DAT_001e3cec = 4;" (assignment_expression "DAT_001e3cec = 4" identifier = number_literal) ;) (expression_statement "uVar17 = (uint)(DAT_001e3ce6 == '\0');" (assignment_expression "uVar17 = (uint)(DAT_001e3ce6 == '\0')" identifier = (call_expression "(uint)(DAT_001e3ce6 == '\0')" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(DAT_001e3ce6 == '\0')" ( (binary_expression "DAT_001e3ce6 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )))) ;) (expression_statement "uVar15 = (uint)(DAT_001e3ce6 != '\0');" (assignment_expression "uVar15 = (uint)(DAT_001e3ce6 != '\0')" identifier = (call_expression "(uint)(DAT_001e3ce6 != '\0')" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(DAT_001e3ce6 != '\0')" ( (binary_expression "DAT_001e3ce6 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )))) ;) (expression_statement "_DAT_001e3d00 = 0x400000005;" (assignment_expression "_DAT_001e3d00 = 0x400000005" identifier = number_literal) ;) (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;) }) (else_clause "else if ((DAT_001e3b14 == 1) == (DAT_001e3ce6 != '\0')) {\n        DAT_001e3cec = 5;\n        uVar17 = 0;\n        uVar15 = 1;\n        iVar8 = 0;\n      }\n      else {\n        DAT_001e3cec = 6;\n        uVar17 = 0;\n        uVar15 = 0;\n        iVar8 = 1;\n      }" else (if_statement "if ((DAT_001e3b14 == 1) == (DAT_001e3ce6 != '\0')) {\n        DAT_001e3cec = 5;\n        uVar17 = 0;\n        uVar15 = 1;\n        iVar8 = 0;\n      }\n      else {\n        DAT_001e3cec = 6;\n        uVar17 = 0;\n        uVar15 = 0;\n        iVar8 = 1;\n      }" if (parenthesized_expression "((DAT_001e3b14 == 1) == (DAT_001e3ce6 != '\0'))" ( (binary_expression "(DAT_001e3b14 == 1) == (DAT_001e3ce6 != '\0')" (parenthesized_expression "(DAT_001e3b14 == 1)" ( (binary_expression "DAT_001e3b14 == 1" identifier == number_literal) )) == (parenthesized_expression "(DAT_001e3ce6 != '\0')" ( (binary_expression "DAT_001e3ce6 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n        DAT_001e3cec = 5;\n        uVar17 = 0;\n        uVar15 = 1;\n        iVar8 = 0;\n      }" { (expression_statement "DAT_001e3cec = 5;" (assignment_expression "DAT_001e3cec = 5" identifier = number_literal) ;) (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" identifier = number_literal) ;) (expression_statement "uVar15 = 1;" (assignment_expression "uVar15 = 1" identifier = number_literal) ;) (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;) }) (else_clause "else {\n        DAT_001e3cec = 6;\n        uVar17 = 0;\n        uVar15 = 0;\n        iVar8 = 1;\n      }" else (compound_statement "{\n        DAT_001e3cec = 6;\n        uVar17 = 0;\n        uVar15 = 0;\n        iVar8 = 1;\n      }" { (expression_statement "DAT_001e3cec = 6;" (assignment_expression "DAT_001e3cec = 6" identifier = number_literal) ;) (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" identifier = number_literal) ;) (expression_statement "uVar15 = 0;" (assignment_expression "uVar15 = 0" identifier = number_literal) ;) (expression_statement "iVar8 = 1;" (assignment_expression "iVar8 = 1" identifier = number_literal) ;) }))))) (expression_statement "uVar23 = ~DAT_00153a64;" (assignment_expression "uVar23 = ~DAT_00153a64" identifier = (unary_expression "~DAT_00153a64" ~ identifier)) ;) (expression_statement "*(uint *)(&DAT_001e3c38 + uVar20) =\n           iVar8 << 0x11 | uVar15 << 0x12 | uVar17 << 0x13 |\n           ~DAT_00153a60 & *(uint *)(&DAT_001e3c38 + uVar20);" (assignment_expression "*(uint *)(&DAT_001e3c38 + uVar20) =\n           iVar8 << 0x11 | uVar15 << 0x12 | uVar17 << 0x13 |\n           ~DAT_00153a60 & *(uint *)(&DAT_001e3c38 + uVar20)" (pointer_expression "*(uint *)(&DAT_001e3c38 + uVar20)" * (cast_expression "(uint *)(&DAT_001e3c38 + uVar20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001e3c38 + uVar20)" ( (binary_expression "&DAT_001e3c38 + uVar20" (pointer_expression "&DAT_001e3c38" & identifier) + identifier) )))) = (binary_expression "iVar8 << 0x11 | uVar15 << 0x12 | uVar17 << 0x13 |\n           ~DAT_00153a60 & *(uint *)(&DAT_001e3c38 + uVar20)" (binary_expression "iVar8 << 0x11 | uVar15 << 0x12 | uVar17 << 0x13" (binary_expression "iVar8 << 0x11 | uVar15 << 0x12" (binary_expression "iVar8 << 0x11" identifier << number_literal) | (binary_expression "uVar15 << 0x12" identifier << number_literal)) | (binary_expression "uVar17 << 0x13" identifier << number_literal)) | (binary_expression "~DAT_00153a60 & *(uint *)(&DAT_001e3c38 + uVar20)" (unary_expression "~DAT_00153a60" ~ identifier) & (pointer_expression "*(uint *)(&DAT_001e3c38 + uVar20)" * (cast_expression "(uint *)(&DAT_001e3c38 + uVar20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001e3c38 + uVar20)" ( (binary_expression "&DAT_001e3c38 + uVar20" (pointer_expression "&DAT_001e3c38" & identifier) + identifier) ))))))) ;) (expression_statement "puVar10 = ds;" (assignment_expression "puVar10 = ds" identifier = identifier) ;) (expression_statement "puVar1 = (uint *)((long)&DAT_001e3c38 + uVar20 * 8 + 4);" (assignment_expression "puVar1 = (uint *)((long)&DAT_001e3c38 + uVar20 * 8 + 4)" identifier = (cast_expression "(uint *)((long)&DAT_001e3c38 + uVar20 * 8 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&DAT_001e3c38 + uVar20 * 8 + 4)" ( (binary_expression "(long)&DAT_001e3c38 + uVar20 * 8 + 4" (binary_expression "(long)&DAT_001e3c38 + uVar20 * 8" (cast_expression "(long)&DAT_001e3c38" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&DAT_001e3c38" & identifier)) + (binary_expression "uVar20 * 8" identifier * number_literal)) + number_literal) )))) ;) (expression_statement "*puVar1 = *puVar1 & uVar23;" (assignment_expression "*puVar1 = *puVar1 & uVar23" (pointer_expression "*puVar1" * identifier) = (binary_expression "*puVar1 & uVar23" (pointer_expression "*puVar1" * identifier) & identifier)) ;) (labeled_statement "LAB_00133b80:\n      if (iVar16 != 0) goto LAB_00133a67;" statement_identifier : (if_statement "if (iVar16 != 0) goto LAB_00133a67;" if (parenthesized_expression "(iVar16 != 0)" ( (binary_expression "iVar16 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00133a67;" goto statement_identifier ;))) }) (else_clause "else {\n      cVar6 = *(char *)(DAT_001e3cb8 + 0x11);\n      if ((byte)(cVar6 + 4U) < 2) {\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1b0b,"build_modrm_byte");\n      }\n      DAT_001e3cec = 4;\n      if (DAT_001e3cb0 == 0) {\n        _DAT_001e3d00 = 5;\n        DAT_001e3d08 = DAT_001e3cc0;\n        lVar4 = uVar20 * 8;\n        bVar7 = *(byte *)((long)&DAT_001e3c38 + lVar4 + 2);\n        bVar24 = DAT_001e3b14 == 2;\n        *(byte *)((long)&DAT_001e3c38 + lVar4 + 2) = bVar7 & 0xec;\n        if ((bVar24) && (DAT_001e3ce6 == '\0')) {\n          *(byte *)((long)&DAT_001e3c38 + lVar4 + 2) = bVar7 & 0xe0 | 8;\n        }\n        else {\n          *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) =\n               *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xf3 | 4;\n        }\n      }\n      _DAT_001e3d00 = (ulong)CONCAT14(cVar6,_DAT_001e3d00);\n      if ((*(byte *)(lVar2 + 0x10) & 1) != 0) {\n        DAT_001e3cf8 = DAT_001e3cf8 | 2;\n      }\n      if ((*(byte *)(lVar2 + 0x10) & 4) == 0) goto LAB_0013313d;\n      DAT_001e3cfc = DAT_001e3cfc | 2;\n      if (lVar13 == 0) goto LAB_00133448;\nLAB_00133146:\n      bVar7 = *(byte *)(lVar13 + 0x11);\n      if (bVar7 < 0xfe) {\n        if ((*(byte *)(lVar13 + 0xb) & 0x40) == 0) {\n          if ((DAT_001e3b14 == 2) &&\n             ((*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f) != 0)) {\n            lVar2 = (uVar20 + 0xe) * 8;\n            bVar14 = *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2);\n            bVar12 = bVar14 & 0xe1;\n            *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar14 & 0xed;\n            if (DAT_001e3ce6 == '\0') {\n              *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar12 | 8;\n            }\n            else {\n              *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar12 | 4;\n            }\n          }\n          if (bVar21 == 0) {\n            DAT_001e3cec = (uint)bVar7;\n          }\n          if ((*(byte *)(lVar13 + 0x10) & 1) == 0) {\n            puVar10 = ss;\n            if (1 < (byte)(bVar7 - 4)) {\n              puVar10 = ds;\n            }\n          }\n          else {\n            DAT_001e3cf8 = DAT_001e3cf8 | 1;\n            puVar10 = ds;\n          }\n          _DAT_001e3d00 = CONCAT44(DAT_001e3d04,(uint)bVar7);\n          iVar16 = 0;\n          if ((bVar7 == 5) && (iVar16 = 0, DAT_001e3c2c == 0)) {\n            iVar16 = 1;\n            pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n            *pbVar5 = *pbVar5 | 1;\n          }\n          iVar8 = DAT_001e3d40;\n          DAT_001e3d08 = DAT_001e3cc0;\n          if (DAT_001e3cb8 == 0) {\n            if (bVar21 != 0) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1bbf,"build_modrm_byte");\n            }\n            _DAT_001e3d00 = CONCAT44(4,_DAT_001e3d00);\n          }\n          else if (bVar21 == 0) {\n            DAT_001e3cec = 4;\n            uVar15 = (uint)*(byte *)(DAT_001e3cb8 + 0x11);\n            if ((byte)(*(byte *)(DAT_001e3cb8 + 0x11) + 4) < 2) {\n              uVar15 = 4;\n            }\n            _DAT_001e3d00 = CONCAT44(uVar15,_DAT_001e3d00);\n            if ((*(byte *)(DAT_001e3cb8 + 0x10) & 1) != 0) {\n              DAT_001e3cf8 = DAT_001e3cf8 | 2;\n            }\n          }\n          if (DAT_001e3c2c == 0) {\n            if ((iVar16 == 0) && (iVar16 = iVar8, DAT_001e3d40 != 0)) {\n              if (DAT_001e3d40 == 1) {\n                pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n                *pbVar5 = *pbVar5 | 1;\n              }\n              else {\n                pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n                *pbVar5 = *pbVar5 | 4;\n                iVar16 = 1;\n              }\n            }\n          }\n          else if (((&DAT_001e3c9c)[uVar20] == 0x179) || ((&DAT_001e3c9c)[uVar20] == 0x195)) {\n            DAT_001e3cf4 = 0;\n            goto LAB_00133b80;\n          }\n        }\n        else {\n          if (bVar21 != 0) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1b7c,"build_modrm_byte");\n          }\n          if (bVar7 == 3) {\n            if (DAT_001e3cb8 != 0) {\n              DAT_001e3cec = *(byte *)(DAT_001e3cb8 + 0x11) - 6;\n              goto LAB_0013317e;\n            }\n            DAT_001e3cec = 7;\n            puVar10 = ds;\n            iVar16 = 0;\n          }\n          else if (bVar7 == 5) {\n            if (DAT_001e3cb8 == 0) {\n              puVar10 = ss;\n              DAT_001e3cec = 6;\n              iVar16 = 0;\n              if ((*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f) == 0) {\n                pbVar5 = (byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2);\n                *pbVar5 = *pbVar5 | 1;\n                iVar16 = 1;\n              }\n            }\n            else {\n              DAT_001e3cec = *(byte *)(DAT_001e3cb8 + 0x11) - 4;\n              puVar10 = ss;\n              iVar16 = 0;\n            }\n          }\n          else {\n            DAT_001e3cec = bVar7 - 2;\nLAB_0013317e:\n            iVar16 = 0;\n            puVar10 = ds;\n          }\n        }\n        DAT_001e3cf4 = 1;\n        if (((ulong)(&DAT_001e3c38)[uVar20] >> 0x10 & 1) == 0) {\n          DAT_001e3cf4 = (uint)(((&DAT_001e3c38)[uVar20] & 0xe0000) != 0) * 2;\n        }\n        goto LAB_00133b80;\n      }\n      if (bVar21 != 0) {\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1b6f,"build_modrm_byte");\n      }\n      DAT_001e3cec = 5;\n      *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) =\n           *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xe0 | 8;\n      uVar15 = DAT_001e3c2c;\n      (&DAT_001e3c88)[uVar20] = (&DAT_001e3c88)[uVar20] | 1;\n      if (uVar15 != 0) {\nLAB_00133424:\n        puVar10 = ds;\n        goto LAB_00133089;\n      }\nLAB_00133a60:\n      puVar10 = ds;\nLAB_00133a67:\n      if ((&DAT_001e3bc0)[uVar20 + 0x14] != 0) {\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1bed,"build_modrm_byte");\n      }\n      uVar9 = (ulong)DAT_001e3c2c;\n      DAT_001e3c2c = DAT_001e3c2c + 1;\n      lVar13 = uVar9 * 0x20;\n      (&DAT_001e3bc0)[uVar20 + 0x14] = &DAT_001e3b60 + lVar13;\n      (&DAT_001e3b78)[lVar13] = 2;\n      *(undefined8 *)(&DAT_001e3b70 + lVar13) = 0;\n      *(undefined8 *)(&DAT_001e3b60 + lVar13) = 0;\n      *(undefined8 *)(&DAT_001e3b68 + lVar13) = 0;\n    }" else (compound_statement "{\n      cVar6 = *(char *)(DAT_001e3cb8 + 0x11);\n      if ((byte)(cVar6 + 4U) < 2) {\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1b0b,"build_modrm_byte");\n      }\n      DAT_001e3cec = 4;\n      if (DAT_001e3cb0 == 0) {\n        _DAT_001e3d00 = 5;\n        DAT_001e3d08 = DAT_001e3cc0;\n        lVar4 = uVar20 * 8;\n        bVar7 = *(byte *)((long)&DAT_001e3c38 + lVar4 + 2);\n        bVar24 = DAT_001e3b14 == 2;\n        *(byte *)((long)&DAT_001e3c38 + lVar4 + 2) = bVar7 & 0xec;\n        if ((bVar24) && (DAT_001e3ce6 == '\0')) {\n          *(byte *)((long)&DAT_001e3c38 + lVar4 + 2) = bVar7 & 0xe0 | 8;\n        }\n        else {\n          *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) =\n               *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xf3 | 4;\n        }\n      }\n      _DAT_001e3d00 = (ulong)CONCAT14(cVar6,_DAT_001e3d00);\n      if ((*(byte *)(lVar2 + 0x10) & 1) != 0) {\n        DAT_001e3cf8 = DAT_001e3cf8 | 2;\n      }\n      if ((*(byte *)(lVar2 + 0x10) & 4) == 0) goto LAB_0013313d;\n      DAT_001e3cfc = DAT_001e3cfc | 2;\n      if (lVar13 == 0) goto LAB_00133448;\nLAB_00133146:\n      bVar7 = *(byte *)(lVar13 + 0x11);\n      if (bVar7 < 0xfe) {\n        if ((*(byte *)(lVar13 + 0xb) & 0x40) == 0) {\n          if ((DAT_001e3b14 == 2) &&\n             ((*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f) != 0)) {\n            lVar2 = (uVar20 + 0xe) * 8;\n            bVar14 = *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2);\n            bVar12 = bVar14 & 0xe1;\n            *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar14 & 0xed;\n            if (DAT_001e3ce6 == '\0') {\n              *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar12 | 8;\n            }\n            else {\n              *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar12 | 4;\n            }\n          }\n          if (bVar21 == 0) {\n            DAT_001e3cec = (uint)bVar7;\n          }\n          if ((*(byte *)(lVar13 + 0x10) & 1) == 0) {\n            puVar10 = ss;\n            if (1 < (byte)(bVar7 - 4)) {\n              puVar10 = ds;\n            }\n          }\n          else {\n            DAT_001e3cf8 = DAT_001e3cf8 | 1;\n            puVar10 = ds;\n          }\n          _DAT_001e3d00 = CONCAT44(DAT_001e3d04,(uint)bVar7);\n          iVar16 = 0;\n          if ((bVar7 == 5) && (iVar16 = 0, DAT_001e3c2c == 0)) {\n            iVar16 = 1;\n            pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n            *pbVar5 = *pbVar5 | 1;\n          }\n          iVar8 = DAT_001e3d40;\n          DAT_001e3d08 = DAT_001e3cc0;\n          if (DAT_001e3cb8 == 0) {\n            if (bVar21 != 0) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1bbf,"build_modrm_byte");\n            }\n            _DAT_001e3d00 = CONCAT44(4,_DAT_001e3d00);\n          }\n          else if (bVar21 == 0) {\n            DAT_001e3cec = 4;\n            uVar15 = (uint)*(byte *)(DAT_001e3cb8 + 0x11);\n            if ((byte)(*(byte *)(DAT_001e3cb8 + 0x11) + 4) < 2) {\n              uVar15 = 4;\n            }\n            _DAT_001e3d00 = CONCAT44(uVar15,_DAT_001e3d00);\n            if ((*(byte *)(DAT_001e3cb8 + 0x10) & 1) != 0) {\n              DAT_001e3cf8 = DAT_001e3cf8 | 2;\n            }\n          }\n          if (DAT_001e3c2c == 0) {\n            if ((iVar16 == 0) && (iVar16 = iVar8, DAT_001e3d40 != 0)) {\n              if (DAT_001e3d40 == 1) {\n                pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n                *pbVar5 = *pbVar5 | 1;\n              }\n              else {\n                pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n                *pbVar5 = *pbVar5 | 4;\n                iVar16 = 1;\n              }\n            }\n          }\n          else if (((&DAT_001e3c9c)[uVar20] == 0x179) || ((&DAT_001e3c9c)[uVar20] == 0x195)) {\n            DAT_001e3cf4 = 0;\n            goto LAB_00133b80;\n          }\n        }\n        else {\n          if (bVar21 != 0) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1b7c,"build_modrm_byte");\n          }\n          if (bVar7 == 3) {\n            if (DAT_001e3cb8 != 0) {\n              DAT_001e3cec = *(byte *)(DAT_001e3cb8 + 0x11) - 6;\n              goto LAB_0013317e;\n            }\n            DAT_001e3cec = 7;\n            puVar10 = ds;\n            iVar16 = 0;\n          }\n          else if (bVar7 == 5) {\n            if (DAT_001e3cb8 == 0) {\n              puVar10 = ss;\n              DAT_001e3cec = 6;\n              iVar16 = 0;\n              if ((*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f) == 0) {\n                pbVar5 = (byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2);\n                *pbVar5 = *pbVar5 | 1;\n                iVar16 = 1;\n              }\n            }\n            else {\n              DAT_001e3cec = *(byte *)(DAT_001e3cb8 + 0x11) - 4;\n              puVar10 = ss;\n              iVar16 = 0;\n            }\n          }\n          else {\n            DAT_001e3cec = bVar7 - 2;\nLAB_0013317e:\n            iVar16 = 0;\n            puVar10 = ds;\n          }\n        }\n        DAT_001e3cf4 = 1;\n        if (((ulong)(&DAT_001e3c38)[uVar20] >> 0x10 & 1) == 0) {\n          DAT_001e3cf4 = (uint)(((&DAT_001e3c38)[uVar20] & 0xe0000) != 0) * 2;\n        }\n        goto LAB_00133b80;\n      }\n      if (bVar21 != 0) {\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1b6f,"build_modrm_byte");\n      }\n      DAT_001e3cec = 5;\n      *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) =\n           *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xe0 | 8;\n      uVar15 = DAT_001e3c2c;\n      (&DAT_001e3c88)[uVar20] = (&DAT_001e3c88)[uVar20] | 1;\n      if (uVar15 != 0) {\nLAB_00133424:\n        puVar10 = ds;\n        goto LAB_00133089;\n      }\nLAB_00133a60:\n      puVar10 = ds;\nLAB_00133a67:\n      if ((&DAT_001e3bc0)[uVar20 + 0x14] != 0) {\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1bed,"build_modrm_byte");\n      }\n      uVar9 = (ulong)DAT_001e3c2c;\n      DAT_001e3c2c = DAT_001e3c2c + 1;\n      lVar13 = uVar9 * 0x20;\n      (&DAT_001e3bc0)[uVar20 + 0x14] = &DAT_001e3b60 + lVar13;\n      (&DAT_001e3b78)[lVar13] = 2;\n      *(undefined8 *)(&DAT_001e3b70 + lVar13) = 0;\n      *(undefined8 *)(&DAT_001e3b60 + lVar13) = 0;\n      *(undefined8 *)(&DAT_001e3b68 + lVar13) = 0;\n    }" { (expression_statement "cVar6 = *(char *)(DAT_001e3cb8 + 0x11);" (assignment_expression "cVar6 = *(char *)(DAT_001e3cb8 + 0x11)" identifier = (pointer_expression "*(char *)(DAT_001e3cb8 + 0x11)" * (cast_expression "(char *)(DAT_001e3cb8 + 0x11)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_001e3cb8 + 0x11)" ( (binary_expression "DAT_001e3cb8 + 0x11" identifier + number_literal) ))))) ;) (if_statement "if ((byte)(cVar6 + 4U) < 2) {\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1b0b,"build_modrm_byte");\n      }" if (parenthesized_expression "((byte)(cVar6 + 4U) < 2)" ( (binary_expression "(byte)(cVar6 + 4U) < 2" (call_expression "(byte)(cVar6 + 4U)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(cVar6 + 4U)" ( (binary_expression "cVar6 + 4U" identifier + number_literal) ))) < number_literal) )) (compound_statement "{\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1b0b,"build_modrm_byte");\n      }" { (expression_statement "FUN_0011dd00("../../gas/config/tc-i386.c",0x1b0b,"build_modrm_byte");" (call_expression "FUN_0011dd00("../../gas/config/tc-i386.c",0x1b0b,"build_modrm_byte")" identifier (argument_list "("../../gas/config/tc-i386.c",0x1b0b,"build_modrm_byte")" ( (string_literal ""../../gas/config/tc-i386.c"" " string_content ") , number_literal , (string_literal ""build_modrm_byte"" " string_content ") ))) ;) })) (expression_statement "DAT_001e3cec = 4;" (assignment_expression "DAT_001e3cec = 4" identifier = number_literal) ;) (if_statement "if (DAT_001e3cb0 == 0) {\n        _DAT_001e3d00 = 5;\n        DAT_001e3d08 = DAT_001e3cc0;\n        lVar4 = uVar20 * 8;\n        bVar7 = *(byte *)((long)&DAT_001e3c38 + lVar4 + 2);\n        bVar24 = DAT_001e3b14 == 2;\n        *(byte *)((long)&DAT_001e3c38 + lVar4 + 2) = bVar7 & 0xec;\n        if ((bVar24) && (DAT_001e3ce6 == '\0')) {\n          *(byte *)((long)&DAT_001e3c38 + lVar4 + 2) = bVar7 & 0xe0 | 8;\n        }\n        else {\n          *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) =\n               *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xf3 | 4;\n        }\n      }" if (parenthesized_expression "(DAT_001e3cb0 == 0)" ( (binary_expression "DAT_001e3cb0 == 0" identifier == number_literal) )) (compound_statement "{\n        _DAT_001e3d00 = 5;\n        DAT_001e3d08 = DAT_001e3cc0;\n        lVar4 = uVar20 * 8;\n        bVar7 = *(byte *)((long)&DAT_001e3c38 + lVar4 + 2);\n        bVar24 = DAT_001e3b14 == 2;\n        *(byte *)((long)&DAT_001e3c38 + lVar4 + 2) = bVar7 & 0xec;\n        if ((bVar24) && (DAT_001e3ce6 == '\0')) {\n          *(byte *)((long)&DAT_001e3c38 + lVar4 + 2) = bVar7 & 0xe0 | 8;\n        }\n        else {\n          *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) =\n               *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xf3 | 4;\n        }\n      }" { (expression_statement "_DAT_001e3d00 = 5;" (assignment_expression "_DAT_001e3d00 = 5" identifier = number_literal) ;) (expression_statement "DAT_001e3d08 = DAT_001e3cc0;" (assignment_expression "DAT_001e3d08 = DAT_001e3cc0" identifier = identifier) ;) (expression_statement "lVar4 = uVar20 * 8;" (assignment_expression "lVar4 = uVar20 * 8" identifier = (binary_expression "uVar20 * 8" identifier * number_literal)) ;) (expression_statement "bVar7 = *(byte *)((long)&DAT_001e3c38 + lVar4 + 2);" (assignment_expression "bVar7 = *(byte *)((long)&DAT_001e3c38 + lVar4 + 2)" identifier = (pointer_expression "*(byte *)((long)&DAT_001e3c38 + lVar4 + 2)" * (cast_expression "(byte *)((long)&DAT_001e3c38 + lVar4 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&DAT_001e3c38 + lVar4 + 2)" ( (binary_expression "(long)&DAT_001e3c38 + lVar4 + 2" (binary_expression "(long)&DAT_001e3c38 + lVar4" (cast_expression "(long)&DAT_001e3c38" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&DAT_001e3c38" & identifier)) + identifier) + number_literal) ))))) ;) (expression_statement "bVar24 = DAT_001e3b14 == 2;" (assignment_expression "bVar24 = DAT_001e3b14 == 2" identifier = (binary_expression "DAT_001e3b14 == 2" identifier == number_literal)) ;) (expression_statement "*(byte *)((long)&DAT_001e3c38 + lVar4 + 2) = bVar7 & 0xec;" (assignment_expression "*(byte *)((long)&DAT_001e3c38 + lVar4 + 2) = bVar7 & 0xec" (pointer_expression "*(byte *)((long)&DAT_001e3c38 + lVar4 + 2)" * (cast_expression "(byte *)((long)&DAT_001e3c38 + lVar4 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&DAT_001e3c38 + lVar4 + 2)" ( (binary_expression "(long)&DAT_001e3c38 + lVar4 + 2" (binary_expression "(long)&DAT_001e3c38 + lVar4" (cast_expression "(long)&DAT_001e3c38" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&DAT_001e3c38" & identifier)) + identifier) + number_literal) )))) = (binary_expression "bVar7 & 0xec" identifier & number_literal)) ;) (if_statement "if ((bVar24) && (DAT_001e3ce6 == '\0')) {\n          *(byte *)((long)&DAT_001e3c38 + lVar4 + 2) = bVar7 & 0xe0 | 8;\n        }\n        else {\n          *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) =\n               *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xf3 | 4;\n        }" if (parenthesized_expression "((bVar24) && (DAT_001e3ce6 == '\0'))" ( (binary_expression "(bVar24) && (DAT_001e3ce6 == '\0')" (parenthesized_expression "(bVar24)" ( identifier )) && (parenthesized_expression "(DAT_001e3ce6 == '\0')" ( (binary_expression "DAT_001e3ce6 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n          *(byte *)((long)&DAT_001e3c38 + lVar4 + 2) = bVar7 & 0xe0 | 8;\n        }" { (expression_statement "*(byte *)((long)&DAT_001e3c38 + lVar4 + 2) = bVar7 & 0xe0 | 8;" (assignment_expression "*(byte *)((long)&DAT_001e3c38 + lVar4 + 2) = bVar7 & 0xe0 | 8" (pointer_expression "*(byte *)((long)&DAT_001e3c38 + lVar4 + 2)" * (cast_expression "(byte *)((long)&DAT_001e3c38 + lVar4 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&DAT_001e3c38 + lVar4 + 2)" ( (binary_expression "(long)&DAT_001e3c38 + lVar4 + 2" (binary_expression "(long)&DAT_001e3c38 + lVar4" (cast_expression "(long)&DAT_001e3c38" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&DAT_001e3c38" & identifier)) + identifier) + number_literal) )))) = (binary_expression "bVar7 & 0xe0 | 8" (binary_expression "bVar7 & 0xe0" identifier & number_literal) | number_literal)) ;) }) (else_clause "else {\n          *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) =\n               *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xf3 | 4;\n        }" else (compound_statement "{\n          *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) =\n               *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xf3 | 4;\n        }" { (expression_statement "*(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) =\n               *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xf3 | 4;" (assignment_expression "*(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) =\n               *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xf3 | 4" (pointer_expression "*(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2)" * (cast_expression "(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&DAT_001e3c38 + uVar20 * 8 + 2)" ( (binary_expression "(long)&DAT_001e3c38 + uVar20 * 8 + 2" (binary_expression "(long)&DAT_001e3c38 + uVar20 * 8" (cast_expression "(long)&DAT_001e3c38" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&DAT_001e3c38" & identifier)) + (binary_expression "uVar20 * 8" identifier * number_literal)) + number_literal) )))) = (binary_expression "*(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xf3 | 4" (binary_expression "*(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xf3" (pointer_expression "*(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2)" * (cast_expression "(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&DAT_001e3c38 + uVar20 * 8 + 2)" ( (binary_expression "(long)&DAT_001e3c38 + uVar20 * 8 + 2" (binary_expression "(long)&DAT_001e3c38 + uVar20 * 8" (cast_expression "(long)&DAT_001e3c38" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&DAT_001e3c38" & identifier)) + (binary_expression "uVar20 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) | number_literal)) ;) }))) })) (expression_statement "_DAT_001e3d00 = (ulong)CONCAT14(cVar6,_DAT_001e3d00);" (assignment_expression "_DAT_001e3d00 = (ulong)CONCAT14(cVar6,_DAT_001e3d00)" identifier = (cast_expression "(ulong)CONCAT14(cVar6,_DAT_001e3d00)" ( (type_descriptor "ulong" type_identifier) ) (call_expression "CONCAT14(cVar6,_DAT_001e3d00)" identifier (argument_list "(cVar6,_DAT_001e3d00)" ( identifier , identifier ))))) ;) (if_statement "if ((*(byte *)(lVar2 + 0x10) & 1) != 0) {\n        DAT_001e3cf8 = DAT_001e3cf8 | 2;\n      }" if (parenthesized_expression "((*(byte *)(lVar2 + 0x10) & 1) != 0)" ( (binary_expression "(*(byte *)(lVar2 + 0x10) & 1) != 0" (parenthesized_expression "(*(byte *)(lVar2 + 0x10) & 1)" ( (binary_expression "*(byte *)(lVar2 + 0x10) & 1" (pointer_expression "*(byte *)(lVar2 + 0x10)" * (cast_expression "(byte *)(lVar2 + 0x10)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0x10)" ( (binary_expression "lVar2 + 0x10" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n        DAT_001e3cf8 = DAT_001e3cf8 | 2;\n      }" { (expression_statement "DAT_001e3cf8 = DAT_001e3cf8 | 2;" (assignment_expression "DAT_001e3cf8 = DAT_001e3cf8 | 2" identifier = (binary_expression "DAT_001e3cf8 | 2" identifier | number_literal)) ;) })) (if_statement "if ((*(byte *)(lVar2 + 0x10) & 4) == 0) goto LAB_0013313d;" if (parenthesized_expression "((*(byte *)(lVar2 + 0x10) & 4) == 0)" ( (binary_expression "(*(byte *)(lVar2 + 0x10) & 4) == 0" (parenthesized_expression "(*(byte *)(lVar2 + 0x10) & 4)" ( (binary_expression "*(byte *)(lVar2 + 0x10) & 4" (pointer_expression "*(byte *)(lVar2 + 0x10)" * (cast_expression "(byte *)(lVar2 + 0x10)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0x10)" ( (binary_expression "lVar2 + 0x10" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0013313d;" goto statement_identifier ;)) (expression_statement "DAT_001e3cfc = DAT_001e3cfc | 2;" (assignment_expression "DAT_001e3cfc = DAT_001e3cfc | 2" identifier = (binary_expression "DAT_001e3cfc | 2" identifier | number_literal)) ;) (if_statement "if (lVar13 == 0) goto LAB_00133448;" if (parenthesized_expression "(lVar13 == 0)" ( (binary_expression "lVar13 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00133448;" goto statement_identifier ;)) (labeled_statement "LAB_00133146:\n      bVar7 = *(byte *)(lVar13 + 0x11);" statement_identifier : (expression_statement "bVar7 = *(byte *)(lVar13 + 0x11);" (assignment_expression "bVar7 = *(byte *)(lVar13 + 0x11)" identifier = (pointer_expression "*(byte *)(lVar13 + 0x11)" * (cast_expression "(byte *)(lVar13 + 0x11)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar13 + 0x11)" ( (binary_expression "lVar13 + 0x11" identifier + number_literal) ))))) ;)) (if_statement "if (bVar7 < 0xfe) {\n        if ((*(byte *)(lVar13 + 0xb) & 0x40) == 0) {\n          if ((DAT_001e3b14 == 2) &&\n             ((*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f) != 0)) {\n            lVar2 = (uVar20 + 0xe) * 8;\n            bVar14 = *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2);\n            bVar12 = bVar14 & 0xe1;\n            *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar14 & 0xed;\n            if (DAT_001e3ce6 == '\0') {\n              *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar12 | 8;\n            }\n            else {\n              *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar12 | 4;\n            }\n          }\n          if (bVar21 == 0) {\n            DAT_001e3cec = (uint)bVar7;\n          }\n          if ((*(byte *)(lVar13 + 0x10) & 1) == 0) {\n            puVar10 = ss;\n            if (1 < (byte)(bVar7 - 4)) {\n              puVar10 = ds;\n            }\n          }\n          else {\n            DAT_001e3cf8 = DAT_001e3cf8 | 1;\n            puVar10 = ds;\n          }\n          _DAT_001e3d00 = CONCAT44(DAT_001e3d04,(uint)bVar7);\n          iVar16 = 0;\n          if ((bVar7 == 5) && (iVar16 = 0, DAT_001e3c2c == 0)) {\n            iVar16 = 1;\n            pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n            *pbVar5 = *pbVar5 | 1;\n          }\n          iVar8 = DAT_001e3d40;\n          DAT_001e3d08 = DAT_001e3cc0;\n          if (DAT_001e3cb8 == 0) {\n            if (bVar21 != 0) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1bbf,"build_modrm_byte");\n            }\n            _DAT_001e3d00 = CONCAT44(4,_DAT_001e3d00);\n          }\n          else if (bVar21 == 0) {\n            DAT_001e3cec = 4;\n            uVar15 = (uint)*(byte *)(DAT_001e3cb8 + 0x11);\n            if ((byte)(*(byte *)(DAT_001e3cb8 + 0x11) + 4) < 2) {\n              uVar15 = 4;\n            }\n            _DAT_001e3d00 = CONCAT44(uVar15,_DAT_001e3d00);\n            if ((*(byte *)(DAT_001e3cb8 + 0x10) & 1) != 0) {\n              DAT_001e3cf8 = DAT_001e3cf8 | 2;\n            }\n          }\n          if (DAT_001e3c2c == 0) {\n            if ((iVar16 == 0) && (iVar16 = iVar8, DAT_001e3d40 != 0)) {\n              if (DAT_001e3d40 == 1) {\n                pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n                *pbVar5 = *pbVar5 | 1;\n              }\n              else {\n                pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n                *pbVar5 = *pbVar5 | 4;\n                iVar16 = 1;\n              }\n            }\n          }\n          else if (((&DAT_001e3c9c)[uVar20] == 0x179) || ((&DAT_001e3c9c)[uVar20] == 0x195)) {\n            DAT_001e3cf4 = 0;\n            goto LAB_00133b80;\n          }\n        }\n        else {\n          if (bVar21 != 0) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1b7c,"build_modrm_byte");\n          }\n          if (bVar7 == 3) {\n            if (DAT_001e3cb8 != 0) {\n              DAT_001e3cec = *(byte *)(DAT_001e3cb8 + 0x11) - 6;\n              goto LAB_0013317e;\n            }\n            DAT_001e3cec = 7;\n            puVar10 = ds;\n            iVar16 = 0;\n          }\n          else if (bVar7 == 5) {\n            if (DAT_001e3cb8 == 0) {\n              puVar10 = ss;\n              DAT_001e3cec = 6;\n              iVar16 = 0;\n              if ((*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f) == 0) {\n                pbVar5 = (byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2);\n                *pbVar5 = *pbVar5 | 1;\n                iVar16 = 1;\n              }\n            }\n            else {\n              DAT_001e3cec = *(byte *)(DAT_001e3cb8 + 0x11) - 4;\n              puVar10 = ss;\n              iVar16 = 0;\n            }\n          }\n          else {\n            DAT_001e3cec = bVar7 - 2;\nLAB_0013317e:\n            iVar16 = 0;\n            puVar10 = ds;\n          }\n        }\n        DAT_001e3cf4 = 1;\n        if (((ulong)(&DAT_001e3c38)[uVar20] >> 0x10 & 1) == 0) {\n          DAT_001e3cf4 = (uint)(((&DAT_001e3c38)[uVar20] & 0xe0000) != 0) * 2;\n        }\n        goto LAB_00133b80;\n      }" if (parenthesized_expression "(bVar7 < 0xfe)" ( (binary_expression "bVar7 < 0xfe" identifier < number_literal) )) (compound_statement "{\n        if ((*(byte *)(lVar13 + 0xb) & 0x40) == 0) {\n          if ((DAT_001e3b14 == 2) &&\n             ((*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f) != 0)) {\n            lVar2 = (uVar20 + 0xe) * 8;\n            bVar14 = *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2);\n            bVar12 = bVar14 & 0xe1;\n            *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar14 & 0xed;\n            if (DAT_001e3ce6 == '\0') {\n              *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar12 | 8;\n            }\n            else {\n              *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar12 | 4;\n            }\n          }\n          if (bVar21 == 0) {\n            DAT_001e3cec = (uint)bVar7;\n          }\n          if ((*(byte *)(lVar13 + 0x10) & 1) == 0) {\n            puVar10 = ss;\n            if (1 < (byte)(bVar7 - 4)) {\n              puVar10 = ds;\n            }\n          }\n          else {\n            DAT_001e3cf8 = DAT_001e3cf8 | 1;\n            puVar10 = ds;\n          }\n          _DAT_001e3d00 = CONCAT44(DAT_001e3d04,(uint)bVar7);\n          iVar16 = 0;\n          if ((bVar7 == 5) && (iVar16 = 0, DAT_001e3c2c == 0)) {\n            iVar16 = 1;\n            pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n            *pbVar5 = *pbVar5 | 1;\n          }\n          iVar8 = DAT_001e3d40;\n          DAT_001e3d08 = DAT_001e3cc0;\n          if (DAT_001e3cb8 == 0) {\n            if (bVar21 != 0) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1bbf,"build_modrm_byte");\n            }\n            _DAT_001e3d00 = CONCAT44(4,_DAT_001e3d00);\n          }\n          else if (bVar21 == 0) {\n            DAT_001e3cec = 4;\n            uVar15 = (uint)*(byte *)(DAT_001e3cb8 + 0x11);\n            if ((byte)(*(byte *)(DAT_001e3cb8 + 0x11) + 4) < 2) {\n              uVar15 = 4;\n            }\n            _DAT_001e3d00 = CONCAT44(uVar15,_DAT_001e3d00);\n            if ((*(byte *)(DAT_001e3cb8 + 0x10) & 1) != 0) {\n              DAT_001e3cf8 = DAT_001e3cf8 | 2;\n            }\n          }\n          if (DAT_001e3c2c == 0) {\n            if ((iVar16 == 0) && (iVar16 = iVar8, DAT_001e3d40 != 0)) {\n              if (DAT_001e3d40 == 1) {\n                pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n                *pbVar5 = *pbVar5 | 1;\n              }\n              else {\n                pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n                *pbVar5 = *pbVar5 | 4;\n                iVar16 = 1;\n              }\n            }\n          }\n          else if (((&DAT_001e3c9c)[uVar20] == 0x179) || ((&DAT_001e3c9c)[uVar20] == 0x195)) {\n            DAT_001e3cf4 = 0;\n            goto LAB_00133b80;\n          }\n        }\n        else {\n          if (bVar21 != 0) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1b7c,"build_modrm_byte");\n          }\n          if (bVar7 == 3) {\n            if (DAT_001e3cb8 != 0) {\n              DAT_001e3cec = *(byte *)(DAT_001e3cb8 + 0x11) - 6;\n              goto LAB_0013317e;\n            }\n            DAT_001e3cec = 7;\n            puVar10 = ds;\n            iVar16 = 0;\n          }\n          else if (bVar7 == 5) {\n            if (DAT_001e3cb8 == 0) {\n              puVar10 = ss;\n              DAT_001e3cec = 6;\n              iVar16 = 0;\n              if ((*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f) == 0) {\n                pbVar5 = (byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2);\n                *pbVar5 = *pbVar5 | 1;\n                iVar16 = 1;\n              }\n            }\n            else {\n              DAT_001e3cec = *(byte *)(DAT_001e3cb8 + 0x11) - 4;\n              puVar10 = ss;\n              iVar16 = 0;\n            }\n          }\n          else {\n            DAT_001e3cec = bVar7 - 2;\nLAB_0013317e:\n            iVar16 = 0;\n            puVar10 = ds;\n          }\n        }\n        DAT_001e3cf4 = 1;\n        if (((ulong)(&DAT_001e3c38)[uVar20] >> 0x10 & 1) == 0) {\n          DAT_001e3cf4 = (uint)(((&DAT_001e3c38)[uVar20] & 0xe0000) != 0) * 2;\n        }\n        goto LAB_00133b80;\n      }" { (if_statement "if ((*(byte *)(lVar13 + 0xb) & 0x40) == 0) {\n          if ((DAT_001e3b14 == 2) &&\n             ((*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f) != 0)) {\n            lVar2 = (uVar20 + 0xe) * 8;\n            bVar14 = *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2);\n            bVar12 = bVar14 & 0xe1;\n            *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar14 & 0xed;\n            if (DAT_001e3ce6 == '\0') {\n              *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar12 | 8;\n            }\n            else {\n              *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar12 | 4;\n            }\n          }\n          if (bVar21 == 0) {\n            DAT_001e3cec = (uint)bVar7;\n          }\n          if ((*(byte *)(lVar13 + 0x10) & 1) == 0) {\n            puVar10 = ss;\n            if (1 < (byte)(bVar7 - 4)) {\n              puVar10 = ds;\n            }\n          }\n          else {\n            DAT_001e3cf8 = DAT_001e3cf8 | 1;\n            puVar10 = ds;\n          }\n          _DAT_001e3d00 = CONCAT44(DAT_001e3d04,(uint)bVar7);\n          iVar16 = 0;\n          if ((bVar7 == 5) && (iVar16 = 0, DAT_001e3c2c == 0)) {\n            iVar16 = 1;\n            pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n            *pbVar5 = *pbVar5 | 1;\n          }\n          iVar8 = DAT_001e3d40;\n          DAT_001e3d08 = DAT_001e3cc0;\n          if (DAT_001e3cb8 == 0) {\n            if (bVar21 != 0) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1bbf,"build_modrm_byte");\n            }\n            _DAT_001e3d00 = CONCAT44(4,_DAT_001e3d00);\n          }\n          else if (bVar21 == 0) {\n            DAT_001e3cec = 4;\n            uVar15 = (uint)*(byte *)(DAT_001e3cb8 + 0x11);\n            if ((byte)(*(byte *)(DAT_001e3cb8 + 0x11) + 4) < 2) {\n              uVar15 = 4;\n            }\n            _DAT_001e3d00 = CONCAT44(uVar15,_DAT_001e3d00);\n            if ((*(byte *)(DAT_001e3cb8 + 0x10) & 1) != 0) {\n              DAT_001e3cf8 = DAT_001e3cf8 | 2;\n            }\n          }\n          if (DAT_001e3c2c == 0) {\n            if ((iVar16 == 0) && (iVar16 = iVar8, DAT_001e3d40 != 0)) {\n              if (DAT_001e3d40 == 1) {\n                pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n                *pbVar5 = *pbVar5 | 1;\n              }\n              else {\n                pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n                *pbVar5 = *pbVar5 | 4;\n                iVar16 = 1;\n              }\n            }\n          }\n          else if (((&DAT_001e3c9c)[uVar20] == 0x179) || ((&DAT_001e3c9c)[uVar20] == 0x195)) {\n            DAT_001e3cf4 = 0;\n            goto LAB_00133b80;\n          }\n        }\n        else {\n          if (bVar21 != 0) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1b7c,"build_modrm_byte");\n          }\n          if (bVar7 == 3) {\n            if (DAT_001e3cb8 != 0) {\n              DAT_001e3cec = *(byte *)(DAT_001e3cb8 + 0x11) - 6;\n              goto LAB_0013317e;\n            }\n            DAT_001e3cec = 7;\n            puVar10 = ds;\n            iVar16 = 0;\n          }\n          else if (bVar7 == 5) {\n            if (DAT_001e3cb8 == 0) {\n              puVar10 = ss;\n              DAT_001e3cec = 6;\n              iVar16 = 0;\n              if ((*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f) == 0) {\n                pbVar5 = (byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2);\n                *pbVar5 = *pbVar5 | 1;\n                iVar16 = 1;\n              }\n            }\n            else {\n              DAT_001e3cec = *(byte *)(DAT_001e3cb8 + 0x11) - 4;\n              puVar10 = ss;\n              iVar16 = 0;\n            }\n          }\n          else {\n            DAT_001e3cec = bVar7 - 2;\nLAB_0013317e:\n            iVar16 = 0;\n            puVar10 = ds;\n          }\n        }" if (parenthesized_expression "((*(byte *)(lVar13 + 0xb) & 0x40) == 0)" ( (binary_expression "(*(byte *)(lVar13 + 0xb) & 0x40) == 0" (parenthesized_expression "(*(byte *)(lVar13 + 0xb) & 0x40)" ( (binary_expression "*(byte *)(lVar13 + 0xb) & 0x40" (pointer_expression "*(byte *)(lVar13 + 0xb)" * (cast_expression "(byte *)(lVar13 + 0xb)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar13 + 0xb)" ( (binary_expression "lVar13 + 0xb" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n          if ((DAT_001e3b14 == 2) &&\n             ((*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f) != 0)) {\n            lVar2 = (uVar20 + 0xe) * 8;\n            bVar14 = *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2);\n            bVar12 = bVar14 & 0xe1;\n            *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar14 & 0xed;\n            if (DAT_001e3ce6 == '\0') {\n              *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar12 | 8;\n            }\n            else {\n              *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar12 | 4;\n            }\n          }\n          if (bVar21 == 0) {\n            DAT_001e3cec = (uint)bVar7;\n          }\n          if ((*(byte *)(lVar13 + 0x10) & 1) == 0) {\n            puVar10 = ss;\n            if (1 < (byte)(bVar7 - 4)) {\n              puVar10 = ds;\n            }\n          }\n          else {\n            DAT_001e3cf8 = DAT_001e3cf8 | 1;\n            puVar10 = ds;\n          }\n          _DAT_001e3d00 = CONCAT44(DAT_001e3d04,(uint)bVar7);\n          iVar16 = 0;\n          if ((bVar7 == 5) && (iVar16 = 0, DAT_001e3c2c == 0)) {\n            iVar16 = 1;\n            pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n            *pbVar5 = *pbVar5 | 1;\n          }\n          iVar8 = DAT_001e3d40;\n          DAT_001e3d08 = DAT_001e3cc0;\n          if (DAT_001e3cb8 == 0) {\n            if (bVar21 != 0) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1bbf,"build_modrm_byte");\n            }\n            _DAT_001e3d00 = CONCAT44(4,_DAT_001e3d00);\n          }\n          else if (bVar21 == 0) {\n            DAT_001e3cec = 4;\n            uVar15 = (uint)*(byte *)(DAT_001e3cb8 + 0x11);\n            if ((byte)(*(byte *)(DAT_001e3cb8 + 0x11) + 4) < 2) {\n              uVar15 = 4;\n            }\n            _DAT_001e3d00 = CONCAT44(uVar15,_DAT_001e3d00);\n            if ((*(byte *)(DAT_001e3cb8 + 0x10) & 1) != 0) {\n              DAT_001e3cf8 = DAT_001e3cf8 | 2;\n            }\n          }\n          if (DAT_001e3c2c == 0) {\n            if ((iVar16 == 0) && (iVar16 = iVar8, DAT_001e3d40 != 0)) {\n              if (DAT_001e3d40 == 1) {\n                pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n                *pbVar5 = *pbVar5 | 1;\n              }\n              else {\n                pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n                *pbVar5 = *pbVar5 | 4;\n                iVar16 = 1;\n              }\n            }\n          }\n          else if (((&DAT_001e3c9c)[uVar20] == 0x179) || ((&DAT_001e3c9c)[uVar20] == 0x195)) {\n            DAT_001e3cf4 = 0;\n            goto LAB_00133b80;\n          }\n        }" { (if_statement "if ((DAT_001e3b14 == 2) &&\n             ((*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f) != 0)) {\n            lVar2 = (uVar20 + 0xe) * 8;\n            bVar14 = *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2);\n            bVar12 = bVar14 & 0xe1;\n            *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar14 & 0xed;\n            if (DAT_001e3ce6 == '\0') {\n              *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar12 | 8;\n            }\n            else {\n              *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar12 | 4;\n            }\n          }" if (parenthesized_expression "((DAT_001e3b14 == 2) &&\n             ((*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f) != 0))" ( (binary_expression "(DAT_001e3b14 == 2) &&\n             ((*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f) != 0)" (parenthesized_expression "(DAT_001e3b14 == 2)" ( (binary_expression "DAT_001e3b14 == 2" identifier == number_literal) )) && (parenthesized_expression "((*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f) != 0)" ( (binary_expression "(*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f) != 0" (parenthesized_expression "(*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f)" ( (binary_expression "*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f" (pointer_expression "*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2)" * (cast_expression "(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2)" ( (binary_expression "(long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2" (binary_expression "(long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8" (cast_expression "(long)&DAT_001e3bc8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&DAT_001e3bc8" & identifier)) + (binary_expression "(uVar20 + 0xe) * 8" (parenthesized_expression "(uVar20 + 0xe)" ( (binary_expression "uVar20 + 0xe" identifier + number_literal) )) * number_literal)) + number_literal) )))) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n            lVar2 = (uVar20 + 0xe) * 8;\n            bVar14 = *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2);\n            bVar12 = bVar14 & 0xe1;\n            *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar14 & 0xed;\n            if (DAT_001e3ce6 == '\0') {\n              *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar12 | 8;\n            }\n            else {\n              *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar12 | 4;\n            }\n          }" { (expression_statement "lVar2 = (uVar20 + 0xe) * 8;" (assignment_expression "lVar2 = (uVar20 + 0xe) * 8" identifier = (binary_expression "(uVar20 + 0xe) * 8" (parenthesized_expression "(uVar20 + 0xe)" ( (binary_expression "uVar20 + 0xe" identifier + number_literal) )) * number_literal)) ;) (expression_statement "bVar14 = *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2);" (assignment_expression "bVar14 = *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2)" identifier = (pointer_expression "*(byte *)((long)&DAT_001e3bc8 + lVar2 + 2)" * (cast_expression "(byte *)((long)&DAT_001e3bc8 + lVar2 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&DAT_001e3bc8 + lVar2 + 2)" ( (binary_expression "(long)&DAT_001e3bc8 + lVar2 + 2" (binary_expression "(long)&DAT_001e3bc8 + lVar2" (cast_expression "(long)&DAT_001e3bc8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&DAT_001e3bc8" & identifier)) + identifier) + number_literal) ))))) ;) (expression_statement "bVar12 = bVar14 & 0xe1;" (assignment_expression "bVar12 = bVar14 & 0xe1" identifier = (binary_expression "bVar14 & 0xe1" identifier & number_literal)) ;) (expression_statement "*(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar14 & 0xed;" (assignment_expression "*(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar14 & 0xed" (pointer_expression "*(byte *)((long)&DAT_001e3bc8 + lVar2 + 2)" * (cast_expression "(byte *)((long)&DAT_001e3bc8 + lVar2 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&DAT_001e3bc8 + lVar2 + 2)" ( (binary_expression "(long)&DAT_001e3bc8 + lVar2 + 2" (binary_expression "(long)&DAT_001e3bc8 + lVar2" (cast_expression "(long)&DAT_001e3bc8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&DAT_001e3bc8" & identifier)) + identifier) + number_literal) )))) = (binary_expression "bVar14 & 0xed" identifier & number_literal)) ;) (if_statement "if (DAT_001e3ce6 == '\0') {\n              *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar12 | 8;\n            }\n            else {\n              *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar12 | 4;\n            }" if (parenthesized_expression "(DAT_001e3ce6 == '\0')" ( (binary_expression "DAT_001e3ce6 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n              *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar12 | 8;\n            }" { (expression_statement "*(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar12 | 8;" (assignment_expression "*(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar12 | 8" (pointer_expression "*(byte *)((long)&DAT_001e3bc8 + lVar2 + 2)" * (cast_expression "(byte *)((long)&DAT_001e3bc8 + lVar2 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&DAT_001e3bc8 + lVar2 + 2)" ( (binary_expression "(long)&DAT_001e3bc8 + lVar2 + 2" (binary_expression "(long)&DAT_001e3bc8 + lVar2" (cast_expression "(long)&DAT_001e3bc8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&DAT_001e3bc8" & identifier)) + identifier) + number_literal) )))) = (binary_expression "bVar12 | 8" identifier | number_literal)) ;) }) (else_clause "else {\n              *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar12 | 4;\n            }" else (compound_statement "{\n              *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar12 | 4;\n            }" { (expression_statement "*(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar12 | 4;" (assignment_expression "*(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar12 | 4" (pointer_expression "*(byte *)((long)&DAT_001e3bc8 + lVar2 + 2)" * (cast_expression "(byte *)((long)&DAT_001e3bc8 + lVar2 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&DAT_001e3bc8 + lVar2 + 2)" ( (binary_expression "(long)&DAT_001e3bc8 + lVar2 + 2" (binary_expression "(long)&DAT_001e3bc8 + lVar2" (cast_expression "(long)&DAT_001e3bc8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&DAT_001e3bc8" & identifier)) + identifier) + number_literal) )))) = (binary_expression "bVar12 | 4" identifier | number_literal)) ;) }))) })) (if_statement "if (bVar21 == 0) {\n            DAT_001e3cec = (uint)bVar7;\n          }" if (parenthesized_expression "(bVar21 == 0)" ( (binary_expression "bVar21 == 0" identifier == number_literal) )) (compound_statement "{\n            DAT_001e3cec = (uint)bVar7;\n          }" { (expression_statement "DAT_001e3cec = (uint)bVar7;" (assignment_expression "DAT_001e3cec = (uint)bVar7" identifier = (cast_expression "(uint)bVar7" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) })) (if_statement "if ((*(byte *)(lVar13 + 0x10) & 1) == 0) {\n            puVar10 = ss;\n            if (1 < (byte)(bVar7 - 4)) {\n              puVar10 = ds;\n            }\n          }\n          else {\n            DAT_001e3cf8 = DAT_001e3cf8 | 1;\n            puVar10 = ds;\n          }" if (parenthesized_expression "((*(byte *)(lVar13 + 0x10) & 1) == 0)" ( (binary_expression "(*(byte *)(lVar13 + 0x10) & 1) == 0" (parenthesized_expression "(*(byte *)(lVar13 + 0x10) & 1)" ( (binary_expression "*(byte *)(lVar13 + 0x10) & 1" (pointer_expression "*(byte *)(lVar13 + 0x10)" * (cast_expression "(byte *)(lVar13 + 0x10)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar13 + 0x10)" ( (binary_expression "lVar13 + 0x10" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n            puVar10 = ss;\n            if (1 < (byte)(bVar7 - 4)) {\n              puVar10 = ds;\n            }\n          }" { (expression_statement "puVar10 = ss;" (assignment_expression "puVar10 = ss" identifier = identifier) ;) (if_statement "if (1 < (byte)(bVar7 - 4)) {\n              puVar10 = ds;\n            }" if (parenthesized_expression "(1 < (byte)(bVar7 - 4))" ( (binary_expression "1 < (byte)(bVar7 - 4)" number_literal < (call_expression "(byte)(bVar7 - 4)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(bVar7 - 4)" ( (binary_expression "bVar7 - 4" identifier - number_literal) )))) )) (compound_statement "{\n              puVar10 = ds;\n            }" { (expression_statement "puVar10 = ds;" (assignment_expression "puVar10 = ds" identifier = identifier) ;) })) }) (else_clause "else {\n            DAT_001e3cf8 = DAT_001e3cf8 | 1;\n            puVar10 = ds;\n          }" else (compound_statement "{\n            DAT_001e3cf8 = DAT_001e3cf8 | 1;\n            puVar10 = ds;\n          }" { (expression_statement "DAT_001e3cf8 = DAT_001e3cf8 | 1;" (assignment_expression "DAT_001e3cf8 = DAT_001e3cf8 | 1" identifier = (binary_expression "DAT_001e3cf8 | 1" identifier | number_literal)) ;) (expression_statement "puVar10 = ds;" (assignment_expression "puVar10 = ds" identifier = identifier) ;) }))) (expression_statement "_DAT_001e3d00 = CONCAT44(DAT_001e3d04,(uint)bVar7);" (assignment_expression "_DAT_001e3d00 = CONCAT44(DAT_001e3d04,(uint)bVar7)" identifier = (call_expression "CONCAT44(DAT_001e3d04,(uint)bVar7)" identifier (argument_list "(DAT_001e3d04,(uint)bVar7)" ( identifier , (cast_expression "(uint)bVar7" ( (type_descriptor "uint" type_identifier) ) identifier) )))) ;) (expression_statement "iVar16 = 0;" (assignment_expression "iVar16 = 0" identifier = number_literal) ;) (if_statement "if ((bVar7 == 5) && (iVar16 = 0, DAT_001e3c2c == 0)) {\n            iVar16 = 1;\n            pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n            *pbVar5 = *pbVar5 | 1;\n          }" if (parenthesized_expression "((bVar7 == 5) && (iVar16 = 0, DAT_001e3c2c == 0))" ( (binary_expression "(bVar7 == 5) && (iVar16 = 0, DAT_001e3c2c == 0)" (parenthesized_expression "(bVar7 == 5)" ( (binary_expression "bVar7 == 5" identifier == number_literal) )) && (parenthesized_expression "(iVar16 = 0, DAT_001e3c2c == 0)" ( (comma_expression "iVar16 = 0, DAT_001e3c2c == 0" (assignment_expression "iVar16 = 0" identifier = number_literal) , (binary_expression "DAT_001e3c2c == 0" identifier == number_literal)) ))) )) (compound_statement "{\n            iVar16 = 1;\n            pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n            *pbVar5 = *pbVar5 | 1;\n          }" { (expression_statement "iVar16 = 1;" (assignment_expression "iVar16 = 1" identifier = number_literal) ;) (expression_statement "pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);" (assignment_expression "pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2)" identifier = (cast_expression "(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&DAT_001e3c38 + uVar20 * 8 + 2)" ( (binary_expression "(long)&DAT_001e3c38 + uVar20 * 8 + 2" (binary_expression "(long)&DAT_001e3c38 + uVar20 * 8" (cast_expression "(long)&DAT_001e3c38" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&DAT_001e3c38" & identifier)) + (binary_expression "uVar20 * 8" identifier * number_literal)) + number_literal) )))) ;) (expression_statement "*pbVar5 = *pbVar5 | 1;" (assignment_expression "*pbVar5 = *pbVar5 | 1" (pointer_expression "*pbVar5" * identifier) = (binary_expression "*pbVar5 | 1" (pointer_expression "*pbVar5" * identifier) | number_literal)) ;) })) (expression_statement "iVar8 = DAT_001e3d40;" (assignment_expression "iVar8 = DAT_001e3d40" identifier = identifier) ;) (expression_statement "DAT_001e3d08 = DAT_001e3cc0;" (assignment_expression "DAT_001e3d08 = DAT_001e3cc0" identifier = identifier) ;) (if_statement "if (DAT_001e3cb8 == 0) {\n            if (bVar21 != 0) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1bbf,"build_modrm_byte");\n            }\n            _DAT_001e3d00 = CONCAT44(4,_DAT_001e3d00);\n          }\n          else if (bVar21 == 0) {\n            DAT_001e3cec = 4;\n            uVar15 = (uint)*(byte *)(DAT_001e3cb8 + 0x11);\n            if ((byte)(*(byte *)(DAT_001e3cb8 + 0x11) + 4) < 2) {\n              uVar15 = 4;\n            }\n            _DAT_001e3d00 = CONCAT44(uVar15,_DAT_001e3d00);\n            if ((*(byte *)(DAT_001e3cb8 + 0x10) & 1) != 0) {\n              DAT_001e3cf8 = DAT_001e3cf8 | 2;\n            }\n          }" if (parenthesized_expression "(DAT_001e3cb8 == 0)" ( (binary_expression "DAT_001e3cb8 == 0" identifier == number_literal) )) (compound_statement "{\n            if (bVar21 != 0) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1bbf,"build_modrm_byte");\n            }\n            _DAT_001e3d00 = CONCAT44(4,_DAT_001e3d00);\n          }" { (if_statement "if (bVar21 != 0) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1bbf,"build_modrm_byte");\n            }" if (parenthesized_expression "(bVar21 != 0)" ( (binary_expression "bVar21 != 0" identifier != number_literal) )) (compound_statement "{\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1bbf,"build_modrm_byte");\n            }" { (expression_statement "FUN_0011dd00("../../gas/config/tc-i386.c",0x1bbf,"build_modrm_byte");" (call_expression "FUN_0011dd00("../../gas/config/tc-i386.c",0x1bbf,"build_modrm_byte")" identifier (argument_list "("../../gas/config/tc-i386.c",0x1bbf,"build_modrm_byte")" ( (string_literal ""../../gas/config/tc-i386.c"" " string_content ") , number_literal , (string_literal ""build_modrm_byte"" " string_content ") ))) ;) })) (expression_statement "_DAT_001e3d00 = CONCAT44(4,_DAT_001e3d00);" (assignment_expression "_DAT_001e3d00 = CONCAT44(4,_DAT_001e3d00)" identifier = (call_expression "CONCAT44(4,_DAT_001e3d00)" identifier (argument_list "(4,_DAT_001e3d00)" ( number_literal , identifier )))) ;) }) (else_clause "else if (bVar21 == 0) {\n            DAT_001e3cec = 4;\n            uVar15 = (uint)*(byte *)(DAT_001e3cb8 + 0x11);\n            if ((byte)(*(byte *)(DAT_001e3cb8 + 0x11) + 4) < 2) {\n              uVar15 = 4;\n            }\n            _DAT_001e3d00 = CONCAT44(uVar15,_DAT_001e3d00);\n            if ((*(byte *)(DAT_001e3cb8 + 0x10) & 1) != 0) {\n              DAT_001e3cf8 = DAT_001e3cf8 | 2;\n            }\n          }" else (if_statement "if (bVar21 == 0) {\n            DAT_001e3cec = 4;\n            uVar15 = (uint)*(byte *)(DAT_001e3cb8 + 0x11);\n            if ((byte)(*(byte *)(DAT_001e3cb8 + 0x11) + 4) < 2) {\n              uVar15 = 4;\n            }\n            _DAT_001e3d00 = CONCAT44(uVar15,_DAT_001e3d00);\n            if ((*(byte *)(DAT_001e3cb8 + 0x10) & 1) != 0) {\n              DAT_001e3cf8 = DAT_001e3cf8 | 2;\n            }\n          }" if (parenthesized_expression "(bVar21 == 0)" ( (binary_expression "bVar21 == 0" identifier == number_literal) )) (compound_statement "{\n            DAT_001e3cec = 4;\n            uVar15 = (uint)*(byte *)(DAT_001e3cb8 + 0x11);\n            if ((byte)(*(byte *)(DAT_001e3cb8 + 0x11) + 4) < 2) {\n              uVar15 = 4;\n            }\n            _DAT_001e3d00 = CONCAT44(uVar15,_DAT_001e3d00);\n            if ((*(byte *)(DAT_001e3cb8 + 0x10) & 1) != 0) {\n              DAT_001e3cf8 = DAT_001e3cf8 | 2;\n            }\n          }" { (expression_statement "DAT_001e3cec = 4;" (assignment_expression "DAT_001e3cec = 4" identifier = number_literal) ;) (expression_statement "uVar15 = (uint)*(byte *)(DAT_001e3cb8 + 0x11);" (assignment_expression "uVar15 = (uint)*(byte *)(DAT_001e3cb8 + 0x11)" identifier = (binary_expression "(uint)*(byte *)(DAT_001e3cb8 + 0x11)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(DAT_001e3cb8 + 0x11)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_001e3cb8 + 0x11)" ( (binary_expression "DAT_001e3cb8 + 0x11" identifier + number_literal) ))))) ;) (if_statement "if ((byte)(*(byte *)(DAT_001e3cb8 + 0x11) + 4) < 2) {\n              uVar15 = 4;\n            }" if (parenthesized_expression "((byte)(*(byte *)(DAT_001e3cb8 + 0x11) + 4) < 2)" ( (binary_expression "(byte)(*(byte *)(DAT_001e3cb8 + 0x11) + 4) < 2" (call_expression "(byte)(*(byte *)(DAT_001e3cb8 + 0x11) + 4)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(*(byte *)(DAT_001e3cb8 + 0x11) + 4)" ( (binary_expression "*(byte *)(DAT_001e3cb8 + 0x11) + 4" (pointer_expression "*(byte *)(DAT_001e3cb8 + 0x11)" * (cast_expression "(byte *)(DAT_001e3cb8 + 0x11)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_001e3cb8 + 0x11)" ( (binary_expression "DAT_001e3cb8 + 0x11" identifier + number_literal) )))) + number_literal) ))) < number_literal) )) (compound_statement "{\n              uVar15 = 4;\n            }" { (expression_statement "uVar15 = 4;" (assignment_expression "uVar15 = 4" identifier = number_literal) ;) })) (expression_statement "_DAT_001e3d00 = CONCAT44(uVar15,_DAT_001e3d00);" (assignment_expression "_DAT_001e3d00 = CONCAT44(uVar15,_DAT_001e3d00)" identifier = (call_expression "CONCAT44(uVar15,_DAT_001e3d00)" identifier (argument_list "(uVar15,_DAT_001e3d00)" ( identifier , identifier )))) ;) (if_statement "if ((*(byte *)(DAT_001e3cb8 + 0x10) & 1) != 0) {\n              DAT_001e3cf8 = DAT_001e3cf8 | 2;\n            }" if (parenthesized_expression "((*(byte *)(DAT_001e3cb8 + 0x10) & 1) != 0)" ( (binary_expression "(*(byte *)(DAT_001e3cb8 + 0x10) & 1) != 0" (parenthesized_expression "(*(byte *)(DAT_001e3cb8 + 0x10) & 1)" ( (binary_expression "*(byte *)(DAT_001e3cb8 + 0x10) & 1" (pointer_expression "*(byte *)(DAT_001e3cb8 + 0x10)" * (cast_expression "(byte *)(DAT_001e3cb8 + 0x10)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_001e3cb8 + 0x10)" ( (binary_expression "DAT_001e3cb8 + 0x10" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n              DAT_001e3cf8 = DAT_001e3cf8 | 2;\n            }" { (expression_statement "DAT_001e3cf8 = DAT_001e3cf8 | 2;" (assignment_expression "DAT_001e3cf8 = DAT_001e3cf8 | 2" identifier = (binary_expression "DAT_001e3cf8 | 2" identifier | number_literal)) ;) })) })))) (if_statement "if (DAT_001e3c2c == 0) {\n            if ((iVar16 == 0) && (iVar16 = iVar8, DAT_001e3d40 != 0)) {\n              if (DAT_001e3d40 == 1) {\n                pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n                *pbVar5 = *pbVar5 | 1;\n              }\n              else {\n                pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n                *pbVar5 = *pbVar5 | 4;\n                iVar16 = 1;\n              }\n            }\n          }\n          else if (((&DAT_001e3c9c)[uVar20] == 0x179) || ((&DAT_001e3c9c)[uVar20] == 0x195)) {\n            DAT_001e3cf4 = 0;\n            goto LAB_00133b80;\n          }" if (parenthesized_expression "(DAT_001e3c2c == 0)" ( (binary_expression "DAT_001e3c2c == 0" identifier == number_literal) )) (compound_statement "{\n            if ((iVar16 == 0) && (iVar16 = iVar8, DAT_001e3d40 != 0)) {\n              if (DAT_001e3d40 == 1) {\n                pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n                *pbVar5 = *pbVar5 | 1;\n              }\n              else {\n                pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n                *pbVar5 = *pbVar5 | 4;\n                iVar16 = 1;\n              }\n            }\n          }" { (if_statement "if ((iVar16 == 0) && (iVar16 = iVar8, DAT_001e3d40 != 0)) {\n              if (DAT_001e3d40 == 1) {\n                pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n                *pbVar5 = *pbVar5 | 1;\n              }\n              else {\n                pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n                *pbVar5 = *pbVar5 | 4;\n                iVar16 = 1;\n              }\n            }" if (parenthesized_expression "((iVar16 == 0) && (iVar16 = iVar8, DAT_001e3d40 != 0))" ( (binary_expression "(iVar16 == 0) && (iVar16 = iVar8, DAT_001e3d40 != 0)" (parenthesized_expression "(iVar16 == 0)" ( (binary_expression "iVar16 == 0" identifier == number_literal) )) && (parenthesized_expression "(iVar16 = iVar8, DAT_001e3d40 != 0)" ( (comma_expression "iVar16 = iVar8, DAT_001e3d40 != 0" (assignment_expression "iVar16 = iVar8" identifier = identifier) , (binary_expression "DAT_001e3d40 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n              if (DAT_001e3d40 == 1) {\n                pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n                *pbVar5 = *pbVar5 | 1;\n              }\n              else {\n                pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n                *pbVar5 = *pbVar5 | 4;\n                iVar16 = 1;\n              }\n            }" { (if_statement "if (DAT_001e3d40 == 1) {\n                pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n                *pbVar5 = *pbVar5 | 1;\n              }\n              else {\n                pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n                *pbVar5 = *pbVar5 | 4;\n                iVar16 = 1;\n              }" if (parenthesized_expression "(DAT_001e3d40 == 1)" ( (binary_expression "DAT_001e3d40 == 1" identifier == number_literal) )) (compound_statement "{\n                pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n                *pbVar5 = *pbVar5 | 1;\n              }" { (expression_statement "pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);" (assignment_expression "pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2)" identifier = (cast_expression "(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&DAT_001e3c38 + uVar20 * 8 + 2)" ( (binary_expression "(long)&DAT_001e3c38 + uVar20 * 8 + 2" (binary_expression "(long)&DAT_001e3c38 + uVar20 * 8" (cast_expression "(long)&DAT_001e3c38" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&DAT_001e3c38" & identifier)) + (binary_expression "uVar20 * 8" identifier * number_literal)) + number_literal) )))) ;) (expression_statement "*pbVar5 = *pbVar5 | 1;" (assignment_expression "*pbVar5 = *pbVar5 | 1" (pointer_expression "*pbVar5" * identifier) = (binary_expression "*pbVar5 | 1" (pointer_expression "*pbVar5" * identifier) | number_literal)) ;) }) (else_clause "else {\n                pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n                *pbVar5 = *pbVar5 | 4;\n                iVar16 = 1;\n              }" else (compound_statement "{\n                pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n                *pbVar5 = *pbVar5 | 4;\n                iVar16 = 1;\n              }" { (expression_statement "pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);" (assignment_expression "pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2)" identifier = (cast_expression "(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&DAT_001e3c38 + uVar20 * 8 + 2)" ( (binary_expression "(long)&DAT_001e3c38 + uVar20 * 8 + 2" (binary_expression "(long)&DAT_001e3c38 + uVar20 * 8" (cast_expression "(long)&DAT_001e3c38" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&DAT_001e3c38" & identifier)) + (binary_expression "uVar20 * 8" identifier * number_literal)) + number_literal) )))) ;) (expression_statement "*pbVar5 = *pbVar5 | 4;" (assignment_expression "*pbVar5 = *pbVar5 | 4" (pointer_expression "*pbVar5" * identifier) = (binary_expression "*pbVar5 | 4" (pointer_expression "*pbVar5" * identifier) | number_literal)) ;) (expression_statement "iVar16 = 1;" (assignment_expression "iVar16 = 1" identifier = number_literal) ;) }))) })) }) (else_clause "else if (((&DAT_001e3c9c)[uVar20] == 0x179) || ((&DAT_001e3c9c)[uVar20] == 0x195)) {\n            DAT_001e3cf4 = 0;\n            goto LAB_00133b80;\n          }" else (if_statement "if (((&DAT_001e3c9c)[uVar20] == 0x179) || ((&DAT_001e3c9c)[uVar20] == 0x195)) {\n            DAT_001e3cf4 = 0;\n            goto LAB_00133b80;\n          }" if (parenthesized_expression "(((&DAT_001e3c9c)[uVar20] == 0x179) || ((&DAT_001e3c9c)[uVar20] == 0x195))" ( (binary_expression "((&DAT_001e3c9c)[uVar20] == 0x179) || ((&DAT_001e3c9c)[uVar20] == 0x195)" (parenthesized_expression "((&DAT_001e3c9c)[uVar20] == 0x179)" ( (binary_expression "(&DAT_001e3c9c)[uVar20] == 0x179" (subscript_expression "(&DAT_001e3c9c)[uVar20]" (parenthesized_expression "(&DAT_001e3c9c)" ( (pointer_expression "&DAT_001e3c9c" & identifier) )) [ identifier ]) == number_literal) )) || (parenthesized_expression "((&DAT_001e3c9c)[uVar20] == 0x195)" ( (binary_expression "(&DAT_001e3c9c)[uVar20] == 0x195" (subscript_expression "(&DAT_001e3c9c)[uVar20]" (parenthesized_expression "(&DAT_001e3c9c)" ( (pointer_expression "&DAT_001e3c9c" & identifier) )) [ identifier ]) == number_literal) ))) )) (compound_statement "{\n            DAT_001e3cf4 = 0;\n            goto LAB_00133b80;\n          }" { (expression_statement "DAT_001e3cf4 = 0;" (assignment_expression "DAT_001e3cf4 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_00133b80;" goto statement_identifier ;) })))) }) (else_clause "else {\n          if (bVar21 != 0) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1b7c,"build_modrm_byte");\n          }\n          if (bVar7 == 3) {\n            if (DAT_001e3cb8 != 0) {\n              DAT_001e3cec = *(byte *)(DAT_001e3cb8 + 0x11) - 6;\n              goto LAB_0013317e;\n            }\n            DAT_001e3cec = 7;\n            puVar10 = ds;\n            iVar16 = 0;\n          }\n          else if (bVar7 == 5) {\n            if (DAT_001e3cb8 == 0) {\n              puVar10 = ss;\n              DAT_001e3cec = 6;\n              iVar16 = 0;\n              if ((*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f) == 0) {\n                pbVar5 = (byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2);\n                *pbVar5 = *pbVar5 | 1;\n                iVar16 = 1;\n              }\n            }\n            else {\n              DAT_001e3cec = *(byte *)(DAT_001e3cb8 + 0x11) - 4;\n              puVar10 = ss;\n              iVar16 = 0;\n            }\n          }\n          else {\n            DAT_001e3cec = bVar7 - 2;\nLAB_0013317e:\n            iVar16 = 0;\n            puVar10 = ds;\n          }\n        }" else (compound_statement "{\n          if (bVar21 != 0) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1b7c,"build_modrm_byte");\n          }\n          if (bVar7 == 3) {\n            if (DAT_001e3cb8 != 0) {\n              DAT_001e3cec = *(byte *)(DAT_001e3cb8 + 0x11) - 6;\n              goto LAB_0013317e;\n            }\n            DAT_001e3cec = 7;\n            puVar10 = ds;\n            iVar16 = 0;\n          }\n          else if (bVar7 == 5) {\n            if (DAT_001e3cb8 == 0) {\n              puVar10 = ss;\n              DAT_001e3cec = 6;\n              iVar16 = 0;\n              if ((*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f) == 0) {\n                pbVar5 = (byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2);\n                *pbVar5 = *pbVar5 | 1;\n                iVar16 = 1;\n              }\n            }\n            else {\n              DAT_001e3cec = *(byte *)(DAT_001e3cb8 + 0x11) - 4;\n              puVar10 = ss;\n              iVar16 = 0;\n            }\n          }\n          else {\n            DAT_001e3cec = bVar7 - 2;\nLAB_0013317e:\n            iVar16 = 0;\n            puVar10 = ds;\n          }\n        }" { (if_statement "if (bVar21 != 0) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1b7c,"build_modrm_byte");\n          }" if (parenthesized_expression "(bVar21 != 0)" ( (binary_expression "bVar21 != 0" identifier != number_literal) )) (compound_statement "{\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1b7c,"build_modrm_byte");\n          }" { (expression_statement "FUN_0011dd00("../../gas/config/tc-i386.c",0x1b7c,"build_modrm_byte");" (call_expression "FUN_0011dd00("../../gas/config/tc-i386.c",0x1b7c,"build_modrm_byte")" identifier (argument_list "("../../gas/config/tc-i386.c",0x1b7c,"build_modrm_byte")" ( (string_literal ""../../gas/config/tc-i386.c"" " string_content ") , number_literal , (string_literal ""build_modrm_byte"" " string_content ") ))) ;) })) (if_statement "if (bVar7 == 3) {\n            if (DAT_001e3cb8 != 0) {\n              DAT_001e3cec = *(byte *)(DAT_001e3cb8 + 0x11) - 6;\n              goto LAB_0013317e;\n            }\n            DAT_001e3cec = 7;\n            puVar10 = ds;\n            iVar16 = 0;\n          }\n          else if (bVar7 == 5) {\n            if (DAT_001e3cb8 == 0) {\n              puVar10 = ss;\n              DAT_001e3cec = 6;\n              iVar16 = 0;\n              if ((*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f) == 0) {\n                pbVar5 = (byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2);\n                *pbVar5 = *pbVar5 | 1;\n                iVar16 = 1;\n              }\n            }\n            else {\n              DAT_001e3cec = *(byte *)(DAT_001e3cb8 + 0x11) - 4;\n              puVar10 = ss;\n              iVar16 = 0;\n            }\n          }\n          else {\n            DAT_001e3cec = bVar7 - 2;\nLAB_0013317e:\n            iVar16 = 0;\n            puVar10 = ds;\n          }" if (parenthesized_expression "(bVar7 == 3)" ( (binary_expression "bVar7 == 3" identifier == number_literal) )) (compound_statement "{\n            if (DAT_001e3cb8 != 0) {\n              DAT_001e3cec = *(byte *)(DAT_001e3cb8 + 0x11) - 6;\n              goto LAB_0013317e;\n            }\n            DAT_001e3cec = 7;\n            puVar10 = ds;\n            iVar16 = 0;\n          }" { (if_statement "if (DAT_001e3cb8 != 0) {\n              DAT_001e3cec = *(byte *)(DAT_001e3cb8 + 0x11) - 6;\n              goto LAB_0013317e;\n            }" if (parenthesized_expression "(DAT_001e3cb8 != 0)" ( (binary_expression "DAT_001e3cb8 != 0" identifier != number_literal) )) (compound_statement "{\n              DAT_001e3cec = *(byte *)(DAT_001e3cb8 + 0x11) - 6;\n              goto LAB_0013317e;\n            }" { (expression_statement "DAT_001e3cec = *(byte *)(DAT_001e3cb8 + 0x11) - 6;" (assignment_expression "DAT_001e3cec = *(byte *)(DAT_001e3cb8 + 0x11) - 6" identifier = (binary_expression "*(byte *)(DAT_001e3cb8 + 0x11) - 6" (pointer_expression "*(byte *)(DAT_001e3cb8 + 0x11)" * (cast_expression "(byte *)(DAT_001e3cb8 + 0x11)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_001e3cb8 + 0x11)" ( (binary_expression "DAT_001e3cb8 + 0x11" identifier + number_literal) )))) - number_literal)) ;) (goto_statement "goto LAB_0013317e;" goto statement_identifier ;) })) (expression_statement "DAT_001e3cec = 7;" (assignment_expression "DAT_001e3cec = 7" identifier = number_literal) ;) (expression_statement "puVar10 = ds;" (assignment_expression "puVar10 = ds" identifier = identifier) ;) (expression_statement "iVar16 = 0;" (assignment_expression "iVar16 = 0" identifier = number_literal) ;) }) (else_clause "else if (bVar7 == 5) {\n            if (DAT_001e3cb8 == 0) {\n              puVar10 = ss;\n              DAT_001e3cec = 6;\n              iVar16 = 0;\n              if ((*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f) == 0) {\n                pbVar5 = (byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2);\n                *pbVar5 = *pbVar5 | 1;\n                iVar16 = 1;\n              }\n            }\n            else {\n              DAT_001e3cec = *(byte *)(DAT_001e3cb8 + 0x11) - 4;\n              puVar10 = ss;\n              iVar16 = 0;\n            }\n          }\n          else {\n            DAT_001e3cec = bVar7 - 2;\nLAB_0013317e:\n            iVar16 = 0;\n            puVar10 = ds;\n          }" else (if_statement "if (bVar7 == 5) {\n            if (DAT_001e3cb8 == 0) {\n              puVar10 = ss;\n              DAT_001e3cec = 6;\n              iVar16 = 0;\n              if ((*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f) == 0) {\n                pbVar5 = (byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2);\n                *pbVar5 = *pbVar5 | 1;\n                iVar16 = 1;\n              }\n            }\n            else {\n              DAT_001e3cec = *(byte *)(DAT_001e3cb8 + 0x11) - 4;\n              puVar10 = ss;\n              iVar16 = 0;\n            }\n          }\n          else {\n            DAT_001e3cec = bVar7 - 2;\nLAB_0013317e:\n            iVar16 = 0;\n            puVar10 = ds;\n          }" if (parenthesized_expression "(bVar7 == 5)" ( (binary_expression "bVar7 == 5" identifier == number_literal) )) (compound_statement "{\n            if (DAT_001e3cb8 == 0) {\n              puVar10 = ss;\n              DAT_001e3cec = 6;\n              iVar16 = 0;\n              if ((*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f) == 0) {\n                pbVar5 = (byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2);\n                *pbVar5 = *pbVar5 | 1;\n                iVar16 = 1;\n              }\n            }\n            else {\n              DAT_001e3cec = *(byte *)(DAT_001e3cb8 + 0x11) - 4;\n              puVar10 = ss;\n              iVar16 = 0;\n            }\n          }" { (if_statement "if (DAT_001e3cb8 == 0) {\n              puVar10 = ss;\n              DAT_001e3cec = 6;\n              iVar16 = 0;\n              if ((*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f) == 0) {\n                pbVar5 = (byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2);\n                *pbVar5 = *pbVar5 | 1;\n                iVar16 = 1;\n              }\n            }\n            else {\n              DAT_001e3cec = *(byte *)(DAT_001e3cb8 + 0x11) - 4;\n              puVar10 = ss;\n              iVar16 = 0;\n            }" if (parenthesized_expression "(DAT_001e3cb8 == 0)" ( (binary_expression "DAT_001e3cb8 == 0" identifier == number_literal) )) (compound_statement "{\n              puVar10 = ss;\n              DAT_001e3cec = 6;\n              iVar16 = 0;\n              if ((*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f) == 0) {\n                pbVar5 = (byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2);\n                *pbVar5 = *pbVar5 | 1;\n                iVar16 = 1;\n              }\n            }" { (expression_statement "puVar10 = ss;" (assignment_expression "puVar10 = ss" identifier = identifier) ;) (expression_statement "DAT_001e3cec = 6;" (assignment_expression "DAT_001e3cec = 6" identifier = number_literal) ;) (expression_statement "iVar16 = 0;" (assignment_expression "iVar16 = 0" identifier = number_literal) ;) (if_statement "if ((*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f) == 0) {\n                pbVar5 = (byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2);\n                *pbVar5 = *pbVar5 | 1;\n                iVar16 = 1;\n              }" if (parenthesized_expression "((*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f) == 0)" ( (binary_expression "(*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f) == 0" (parenthesized_expression "(*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f)" ( (binary_expression "*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f" (pointer_expression "*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2)" * (cast_expression "(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2)" ( (binary_expression "(long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2" (binary_expression "(long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8" (cast_expression "(long)&DAT_001e3bc8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&DAT_001e3bc8" & identifier)) + (binary_expression "(uVar20 + 0xe) * 8" (parenthesized_expression "(uVar20 + 0xe)" ( (binary_expression "uVar20 + 0xe" identifier + number_literal) )) * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n                pbVar5 = (byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2);\n                *pbVar5 = *pbVar5 | 1;\n                iVar16 = 1;\n              }" { (expression_statement "pbVar5 = (byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2);" (assignment_expression "pbVar5 = (byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2)" identifier = (cast_expression "(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2)" ( (binary_expression "(long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2" (binary_expression "(long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8" (cast_expression "(long)&DAT_001e3bc8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&DAT_001e3bc8" & identifier)) + (binary_expression "(uVar20 + 0xe) * 8" (parenthesized_expression "(uVar20 + 0xe)" ( (binary_expression "uVar20 + 0xe" identifier + number_literal) )) * number_literal)) + number_literal) )))) ;) (expression_statement "*pbVar5 = *pbVar5 | 1;" (assignment_expression "*pbVar5 = *pbVar5 | 1" (pointer_expression "*pbVar5" * identifier) = (binary_expression "*pbVar5 | 1" (pointer_expression "*pbVar5" * identifier) | number_literal)) ;) (expression_statement "iVar16 = 1;" (assignment_expression "iVar16 = 1" identifier = number_literal) ;) })) }) (else_clause "else {\n              DAT_001e3cec = *(byte *)(DAT_001e3cb8 + 0x11) - 4;\n              puVar10 = ss;\n              iVar16 = 0;\n            }" else (compound_statement "{\n              DAT_001e3cec = *(byte *)(DAT_001e3cb8 + 0x11) - 4;\n              puVar10 = ss;\n              iVar16 = 0;\n            }" { (expression_statement "DAT_001e3cec = *(byte *)(DAT_001e3cb8 + 0x11) - 4;" (assignment_expression "DAT_001e3cec = *(byte *)(DAT_001e3cb8 + 0x11) - 4" identifier = (binary_expression "*(byte *)(DAT_001e3cb8 + 0x11) - 4" (pointer_expression "*(byte *)(DAT_001e3cb8 + 0x11)" * (cast_expression "(byte *)(DAT_001e3cb8 + 0x11)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_001e3cb8 + 0x11)" ( (binary_expression "DAT_001e3cb8 + 0x11" identifier + number_literal) )))) - number_literal)) ;) (expression_statement "puVar10 = ss;" (assignment_expression "puVar10 = ss" identifier = identifier) ;) (expression_statement "iVar16 = 0;" (assignment_expression "iVar16 = 0" identifier = number_literal) ;) }))) }) (else_clause "else {\n            DAT_001e3cec = bVar7 - 2;\nLAB_0013317e:\n            iVar16 = 0;\n            puVar10 = ds;\n          }" else (compound_statement "{\n            DAT_001e3cec = bVar7 - 2;\nLAB_0013317e:\n            iVar16 = 0;\n            puVar10 = ds;\n          }" { (expression_statement "DAT_001e3cec = bVar7 - 2;" (assignment_expression "DAT_001e3cec = bVar7 - 2" identifier = (binary_expression "bVar7 - 2" identifier - number_literal)) ;) (labeled_statement "LAB_0013317e:\n            iVar16 = 0;" statement_identifier : (expression_statement "iVar16 = 0;" (assignment_expression "iVar16 = 0" identifier = number_literal) ;)) (expression_statement "puVar10 = ds;" (assignment_expression "puVar10 = ds" identifier = identifier) ;) }))))) }))) (expression_statement "DAT_001e3cf4 = 1;" (assignment_expression "DAT_001e3cf4 = 1" identifier = number_literal) ;) (if_statement "if (((ulong)(&DAT_001e3c38)[uVar20] >> 0x10 & 1) == 0) {\n          DAT_001e3cf4 = (uint)(((&DAT_001e3c38)[uVar20] & 0xe0000) != 0) * 2;\n        }" if (parenthesized_expression "(((ulong)(&DAT_001e3c38)[uVar20] >> 0x10 & 1) == 0)" ( (binary_expression "((ulong)(&DAT_001e3c38)[uVar20] >> 0x10 & 1) == 0" (parenthesized_expression "((ulong)(&DAT_001e3c38)[uVar20] >> 0x10 & 1)" ( (binary_expression "(ulong)(&DAT_001e3c38)[uVar20] >> 0x10 & 1" (binary_expression "(ulong)(&DAT_001e3c38)[uVar20] >> 0x10" (subscript_expression "(ulong)(&DAT_001e3c38)[uVar20]" (call_expression "(ulong)(&DAT_001e3c38)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(&DAT_001e3c38)" ( (pointer_expression "&DAT_001e3c38" & identifier) ))) [ identifier ]) >> number_literal) & number_literal) )) == number_literal) )) (compound_statement "{\n          DAT_001e3cf4 = (uint)(((&DAT_001e3c38)[uVar20] & 0xe0000) != 0) * 2;\n        }" { (expression_statement "DAT_001e3cf4 = (uint)(((&DAT_001e3c38)[uVar20] & 0xe0000) != 0) * 2;" (assignment_expression "DAT_001e3cf4 = (uint)(((&DAT_001e3c38)[uVar20] & 0xe0000) != 0) * 2" identifier = (binary_expression "(uint)(((&DAT_001e3c38)[uVar20] & 0xe0000) != 0) * 2" (call_expression "(uint)(((&DAT_001e3c38)[uVar20] & 0xe0000) != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(((&DAT_001e3c38)[uVar20] & 0xe0000) != 0)" ( (binary_expression "((&DAT_001e3c38)[uVar20] & 0xe0000) != 0" (parenthesized_expression "((&DAT_001e3c38)[uVar20] & 0xe0000)" ( (binary_expression "(&DAT_001e3c38)[uVar20] & 0xe0000" (subscript_expression "(&DAT_001e3c38)[uVar20]" (parenthesized_expression "(&DAT_001e3c38)" ( (pointer_expression "&DAT_001e3c38" & identifier) )) [ identifier ]) & number_literal) )) != number_literal) ))) * number_literal)) ;) })) (goto_statement "goto LAB_00133b80;" goto statement_identifier ;) })) (if_statement "if (bVar21 != 0) {\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1b6f,"build_modrm_byte");\n      }" if (parenthesized_expression "(bVar21 != 0)" ( (binary_expression "bVar21 != 0" identifier != number_literal) )) (compound_statement "{\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1b6f,"build_modrm_byte");\n      }" { (expression_statement "FUN_0011dd00("../../gas/config/tc-i386.c",0x1b6f,"build_modrm_byte");" (call_expression "FUN_0011dd00("../../gas/config/tc-i386.c",0x1b6f,"build_modrm_byte")" identifier (argument_list "("../../gas/config/tc-i386.c",0x1b6f,"build_modrm_byte")" ( (string_literal ""../../gas/config/tc-i386.c"" " string_content ") , number_literal , (string_literal ""build_modrm_byte"" " string_content ") ))) ;) })) (expression_statement "DAT_001e3cec = 5;" (assignment_expression "DAT_001e3cec = 5" identifier = number_literal) ;) (expression_statement "*(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) =\n           *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xe0 | 8;" (assignment_expression "*(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) =\n           *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xe0 | 8" (pointer_expression "*(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2)" * (cast_expression "(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&DAT_001e3c38 + uVar20 * 8 + 2)" ( (binary_expression "(long)&DAT_001e3c38 + uVar20 * 8 + 2" (binary_expression "(long)&DAT_001e3c38 + uVar20 * 8" (cast_expression "(long)&DAT_001e3c38" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&DAT_001e3c38" & identifier)) + (binary_expression "uVar20 * 8" identifier * number_literal)) + number_literal) )))) = (binary_expression "*(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xe0 | 8" (binary_expression "*(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xe0" (pointer_expression "*(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2)" * (cast_expression "(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&DAT_001e3c38 + uVar20 * 8 + 2)" ( (binary_expression "(long)&DAT_001e3c38 + uVar20 * 8 + 2" (binary_expression "(long)&DAT_001e3c38 + uVar20 * 8" (cast_expression "(long)&DAT_001e3c38" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&DAT_001e3c38" & identifier)) + (binary_expression "uVar20 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) | number_literal)) ;) (expression_statement "uVar15 = DAT_001e3c2c;" (assignment_expression "uVar15 = DAT_001e3c2c" identifier = identifier) ;) (expression_statement "(&DAT_001e3c88)[uVar20] = (&DAT_001e3c88)[uVar20] | 1;" (assignment_expression "(&DAT_001e3c88)[uVar20] = (&DAT_001e3c88)[uVar20] | 1" (subscript_expression "(&DAT_001e3c88)[uVar20]" (parenthesized_expression "(&DAT_001e3c88)" ( (pointer_expression "&DAT_001e3c88" & identifier) )) [ identifier ]) = (binary_expression "(&DAT_001e3c88)[uVar20] | 1" (subscript_expression "(&DAT_001e3c88)[uVar20]" (parenthesized_expression "(&DAT_001e3c88)" ( (pointer_expression "&DAT_001e3c88" & identifier) )) [ identifier ]) | number_literal)) ;) (if_statement "if (uVar15 != 0) {\nLAB_00133424:\n        puVar10 = ds;\n        goto LAB_00133089;\n      }" if (parenthesized_expression "(uVar15 != 0)" ( (binary_expression "uVar15 != 0" identifier != number_literal) )) (compound_statement "{\nLAB_00133424:\n        puVar10 = ds;\n        goto LAB_00133089;\n      }" { (labeled_statement "LAB_00133424:\n        puVar10 = ds;" statement_identifier : (expression_statement "puVar10 = ds;" (assignment_expression "puVar10 = ds" identifier = identifier) ;)) (goto_statement "goto LAB_00133089;" goto statement_identifier ;) })) (labeled_statement "LAB_00133a60:\n      puVar10 = ds;" statement_identifier : (expression_statement "puVar10 = ds;" (assignment_expression "puVar10 = ds" identifier = identifier) ;)) (labeled_statement "LAB_00133a67:\n      if ((&DAT_001e3bc0)[uVar20 + 0x14] != 0) {\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1bed,"build_modrm_byte");\n      }" statement_identifier : (if_statement "if ((&DAT_001e3bc0)[uVar20 + 0x14] != 0) {\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1bed,"build_modrm_byte");\n      }" if (parenthesized_expression "((&DAT_001e3bc0)[uVar20 + 0x14] != 0)" ( (binary_expression "(&DAT_001e3bc0)[uVar20 + 0x14] != 0" (subscript_expression "(&DAT_001e3bc0)[uVar20 + 0x14]" (parenthesized_expression "(&DAT_001e3bc0)" ( (pointer_expression "&DAT_001e3bc0" & identifier) )) [ (binary_expression "uVar20 + 0x14" identifier + number_literal) ]) != number_literal) )) (compound_statement "{\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1bed,"build_modrm_byte");\n      }" { (expression_statement "FUN_0011dd00("../../gas/config/tc-i386.c",0x1bed,"build_modrm_byte");" (call_expression "FUN_0011dd00("../../gas/config/tc-i386.c",0x1bed,"build_modrm_byte")" identifier (argument_list "("../../gas/config/tc-i386.c",0x1bed,"build_modrm_byte")" ( (string_literal ""../../gas/config/tc-i386.c"" " string_content ") , number_literal , (string_literal ""build_modrm_byte"" " string_content ") ))) ;) }))) (expression_statement "uVar9 = (ulong)DAT_001e3c2c;" (assignment_expression "uVar9 = (ulong)DAT_001e3c2c" identifier = (cast_expression "(ulong)DAT_001e3c2c" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "DAT_001e3c2c = DAT_001e3c2c + 1;" (assignment_expression "DAT_001e3c2c = DAT_001e3c2c + 1" identifier = (binary_expression "DAT_001e3c2c + 1" identifier + number_literal)) ;) (expression_statement "lVar13 = uVar9 * 0x20;" (assignment_expression "lVar13 = uVar9 * 0x20" identifier = (binary_expression "uVar9 * 0x20" identifier * number_literal)) ;) (expression_statement "(&DAT_001e3bc0)[uVar20 + 0x14] = &DAT_001e3b60 + lVar13;" (assignment_expression "(&DAT_001e3bc0)[uVar20 + 0x14] = &DAT_001e3b60 + lVar13" (subscript_expression "(&DAT_001e3bc0)[uVar20 + 0x14]" (parenthesized_expression "(&DAT_001e3bc0)" ( (pointer_expression "&DAT_001e3bc0" & identifier) )) [ (binary_expression "uVar20 + 0x14" identifier + number_literal) ]) = (binary_expression "&DAT_001e3b60 + lVar13" (pointer_expression "&DAT_001e3b60" & identifier) + identifier)) ;) (expression_statement "(&DAT_001e3b78)[lVar13] = 2;" (assignment_expression "(&DAT_001e3b78)[lVar13] = 2" (subscript_expression "(&DAT_001e3b78)[lVar13]" (parenthesized_expression "(&DAT_001e3b78)" ( (pointer_expression "&DAT_001e3b78" & identifier) )) [ identifier ]) = number_literal) ;) (expression_statement "*(undefined8 *)(&DAT_001e3b70 + lVar13) = 0;" (assignment_expression "*(undefined8 *)(&DAT_001e3b70 + lVar13) = 0" (pointer_expression "*(undefined8 *)(&DAT_001e3b70 + lVar13)" * (cast_expression "(undefined8 *)(&DAT_001e3b70 + lVar13)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001e3b70 + lVar13)" ( (binary_expression "&DAT_001e3b70 + lVar13" (pointer_expression "&DAT_001e3b70" & identifier) + identifier) )))) = number_literal) ;) (expression_statement "*(undefined8 *)(&DAT_001e3b60 + lVar13) = 0;" (assignment_expression "*(undefined8 *)(&DAT_001e3b60 + lVar13) = 0" (pointer_expression "*(undefined8 *)(&DAT_001e3b60 + lVar13)" * (cast_expression "(undefined8 *)(&DAT_001e3b60 + lVar13)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001e3b60 + lVar13)" ( (binary_expression "&DAT_001e3b60 + lVar13" (pointer_expression "&DAT_001e3b60" & identifier) + identifier) )))) = number_literal) ;) (expression_statement "*(undefined8 *)(&DAT_001e3b68 + lVar13) = 0;" (assignment_expression "*(undefined8 *)(&DAT_001e3b68 + lVar13) = 0" (pointer_expression "*(undefined8 *)(&DAT_001e3b68 + lVar13)" * (cast_expression "(undefined8 *)(&DAT_001e3b68 + lVar13)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001e3b68 + lVar13)" ( (binary_expression "&DAT_001e3b68 + lVar13" (pointer_expression "&DAT_001e3b68" & identifier) + identifier) )))) = number_literal) ;) }))) (expression_statement "bVar14 = DAT_001e3bee & 0xc;" (assignment_expression "bVar14 = DAT_001e3bee & 0xc" identifier = (binary_expression "DAT_001e3bee & 0xc" identifier & number_literal)) ;) }))) (labeled_statement "LAB_00133089:\n  if (bVar14 == 4) {\n    if ((DAT_001e3c38._1_1_ & 0xfc) == 0) {\n      if ((DAT_001e3bed & 0x60) == 0x20) {\n        DAT_001e3d18 = DAT_001e3c60;\n      }\n      else {\n        DAT_001e3d18 = DAT_001e3c68;\n      }\n    }\n    else {\n      DAT_001e3d18 = 0;\n    }\n    DAT_001e3cf0 = (uint)*(byte *)(DAT_001e3c70 + 0x11);\n    if ((*(byte *)(DAT_001e3c70 + 0x10) & 1) != 0) {\n      DAT_001e3cf8 = DAT_001e3cf8 | 4;\n    }\n    if (DAT_001e3c30 != 0) goto LAB_001330bc;\n    if ((DAT_001e3bed & 0x60) == 0x20) {\n      bVar21 = *(byte *)(DAT_001e3c68 + 0x11);\n    }\n    else {\n      bVar21 = *(byte *)(DAT_001e3c60 + 0x11);\n    }\n    bVar19 = *(byte *)(DAT_001e3c68 + 0x10);\n  }\n  else {\n    bVar21 = DAT_001e3bed & 0x18;\n    if (bVar21 != 0x18) {\n      if (DAT_001e3c28 == 0) goto LAB_001330bc;\n      if ((((DAT_001e3c24 == 0) || (((byte)DAT_001e3c38 & 1) != 0)) ||\n          (((byte)DAT_001e3c38 & 2) != 0)) ||\n         ((((byte)DAT_001e3c38 & 4) != 0 || ((DAT_001e3c38._5_1_ & 2) != 0)))) {\n        uVar20 = 0;\n      }\n      else {\n        uVar20 = 0;\n        if (((byte)DAT_001e3c38 & 8) == 0) {\n          uVar9 = 0;\n          while( true ) {\n            bVar14 = *(byte *)(&DAT_001e3bc8 + (uVar9 + 0xe) * 2);\n            if ((((char)bVar14 < '\0') ||\n                ((*(byte *)((long)&DAT_001e3bc8 + (uVar9 + 0xe) * 8 + 1) & 1) != 0)) ||\n               (((bVar14 & 0x10) != 0 || (((bVar14 & 0x20) != 0 || ((bVar14 & 0x40) != 0))))))\n            goto LAB_00133670;\n            uVar15 = (int)uVar20 + 1;\n            uVar20 = (ulong)uVar15;\n            if (DAT_001e3c24 == uVar15) break;\n            uVar9 = (ulong)uVar15;\n            bVar14 = *(byte *)(&DAT_001e3bc8 + (uVar9 + 0xe) * 2);\n            if (((((bVar14 & 1) != 0) || ((bVar14 & 2) != 0)) || ((bVar14 & 4) != 0)) ||\n               (((*(byte *)((long)&DAT_001e3bcc + (uVar9 + 0xe) * 8 + 1) & 2) != 0 ||\n                ((*(byte *)(&DAT_001e3c38 + uVar9) & 8) != 0)))) goto LAB_00133670;\n          }\n          uVar20 = (ulong)DAT_001e3c24;\n        }\n      }\nLAB_00133670:\n      uVar15 = (uint)uVar20;\n      if (bVar19 == 8) {\n        uVar15 = 0xffffffff;\n        uVar20 = uVar18;\nLAB_00133b96:\n        if (uVar15 != (uint)uVar20) goto LAB_001336a6;\n        if (DAT_001e3c30 != 0) goto LAB_001330bc;\n      }\n      else {\n        uVar18 = uVar20;\n        if (bVar21 == 8) {\n          if (uVar22 == 0xffffffff) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1c44,"build_modrm_byte");\n          }\n          uVar17 = uVar15 + 1;\n          uVar18 = (ulong)uVar17;\n          uVar9 = uVar20;\n          if (uVar22 < uVar15) {\n            if (DAT_001e3c24 <= uVar17) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c49,"build_modrm_byte");\n            }\n          }\n          else if ((((&DAT_001e3bf6)[uVar20 * 8] & 0x40) == 0) &&\n                  (((&DAT_001e3bf6)[uVar18 * 8] & 0x40) != 0)) {\n            if ((DAT_001e3c24 <= uVar15 + 2) || (uVar22 != uVar17)) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c55,"build_modrm_byte");\n            }\n            uVar18 = (ulong)(uVar15 + 2);\n          }\n          else {\n            uVar9 = uVar18;\n            uVar18 = uVar20;\n            uVar15 = uVar17;\n            if (DAT_001e3c24 <= uVar17) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c5a,"build_modrm_byte");\n            }\n          }\nLAB_00133e49:\n          lVar13 = uVar9 + 6;\n          bVar21 = *(byte *)((long)&DAT_001e3bc0 + lVar13 * 8 + 4);\n          if ((((bVar21 & 1) == 0) ||\n              ((-1 < *(char *)((long)&DAT_001e3bc0 + lVar13 * 8 + 7) &&\n               ((*(byte *)(&DAT_001e3bc8 + lVar13 * 2) & 2) == 0)))) &&\n             (((bVar21 & 4) == 0 &&\n              ((*(uint *)(&DAT_001e3bf8 + uVar9 * 8) != DAT_00153a54 ||\n               (*(int *)(&DAT_001e3bf4 + uVar9 * 8) != DAT_00153a50)))))) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1c7b,"build_modrm_byte");\n          }\n          DAT_001e3d18 = (&DAT_001e3c60)[uVar9];\n          uVar20 = uVar18;\n          goto LAB_00133b96;\n        }\n        if (bVar21 == 0x10) {\n          if (DAT_001e3c30 == 0) {\n            if (DAT_001e3c24 != uVar15 + 2) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c65,"build_modrm_byte");\n            }\n            uVar9 = (ulong)(uVar15 + 1);\n            uVar15 = uVar15 + 1;\n          }\n          else {\n            if ((DAT_001e3c34 + 2 <= uVar15) || (DAT_001e3c24 != DAT_001e3c34 + 2)) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c6c,"build_modrm_byte");\n            }\n            uVar15 = DAT_001e3c34 + 1;\n            if (uVar15 == 0xffffffff) goto LAB_001336a6;\n            uVar9 = (ulong)uVar15;\n          }\n          goto LAB_00133e49;\n        }\n        if (DAT_001e3c24 <= uVar15) {\n                    \n          FUN_0011dd00("../../gas/config/tc-i386.c",0x1c71,"build_modrm_byte");\n        }\nLAB_001336a6:\n        if (DAT_001e3bd0 == 0xffff) {\n          DAT_001e3cf0 = (uint)*(byte *)((&DAT_001e3c60)[uVar20] + 0x11);\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar20] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 4;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 4;\n          }\n          if (DAT_001e3c30 == 0) {\n            DAT_001e3cf4 = 3;\n            return puVar10;\n          }\n          return puVar10;\n        }\n        DAT_001e3cec = (uint)*(byte *)((&DAT_001e3c60)[uVar20] + 0x11);\n        bVar21 = *(byte *)((&DAT_001e3c60)[uVar20] + 0x10);\n        if ((bVar21 & 1) != 0) {\n          DAT_001e3cf8 = DAT_001e3cf8 | 1;\n        }\n        if ((bVar21 & 4) != 0) {\n          DAT_001e3cfc = DAT_001e3cfc | 1;\n        }\n        if (DAT_001e3c30 != 0) {\n          DAT_001e3cf0 = DAT_001e3bd0;\n          return puVar10;\n        }\n      }\n      DAT_001e3cf4 = 3;\n      goto LAB_001330bc;\n    }\n    DAT_001e3d18 = DAT_001e3c70;\n    if (DAT_001e3c30 != 0) goto LAB_001330bc;\n    bVar21 = *(byte *)(DAT_001e3c68 + 0x11);\n    bVar19 = *(byte *)(DAT_001e3c68 + 0x10);\n  }" statement_identifier : (if_statement "if (bVar14 == 4) {\n    if ((DAT_001e3c38._1_1_ & 0xfc) == 0) {\n      if ((DAT_001e3bed & 0x60) == 0x20) {\n        DAT_001e3d18 = DAT_001e3c60;\n      }\n      else {\n        DAT_001e3d18 = DAT_001e3c68;\n      }\n    }\n    else {\n      DAT_001e3d18 = 0;\n    }\n    DAT_001e3cf0 = (uint)*(byte *)(DAT_001e3c70 + 0x11);\n    if ((*(byte *)(DAT_001e3c70 + 0x10) & 1) != 0) {\n      DAT_001e3cf8 = DAT_001e3cf8 | 4;\n    }\n    if (DAT_001e3c30 != 0) goto LAB_001330bc;\n    if ((DAT_001e3bed & 0x60) == 0x20) {\n      bVar21 = *(byte *)(DAT_001e3c68 + 0x11);\n    }\n    else {\n      bVar21 = *(byte *)(DAT_001e3c60 + 0x11);\n    }\n    bVar19 = *(byte *)(DAT_001e3c68 + 0x10);\n  }\n  else {\n    bVar21 = DAT_001e3bed & 0x18;\n    if (bVar21 != 0x18) {\n      if (DAT_001e3c28 == 0) goto LAB_001330bc;\n      if ((((DAT_001e3c24 == 0) || (((byte)DAT_001e3c38 & 1) != 0)) ||\n          (((byte)DAT_001e3c38 & 2) != 0)) ||\n         ((((byte)DAT_001e3c38 & 4) != 0 || ((DAT_001e3c38._5_1_ & 2) != 0)))) {\n        uVar20 = 0;\n      }\n      else {\n        uVar20 = 0;\n        if (((byte)DAT_001e3c38 & 8) == 0) {\n          uVar9 = 0;\n          while( true ) {\n            bVar14 = *(byte *)(&DAT_001e3bc8 + (uVar9 + 0xe) * 2);\n            if ((((char)bVar14 < '\0') ||\n                ((*(byte *)((long)&DAT_001e3bc8 + (uVar9 + 0xe) * 8 + 1) & 1) != 0)) ||\n               (((bVar14 & 0x10) != 0 || (((bVar14 & 0x20) != 0 || ((bVar14 & 0x40) != 0))))))\n            goto LAB_00133670;\n            uVar15 = (int)uVar20 + 1;\n            uVar20 = (ulong)uVar15;\n            if (DAT_001e3c24 == uVar15) break;\n            uVar9 = (ulong)uVar15;\n            bVar14 = *(byte *)(&DAT_001e3bc8 + (uVar9 + 0xe) * 2);\n            if (((((bVar14 & 1) != 0) || ((bVar14 & 2) != 0)) || ((bVar14 & 4) != 0)) ||\n               (((*(byte *)((long)&DAT_001e3bcc + (uVar9 + 0xe) * 8 + 1) & 2) != 0 ||\n                ((*(byte *)(&DAT_001e3c38 + uVar9) & 8) != 0)))) goto LAB_00133670;\n          }\n          uVar20 = (ulong)DAT_001e3c24;\n        }\n      }\nLAB_00133670:\n      uVar15 = (uint)uVar20;\n      if (bVar19 == 8) {\n        uVar15 = 0xffffffff;\n        uVar20 = uVar18;\nLAB_00133b96:\n        if (uVar15 != (uint)uVar20) goto LAB_001336a6;\n        if (DAT_001e3c30 != 0) goto LAB_001330bc;\n      }\n      else {\n        uVar18 = uVar20;\n        if (bVar21 == 8) {\n          if (uVar22 == 0xffffffff) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1c44,"build_modrm_byte");\n          }\n          uVar17 = uVar15 + 1;\n          uVar18 = (ulong)uVar17;\n          uVar9 = uVar20;\n          if (uVar22 < uVar15) {\n            if (DAT_001e3c24 <= uVar17) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c49,"build_modrm_byte");\n            }\n          }\n          else if ((((&DAT_001e3bf6)[uVar20 * 8] & 0x40) == 0) &&\n                  (((&DAT_001e3bf6)[uVar18 * 8] & 0x40) != 0)) {\n            if ((DAT_001e3c24 <= uVar15 + 2) || (uVar22 != uVar17)) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c55,"build_modrm_byte");\n            }\n            uVar18 = (ulong)(uVar15 + 2);\n          }\n          else {\n            uVar9 = uVar18;\n            uVar18 = uVar20;\n            uVar15 = uVar17;\n            if (DAT_001e3c24 <= uVar17) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c5a,"build_modrm_byte");\n            }\n          }\nLAB_00133e49:\n          lVar13 = uVar9 + 6;\n          bVar21 = *(byte *)((long)&DAT_001e3bc0 + lVar13 * 8 + 4);\n          if ((((bVar21 & 1) == 0) ||\n              ((-1 < *(char *)((long)&DAT_001e3bc0 + lVar13 * 8 + 7) &&\n               ((*(byte *)(&DAT_001e3bc8 + lVar13 * 2) & 2) == 0)))) &&\n             (((bVar21 & 4) == 0 &&\n              ((*(uint *)(&DAT_001e3bf8 + uVar9 * 8) != DAT_00153a54 ||\n               (*(int *)(&DAT_001e3bf4 + uVar9 * 8) != DAT_00153a50)))))) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1c7b,"build_modrm_byte");\n          }\n          DAT_001e3d18 = (&DAT_001e3c60)[uVar9];\n          uVar20 = uVar18;\n          goto LAB_00133b96;\n        }\n        if (bVar21 == 0x10) {\n          if (DAT_001e3c30 == 0) {\n            if (DAT_001e3c24 != uVar15 + 2) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c65,"build_modrm_byte");\n            }\n            uVar9 = (ulong)(uVar15 + 1);\n            uVar15 = uVar15 + 1;\n          }\n          else {\n            if ((DAT_001e3c34 + 2 <= uVar15) || (DAT_001e3c24 != DAT_001e3c34 + 2)) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c6c,"build_modrm_byte");\n            }\n            uVar15 = DAT_001e3c34 + 1;\n            if (uVar15 == 0xffffffff) goto LAB_001336a6;\n            uVar9 = (ulong)uVar15;\n          }\n          goto LAB_00133e49;\n        }\n        if (DAT_001e3c24 <= uVar15) {\n                    \n          FUN_0011dd00("../../gas/config/tc-i386.c",0x1c71,"build_modrm_byte");\n        }\nLAB_001336a6:\n        if (DAT_001e3bd0 == 0xffff) {\n          DAT_001e3cf0 = (uint)*(byte *)((&DAT_001e3c60)[uVar20] + 0x11);\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar20] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 4;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 4;\n          }\n          if (DAT_001e3c30 == 0) {\n            DAT_001e3cf4 = 3;\n            return puVar10;\n          }\n          return puVar10;\n        }\n        DAT_001e3cec = (uint)*(byte *)((&DAT_001e3c60)[uVar20] + 0x11);\n        bVar21 = *(byte *)((&DAT_001e3c60)[uVar20] + 0x10);\n        if ((bVar21 & 1) != 0) {\n          DAT_001e3cf8 = DAT_001e3cf8 | 1;\n        }\n        if ((bVar21 & 4) != 0) {\n          DAT_001e3cfc = DAT_001e3cfc | 1;\n        }\n        if (DAT_001e3c30 != 0) {\n          DAT_001e3cf0 = DAT_001e3bd0;\n          return puVar10;\n        }\n      }\n      DAT_001e3cf4 = 3;\n      goto LAB_001330bc;\n    }\n    DAT_001e3d18 = DAT_001e3c70;\n    if (DAT_001e3c30 != 0) goto LAB_001330bc;\n    bVar21 = *(byte *)(DAT_001e3c68 + 0x11);\n    bVar19 = *(byte *)(DAT_001e3c68 + 0x10);\n  }" if (parenthesized_expression "(bVar14 == 4)" ( (binary_expression "bVar14 == 4" identifier == number_literal) )) (compound_statement "{\n    if ((DAT_001e3c38._1_1_ & 0xfc) == 0) {\n      if ((DAT_001e3bed & 0x60) == 0x20) {\n        DAT_001e3d18 = DAT_001e3c60;\n      }\n      else {\n        DAT_001e3d18 = DAT_001e3c68;\n      }\n    }\n    else {\n      DAT_001e3d18 = 0;\n    }\n    DAT_001e3cf0 = (uint)*(byte *)(DAT_001e3c70 + 0x11);\n    if ((*(byte *)(DAT_001e3c70 + 0x10) & 1) != 0) {\n      DAT_001e3cf8 = DAT_001e3cf8 | 4;\n    }\n    if (DAT_001e3c30 != 0) goto LAB_001330bc;\n    if ((DAT_001e3bed & 0x60) == 0x20) {\n      bVar21 = *(byte *)(DAT_001e3c68 + 0x11);\n    }\n    else {\n      bVar21 = *(byte *)(DAT_001e3c60 + 0x11);\n    }\n    bVar19 = *(byte *)(DAT_001e3c68 + 0x10);\n  }" { (if_statement "if ((DAT_001e3c38._1_1_ & 0xfc) == 0) {\n      if ((DAT_001e3bed & 0x60) == 0x20) {\n        DAT_001e3d18 = DAT_001e3c60;\n      }\n      else {\n        DAT_001e3d18 = DAT_001e3c68;\n      }\n    }\n    else {\n      DAT_001e3d18 = 0;\n    }" if (parenthesized_expression "((DAT_001e3c38._1_1_ & 0xfc) == 0)" ( (binary_expression "(DAT_001e3c38._1_1_ & 0xfc) == 0" (parenthesized_expression "(DAT_001e3c38._1_1_ & 0xfc)" ( (binary_expression "DAT_001e3c38._1_1_ & 0xfc" (field_expression "DAT_001e3c38._1_1_" identifier . field_identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n      if ((DAT_001e3bed & 0x60) == 0x20) {\n        DAT_001e3d18 = DAT_001e3c60;\n      }\n      else {\n        DAT_001e3d18 = DAT_001e3c68;\n      }\n    }" { (if_statement "if ((DAT_001e3bed & 0x60) == 0x20) {\n        DAT_001e3d18 = DAT_001e3c60;\n      }\n      else {\n        DAT_001e3d18 = DAT_001e3c68;\n      }" if (parenthesized_expression "((DAT_001e3bed & 0x60) == 0x20)" ( (binary_expression "(DAT_001e3bed & 0x60) == 0x20" (parenthesized_expression "(DAT_001e3bed & 0x60)" ( (binary_expression "DAT_001e3bed & 0x60" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        DAT_001e3d18 = DAT_001e3c60;\n      }" { (expression_statement "DAT_001e3d18 = DAT_001e3c60;" (assignment_expression "DAT_001e3d18 = DAT_001e3c60" identifier = identifier) ;) }) (else_clause "else {\n        DAT_001e3d18 = DAT_001e3c68;\n      }" else (compound_statement "{\n        DAT_001e3d18 = DAT_001e3c68;\n      }" { (expression_statement "DAT_001e3d18 = DAT_001e3c68;" (assignment_expression "DAT_001e3d18 = DAT_001e3c68" identifier = identifier) ;) }))) }) (else_clause "else {\n      DAT_001e3d18 = 0;\n    }" else (compound_statement "{\n      DAT_001e3d18 = 0;\n    }" { (expression_statement "DAT_001e3d18 = 0;" (assignment_expression "DAT_001e3d18 = 0" identifier = number_literal) ;) }))) (expression_statement "DAT_001e3cf0 = (uint)*(byte *)(DAT_001e3c70 + 0x11);" (assignment_expression "DAT_001e3cf0 = (uint)*(byte *)(DAT_001e3c70 + 0x11)" identifier = (binary_expression "(uint)*(byte *)(DAT_001e3c70 + 0x11)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(DAT_001e3c70 + 0x11)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_001e3c70 + 0x11)" ( (binary_expression "DAT_001e3c70 + 0x11" identifier + number_literal) ))))) ;) (if_statement "if ((*(byte *)(DAT_001e3c70 + 0x10) & 1) != 0) {\n      DAT_001e3cf8 = DAT_001e3cf8 | 4;\n    }" if (parenthesized_expression "((*(byte *)(DAT_001e3c70 + 0x10) & 1) != 0)" ( (binary_expression "(*(byte *)(DAT_001e3c70 + 0x10) & 1) != 0" (parenthesized_expression "(*(byte *)(DAT_001e3c70 + 0x10) & 1)" ( (binary_expression "*(byte *)(DAT_001e3c70 + 0x10) & 1" (pointer_expression "*(byte *)(DAT_001e3c70 + 0x10)" * (cast_expression "(byte *)(DAT_001e3c70 + 0x10)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_001e3c70 + 0x10)" ( (binary_expression "DAT_001e3c70 + 0x10" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n      DAT_001e3cf8 = DAT_001e3cf8 | 4;\n    }" { (expression_statement "DAT_001e3cf8 = DAT_001e3cf8 | 4;" (assignment_expression "DAT_001e3cf8 = DAT_001e3cf8 | 4" identifier = (binary_expression "DAT_001e3cf8 | 4" identifier | number_literal)) ;) })) (if_statement "if (DAT_001e3c30 != 0) goto LAB_001330bc;" if (parenthesized_expression "(DAT_001e3c30 != 0)" ( (binary_expression "DAT_001e3c30 != 0" identifier != number_literal) )) (goto_statement "goto LAB_001330bc;" goto statement_identifier ;)) (if_statement "if ((DAT_001e3bed & 0x60) == 0x20) {\n      bVar21 = *(byte *)(DAT_001e3c68 + 0x11);\n    }\n    else {\n      bVar21 = *(byte *)(DAT_001e3c60 + 0x11);\n    }" if (parenthesized_expression "((DAT_001e3bed & 0x60) == 0x20)" ( (binary_expression "(DAT_001e3bed & 0x60) == 0x20" (parenthesized_expression "(DAT_001e3bed & 0x60)" ( (binary_expression "DAT_001e3bed & 0x60" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n      bVar21 = *(byte *)(DAT_001e3c68 + 0x11);\n    }" { (expression_statement "bVar21 = *(byte *)(DAT_001e3c68 + 0x11);" (assignment_expression "bVar21 = *(byte *)(DAT_001e3c68 + 0x11)" identifier = (pointer_expression "*(byte *)(DAT_001e3c68 + 0x11)" * (cast_expression "(byte *)(DAT_001e3c68 + 0x11)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_001e3c68 + 0x11)" ( (binary_expression "DAT_001e3c68 + 0x11" identifier + number_literal) ))))) ;) }) (else_clause "else {\n      bVar21 = *(byte *)(DAT_001e3c60 + 0x11);\n    }" else (compound_statement "{\n      bVar21 = *(byte *)(DAT_001e3c60 + 0x11);\n    }" { (expression_statement "bVar21 = *(byte *)(DAT_001e3c60 + 0x11);" (assignment_expression "bVar21 = *(byte *)(DAT_001e3c60 + 0x11)" identifier = (pointer_expression "*(byte *)(DAT_001e3c60 + 0x11)" * (cast_expression "(byte *)(DAT_001e3c60 + 0x11)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_001e3c60 + 0x11)" ( (binary_expression "DAT_001e3c60 + 0x11" identifier + number_literal) ))))) ;) }))) (expression_statement "bVar19 = *(byte *)(DAT_001e3c68 + 0x10);" (assignment_expression "bVar19 = *(byte *)(DAT_001e3c68 + 0x10)" identifier = (pointer_expression "*(byte *)(DAT_001e3c68 + 0x10)" * (cast_expression "(byte *)(DAT_001e3c68 + 0x10)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_001e3c68 + 0x10)" ( (binary_expression "DAT_001e3c68 + 0x10" identifier + number_literal) ))))) ;) }) (else_clause "else {\n    bVar21 = DAT_001e3bed & 0x18;\n    if (bVar21 != 0x18) {\n      if (DAT_001e3c28 == 0) goto LAB_001330bc;\n      if ((((DAT_001e3c24 == 0) || (((byte)DAT_001e3c38 & 1) != 0)) ||\n          (((byte)DAT_001e3c38 & 2) != 0)) ||\n         ((((byte)DAT_001e3c38 & 4) != 0 || ((DAT_001e3c38._5_1_ & 2) != 0)))) {\n        uVar20 = 0;\n      }\n      else {\n        uVar20 = 0;\n        if (((byte)DAT_001e3c38 & 8) == 0) {\n          uVar9 = 0;\n          while( true ) {\n            bVar14 = *(byte *)(&DAT_001e3bc8 + (uVar9 + 0xe) * 2);\n            if ((((char)bVar14 < '\0') ||\n                ((*(byte *)((long)&DAT_001e3bc8 + (uVar9 + 0xe) * 8 + 1) & 1) != 0)) ||\n               (((bVar14 & 0x10) != 0 || (((bVar14 & 0x20) != 0 || ((bVar14 & 0x40) != 0))))))\n            goto LAB_00133670;\n            uVar15 = (int)uVar20 + 1;\n            uVar20 = (ulong)uVar15;\n            if (DAT_001e3c24 == uVar15) break;\n            uVar9 = (ulong)uVar15;\n            bVar14 = *(byte *)(&DAT_001e3bc8 + (uVar9 + 0xe) * 2);\n            if (((((bVar14 & 1) != 0) || ((bVar14 & 2) != 0)) || ((bVar14 & 4) != 0)) ||\n               (((*(byte *)((long)&DAT_001e3bcc + (uVar9 + 0xe) * 8 + 1) & 2) != 0 ||\n                ((*(byte *)(&DAT_001e3c38 + uVar9) & 8) != 0)))) goto LAB_00133670;\n          }\n          uVar20 = (ulong)DAT_001e3c24;\n        }\n      }\nLAB_00133670:\n      uVar15 = (uint)uVar20;\n      if (bVar19 == 8) {\n        uVar15 = 0xffffffff;\n        uVar20 = uVar18;\nLAB_00133b96:\n        if (uVar15 != (uint)uVar20) goto LAB_001336a6;\n        if (DAT_001e3c30 != 0) goto LAB_001330bc;\n      }\n      else {\n        uVar18 = uVar20;\n        if (bVar21 == 8) {\n          if (uVar22 == 0xffffffff) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1c44,"build_modrm_byte");\n          }\n          uVar17 = uVar15 + 1;\n          uVar18 = (ulong)uVar17;\n          uVar9 = uVar20;\n          if (uVar22 < uVar15) {\n            if (DAT_001e3c24 <= uVar17) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c49,"build_modrm_byte");\n            }\n          }\n          else if ((((&DAT_001e3bf6)[uVar20 * 8] & 0x40) == 0) &&\n                  (((&DAT_001e3bf6)[uVar18 * 8] & 0x40) != 0)) {\n            if ((DAT_001e3c24 <= uVar15 + 2) || (uVar22 != uVar17)) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c55,"build_modrm_byte");\n            }\n            uVar18 = (ulong)(uVar15 + 2);\n          }\n          else {\n            uVar9 = uVar18;\n            uVar18 = uVar20;\n            uVar15 = uVar17;\n            if (DAT_001e3c24 <= uVar17) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c5a,"build_modrm_byte");\n            }\n          }\nLAB_00133e49:\n          lVar13 = uVar9 + 6;\n          bVar21 = *(byte *)((long)&DAT_001e3bc0 + lVar13 * 8 + 4);\n          if ((((bVar21 & 1) == 0) ||\n              ((-1 < *(char *)((long)&DAT_001e3bc0 + lVar13 * 8 + 7) &&\n               ((*(byte *)(&DAT_001e3bc8 + lVar13 * 2) & 2) == 0)))) &&\n             (((bVar21 & 4) == 0 &&\n              ((*(uint *)(&DAT_001e3bf8 + uVar9 * 8) != DAT_00153a54 ||\n               (*(int *)(&DAT_001e3bf4 + uVar9 * 8) != DAT_00153a50)))))) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1c7b,"build_modrm_byte");\n          }\n          DAT_001e3d18 = (&DAT_001e3c60)[uVar9];\n          uVar20 = uVar18;\n          goto LAB_00133b96;\n        }\n        if (bVar21 == 0x10) {\n          if (DAT_001e3c30 == 0) {\n            if (DAT_001e3c24 != uVar15 + 2) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c65,"build_modrm_byte");\n            }\n            uVar9 = (ulong)(uVar15 + 1);\n            uVar15 = uVar15 + 1;\n          }\n          else {\n            if ((DAT_001e3c34 + 2 <= uVar15) || (DAT_001e3c24 != DAT_001e3c34 + 2)) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c6c,"build_modrm_byte");\n            }\n            uVar15 = DAT_001e3c34 + 1;\n            if (uVar15 == 0xffffffff) goto LAB_001336a6;\n            uVar9 = (ulong)uVar15;\n          }\n          goto LAB_00133e49;\n        }\n        if (DAT_001e3c24 <= uVar15) {\n                    \n          FUN_0011dd00("../../gas/config/tc-i386.c",0x1c71,"build_modrm_byte");\n        }\nLAB_001336a6:\n        if (DAT_001e3bd0 == 0xffff) {\n          DAT_001e3cf0 = (uint)*(byte *)((&DAT_001e3c60)[uVar20] + 0x11);\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar20] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 4;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 4;\n          }\n          if (DAT_001e3c30 == 0) {\n            DAT_001e3cf4 = 3;\n            return puVar10;\n          }\n          return puVar10;\n        }\n        DAT_001e3cec = (uint)*(byte *)((&DAT_001e3c60)[uVar20] + 0x11);\n        bVar21 = *(byte *)((&DAT_001e3c60)[uVar20] + 0x10);\n        if ((bVar21 & 1) != 0) {\n          DAT_001e3cf8 = DAT_001e3cf8 | 1;\n        }\n        if ((bVar21 & 4) != 0) {\n          DAT_001e3cfc = DAT_001e3cfc | 1;\n        }\n        if (DAT_001e3c30 != 0) {\n          DAT_001e3cf0 = DAT_001e3bd0;\n          return puVar10;\n        }\n      }\n      DAT_001e3cf4 = 3;\n      goto LAB_001330bc;\n    }\n    DAT_001e3d18 = DAT_001e3c70;\n    if (DAT_001e3c30 != 0) goto LAB_001330bc;\n    bVar21 = *(byte *)(DAT_001e3c68 + 0x11);\n    bVar19 = *(byte *)(DAT_001e3c68 + 0x10);\n  }" else (compound_statement "{\n    bVar21 = DAT_001e3bed & 0x18;\n    if (bVar21 != 0x18) {\n      if (DAT_001e3c28 == 0) goto LAB_001330bc;\n      if ((((DAT_001e3c24 == 0) || (((byte)DAT_001e3c38 & 1) != 0)) ||\n          (((byte)DAT_001e3c38 & 2) != 0)) ||\n         ((((byte)DAT_001e3c38 & 4) != 0 || ((DAT_001e3c38._5_1_ & 2) != 0)))) {\n        uVar20 = 0;\n      }\n      else {\n        uVar20 = 0;\n        if (((byte)DAT_001e3c38 & 8) == 0) {\n          uVar9 = 0;\n          while( true ) {\n            bVar14 = *(byte *)(&DAT_001e3bc8 + (uVar9 + 0xe) * 2);\n            if ((((char)bVar14 < '\0') ||\n                ((*(byte *)((long)&DAT_001e3bc8 + (uVar9 + 0xe) * 8 + 1) & 1) != 0)) ||\n               (((bVar14 & 0x10) != 0 || (((bVar14 & 0x20) != 0 || ((bVar14 & 0x40) != 0))))))\n            goto LAB_00133670;\n            uVar15 = (int)uVar20 + 1;\n            uVar20 = (ulong)uVar15;\n            if (DAT_001e3c24 == uVar15) break;\n            uVar9 = (ulong)uVar15;\n            bVar14 = *(byte *)(&DAT_001e3bc8 + (uVar9 + 0xe) * 2);\n            if (((((bVar14 & 1) != 0) || ((bVar14 & 2) != 0)) || ((bVar14 & 4) != 0)) ||\n               (((*(byte *)((long)&DAT_001e3bcc + (uVar9 + 0xe) * 8 + 1) & 2) != 0 ||\n                ((*(byte *)(&DAT_001e3c38 + uVar9) & 8) != 0)))) goto LAB_00133670;\n          }\n          uVar20 = (ulong)DAT_001e3c24;\n        }\n      }\nLAB_00133670:\n      uVar15 = (uint)uVar20;\n      if (bVar19 == 8) {\n        uVar15 = 0xffffffff;\n        uVar20 = uVar18;\nLAB_00133b96:\n        if (uVar15 != (uint)uVar20) goto LAB_001336a6;\n        if (DAT_001e3c30 != 0) goto LAB_001330bc;\n      }\n      else {\n        uVar18 = uVar20;\n        if (bVar21 == 8) {\n          if (uVar22 == 0xffffffff) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1c44,"build_modrm_byte");\n          }\n          uVar17 = uVar15 + 1;\n          uVar18 = (ulong)uVar17;\n          uVar9 = uVar20;\n          if (uVar22 < uVar15) {\n            if (DAT_001e3c24 <= uVar17) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c49,"build_modrm_byte");\n            }\n          }\n          else if ((((&DAT_001e3bf6)[uVar20 * 8] & 0x40) == 0) &&\n                  (((&DAT_001e3bf6)[uVar18 * 8] & 0x40) != 0)) {\n            if ((DAT_001e3c24 <= uVar15 + 2) || (uVar22 != uVar17)) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c55,"build_modrm_byte");\n            }\n            uVar18 = (ulong)(uVar15 + 2);\n          }\n          else {\n            uVar9 = uVar18;\n            uVar18 = uVar20;\n            uVar15 = uVar17;\n            if (DAT_001e3c24 <= uVar17) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c5a,"build_modrm_byte");\n            }\n          }\nLAB_00133e49:\n          lVar13 = uVar9 + 6;\n          bVar21 = *(byte *)((long)&DAT_001e3bc0 + lVar13 * 8 + 4);\n          if ((((bVar21 & 1) == 0) ||\n              ((-1 < *(char *)((long)&DAT_001e3bc0 + lVar13 * 8 + 7) &&\n               ((*(byte *)(&DAT_001e3bc8 + lVar13 * 2) & 2) == 0)))) &&\n             (((bVar21 & 4) == 0 &&\n              ((*(uint *)(&DAT_001e3bf8 + uVar9 * 8) != DAT_00153a54 ||\n               (*(int *)(&DAT_001e3bf4 + uVar9 * 8) != DAT_00153a50)))))) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1c7b,"build_modrm_byte");\n          }\n          DAT_001e3d18 = (&DAT_001e3c60)[uVar9];\n          uVar20 = uVar18;\n          goto LAB_00133b96;\n        }\n        if (bVar21 == 0x10) {\n          if (DAT_001e3c30 == 0) {\n            if (DAT_001e3c24 != uVar15 + 2) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c65,"build_modrm_byte");\n            }\n            uVar9 = (ulong)(uVar15 + 1);\n            uVar15 = uVar15 + 1;\n          }\n          else {\n            if ((DAT_001e3c34 + 2 <= uVar15) || (DAT_001e3c24 != DAT_001e3c34 + 2)) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c6c,"build_modrm_byte");\n            }\n            uVar15 = DAT_001e3c34 + 1;\n            if (uVar15 == 0xffffffff) goto LAB_001336a6;\n            uVar9 = (ulong)uVar15;\n          }\n          goto LAB_00133e49;\n        }\n        if (DAT_001e3c24 <= uVar15) {\n                    \n          FUN_0011dd00("../../gas/config/tc-i386.c",0x1c71,"build_modrm_byte");\n        }\nLAB_001336a6:\n        if (DAT_001e3bd0 == 0xffff) {\n          DAT_001e3cf0 = (uint)*(byte *)((&DAT_001e3c60)[uVar20] + 0x11);\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar20] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 4;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 4;\n          }\n          if (DAT_001e3c30 == 0) {\n            DAT_001e3cf4 = 3;\n            return puVar10;\n          }\n          return puVar10;\n        }\n        DAT_001e3cec = (uint)*(byte *)((&DAT_001e3c60)[uVar20] + 0x11);\n        bVar21 = *(byte *)((&DAT_001e3c60)[uVar20] + 0x10);\n        if ((bVar21 & 1) != 0) {\n          DAT_001e3cf8 = DAT_001e3cf8 | 1;\n        }\n        if ((bVar21 & 4) != 0) {\n          DAT_001e3cfc = DAT_001e3cfc | 1;\n        }\n        if (DAT_001e3c30 != 0) {\n          DAT_001e3cf0 = DAT_001e3bd0;\n          return puVar10;\n        }\n      }\n      DAT_001e3cf4 = 3;\n      goto LAB_001330bc;\n    }\n    DAT_001e3d18 = DAT_001e3c70;\n    if (DAT_001e3c30 != 0) goto LAB_001330bc;\n    bVar21 = *(byte *)(DAT_001e3c68 + 0x11);\n    bVar19 = *(byte *)(DAT_001e3c68 + 0x10);\n  }" { (expression_statement "bVar21 = DAT_001e3bed & 0x18;" (assignment_expression "bVar21 = DAT_001e3bed & 0x18" identifier = (binary_expression "DAT_001e3bed & 0x18" identifier & number_literal)) ;) (if_statement "if (bVar21 != 0x18) {\n      if (DAT_001e3c28 == 0) goto LAB_001330bc;\n      if ((((DAT_001e3c24 == 0) || (((byte)DAT_001e3c38 & 1) != 0)) ||\n          (((byte)DAT_001e3c38 & 2) != 0)) ||\n         ((((byte)DAT_001e3c38 & 4) != 0 || ((DAT_001e3c38._5_1_ & 2) != 0)))) {\n        uVar20 = 0;\n      }\n      else {\n        uVar20 = 0;\n        if (((byte)DAT_001e3c38 & 8) == 0) {\n          uVar9 = 0;\n          while( true ) {\n            bVar14 = *(byte *)(&DAT_001e3bc8 + (uVar9 + 0xe) * 2);\n            if ((((char)bVar14 < '\0') ||\n                ((*(byte *)((long)&DAT_001e3bc8 + (uVar9 + 0xe) * 8 + 1) & 1) != 0)) ||\n               (((bVar14 & 0x10) != 0 || (((bVar14 & 0x20) != 0 || ((bVar14 & 0x40) != 0))))))\n            goto LAB_00133670;\n            uVar15 = (int)uVar20 + 1;\n            uVar20 = (ulong)uVar15;\n            if (DAT_001e3c24 == uVar15) break;\n            uVar9 = (ulong)uVar15;\n            bVar14 = *(byte *)(&DAT_001e3bc8 + (uVar9 + 0xe) * 2);\n            if (((((bVar14 & 1) != 0) || ((bVar14 & 2) != 0)) || ((bVar14 & 4) != 0)) ||\n               (((*(byte *)((long)&DAT_001e3bcc + (uVar9 + 0xe) * 8 + 1) & 2) != 0 ||\n                ((*(byte *)(&DAT_001e3c38 + uVar9) & 8) != 0)))) goto LAB_00133670;\n          }\n          uVar20 = (ulong)DAT_001e3c24;\n        }\n      }\nLAB_00133670:\n      uVar15 = (uint)uVar20;\n      if (bVar19 == 8) {\n        uVar15 = 0xffffffff;\n        uVar20 = uVar18;\nLAB_00133b96:\n        if (uVar15 != (uint)uVar20) goto LAB_001336a6;\n        if (DAT_001e3c30 != 0) goto LAB_001330bc;\n      }\n      else {\n        uVar18 = uVar20;\n        if (bVar21 == 8) {\n          if (uVar22 == 0xffffffff) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1c44,"build_modrm_byte");\n          }\n          uVar17 = uVar15 + 1;\n          uVar18 = (ulong)uVar17;\n          uVar9 = uVar20;\n          if (uVar22 < uVar15) {\n            if (DAT_001e3c24 <= uVar17) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c49,"build_modrm_byte");\n            }\n          }\n          else if ((((&DAT_001e3bf6)[uVar20 * 8] & 0x40) == 0) &&\n                  (((&DAT_001e3bf6)[uVar18 * 8] & 0x40) != 0)) {\n            if ((DAT_001e3c24 <= uVar15 + 2) || (uVar22 != uVar17)) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c55,"build_modrm_byte");\n            }\n            uVar18 = (ulong)(uVar15 + 2);\n          }\n          else {\n            uVar9 = uVar18;\n            uVar18 = uVar20;\n            uVar15 = uVar17;\n            if (DAT_001e3c24 <= uVar17) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c5a,"build_modrm_byte");\n            }\n          }\nLAB_00133e49:\n          lVar13 = uVar9 + 6;\n          bVar21 = *(byte *)((long)&DAT_001e3bc0 + lVar13 * 8 + 4);\n          if ((((bVar21 & 1) == 0) ||\n              ((-1 < *(char *)((long)&DAT_001e3bc0 + lVar13 * 8 + 7) &&\n               ((*(byte *)(&DAT_001e3bc8 + lVar13 * 2) & 2) == 0)))) &&\n             (((bVar21 & 4) == 0 &&\n              ((*(uint *)(&DAT_001e3bf8 + uVar9 * 8) != DAT_00153a54 ||\n               (*(int *)(&DAT_001e3bf4 + uVar9 * 8) != DAT_00153a50)))))) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1c7b,"build_modrm_byte");\n          }\n          DAT_001e3d18 = (&DAT_001e3c60)[uVar9];\n          uVar20 = uVar18;\n          goto LAB_00133b96;\n        }\n        if (bVar21 == 0x10) {\n          if (DAT_001e3c30 == 0) {\n            if (DAT_001e3c24 != uVar15 + 2) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c65,"build_modrm_byte");\n            }\n            uVar9 = (ulong)(uVar15 + 1);\n            uVar15 = uVar15 + 1;\n          }\n          else {\n            if ((DAT_001e3c34 + 2 <= uVar15) || (DAT_001e3c24 != DAT_001e3c34 + 2)) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c6c,"build_modrm_byte");\n            }\n            uVar15 = DAT_001e3c34 + 1;\n            if (uVar15 == 0xffffffff) goto LAB_001336a6;\n            uVar9 = (ulong)uVar15;\n          }\n          goto LAB_00133e49;\n        }\n        if (DAT_001e3c24 <= uVar15) {\n                    \n          FUN_0011dd00("../../gas/config/tc-i386.c",0x1c71,"build_modrm_byte");\n        }\nLAB_001336a6:\n        if (DAT_001e3bd0 == 0xffff) {\n          DAT_001e3cf0 = (uint)*(byte *)((&DAT_001e3c60)[uVar20] + 0x11);\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar20] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 4;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 4;\n          }\n          if (DAT_001e3c30 == 0) {\n            DAT_001e3cf4 = 3;\n            return puVar10;\n          }\n          return puVar10;\n        }\n        DAT_001e3cec = (uint)*(byte *)((&DAT_001e3c60)[uVar20] + 0x11);\n        bVar21 = *(byte *)((&DAT_001e3c60)[uVar20] + 0x10);\n        if ((bVar21 & 1) != 0) {\n          DAT_001e3cf8 = DAT_001e3cf8 | 1;\n        }\n        if ((bVar21 & 4) != 0) {\n          DAT_001e3cfc = DAT_001e3cfc | 1;\n        }\n        if (DAT_001e3c30 != 0) {\n          DAT_001e3cf0 = DAT_001e3bd0;\n          return puVar10;\n        }\n      }\n      DAT_001e3cf4 = 3;\n      goto LAB_001330bc;\n    }" if (parenthesized_expression "(bVar21 != 0x18)" ( (binary_expression "bVar21 != 0x18" identifier != number_literal) )) (compound_statement "{\n      if (DAT_001e3c28 == 0) goto LAB_001330bc;\n      if ((((DAT_001e3c24 == 0) || (((byte)DAT_001e3c38 & 1) != 0)) ||\n          (((byte)DAT_001e3c38 & 2) != 0)) ||\n         ((((byte)DAT_001e3c38 & 4) != 0 || ((DAT_001e3c38._5_1_ & 2) != 0)))) {\n        uVar20 = 0;\n      }\n      else {\n        uVar20 = 0;\n        if (((byte)DAT_001e3c38 & 8) == 0) {\n          uVar9 = 0;\n          while( true ) {\n            bVar14 = *(byte *)(&DAT_001e3bc8 + (uVar9 + 0xe) * 2);\n            if ((((char)bVar14 < '\0') ||\n                ((*(byte *)((long)&DAT_001e3bc8 + (uVar9 + 0xe) * 8 + 1) & 1) != 0)) ||\n               (((bVar14 & 0x10) != 0 || (((bVar14 & 0x20) != 0 || ((bVar14 & 0x40) != 0))))))\n            goto LAB_00133670;\n            uVar15 = (int)uVar20 + 1;\n            uVar20 = (ulong)uVar15;\n            if (DAT_001e3c24 == uVar15) break;\n            uVar9 = (ulong)uVar15;\n            bVar14 = *(byte *)(&DAT_001e3bc8 + (uVar9 + 0xe) * 2);\n            if (((((bVar14 & 1) != 0) || ((bVar14 & 2) != 0)) || ((bVar14 & 4) != 0)) ||\n               (((*(byte *)((long)&DAT_001e3bcc + (uVar9 + 0xe) * 8 + 1) & 2) != 0 ||\n                ((*(byte *)(&DAT_001e3c38 + uVar9) & 8) != 0)))) goto LAB_00133670;\n          }\n          uVar20 = (ulong)DAT_001e3c24;\n        }\n      }\nLAB_00133670:\n      uVar15 = (uint)uVar20;\n      if (bVar19 == 8) {\n        uVar15 = 0xffffffff;\n        uVar20 = uVar18;\nLAB_00133b96:\n        if (uVar15 != (uint)uVar20) goto LAB_001336a6;\n        if (DAT_001e3c30 != 0) goto LAB_001330bc;\n      }\n      else {\n        uVar18 = uVar20;\n        if (bVar21 == 8) {\n          if (uVar22 == 0xffffffff) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1c44,"build_modrm_byte");\n          }\n          uVar17 = uVar15 + 1;\n          uVar18 = (ulong)uVar17;\n          uVar9 = uVar20;\n          if (uVar22 < uVar15) {\n            if (DAT_001e3c24 <= uVar17) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c49,"build_modrm_byte");\n            }\n          }\n          else if ((((&DAT_001e3bf6)[uVar20 * 8] & 0x40) == 0) &&\n                  (((&DAT_001e3bf6)[uVar18 * 8] & 0x40) != 0)) {\n            if ((DAT_001e3c24 <= uVar15 + 2) || (uVar22 != uVar17)) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c55,"build_modrm_byte");\n            }\n            uVar18 = (ulong)(uVar15 + 2);\n          }\n          else {\n            uVar9 = uVar18;\n            uVar18 = uVar20;\n            uVar15 = uVar17;\n            if (DAT_001e3c24 <= uVar17) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c5a,"build_modrm_byte");\n            }\n          }\nLAB_00133e49:\n          lVar13 = uVar9 + 6;\n          bVar21 = *(byte *)((long)&DAT_001e3bc0 + lVar13 * 8 + 4);\n          if ((((bVar21 & 1) == 0) ||\n              ((-1 < *(char *)((long)&DAT_001e3bc0 + lVar13 * 8 + 7) &&\n               ((*(byte *)(&DAT_001e3bc8 + lVar13 * 2) & 2) == 0)))) &&\n             (((bVar21 & 4) == 0 &&\n              ((*(uint *)(&DAT_001e3bf8 + uVar9 * 8) != DAT_00153a54 ||\n               (*(int *)(&DAT_001e3bf4 + uVar9 * 8) != DAT_00153a50)))))) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1c7b,"build_modrm_byte");\n          }\n          DAT_001e3d18 = (&DAT_001e3c60)[uVar9];\n          uVar20 = uVar18;\n          goto LAB_00133b96;\n        }\n        if (bVar21 == 0x10) {\n          if (DAT_001e3c30 == 0) {\n            if (DAT_001e3c24 != uVar15 + 2) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c65,"build_modrm_byte");\n            }\n            uVar9 = (ulong)(uVar15 + 1);\n            uVar15 = uVar15 + 1;\n          }\n          else {\n            if ((DAT_001e3c34 + 2 <= uVar15) || (DAT_001e3c24 != DAT_001e3c34 + 2)) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c6c,"build_modrm_byte");\n            }\n            uVar15 = DAT_001e3c34 + 1;\n            if (uVar15 == 0xffffffff) goto LAB_001336a6;\n            uVar9 = (ulong)uVar15;\n          }\n          goto LAB_00133e49;\n        }\n        if (DAT_001e3c24 <= uVar15) {\n                    \n          FUN_0011dd00("../../gas/config/tc-i386.c",0x1c71,"build_modrm_byte");\n        }\nLAB_001336a6:\n        if (DAT_001e3bd0 == 0xffff) {\n          DAT_001e3cf0 = (uint)*(byte *)((&DAT_001e3c60)[uVar20] + 0x11);\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar20] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 4;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 4;\n          }\n          if (DAT_001e3c30 == 0) {\n            DAT_001e3cf4 = 3;\n            return puVar10;\n          }\n          return puVar10;\n        }\n        DAT_001e3cec = (uint)*(byte *)((&DAT_001e3c60)[uVar20] + 0x11);\n        bVar21 = *(byte *)((&DAT_001e3c60)[uVar20] + 0x10);\n        if ((bVar21 & 1) != 0) {\n          DAT_001e3cf8 = DAT_001e3cf8 | 1;\n        }\n        if ((bVar21 & 4) != 0) {\n          DAT_001e3cfc = DAT_001e3cfc | 1;\n        }\n        if (DAT_001e3c30 != 0) {\n          DAT_001e3cf0 = DAT_001e3bd0;\n          return puVar10;\n        }\n      }\n      DAT_001e3cf4 = 3;\n      goto LAB_001330bc;\n    }" { (if_statement "if (DAT_001e3c28 == 0) goto LAB_001330bc;" if (parenthesized_expression "(DAT_001e3c28 == 0)" ( (binary_expression "DAT_001e3c28 == 0" identifier == number_literal) )) (goto_statement "goto LAB_001330bc;" goto statement_identifier ;)) (if_statement "if ((((DAT_001e3c24 == 0) || (((byte)DAT_001e3c38 & 1) != 0)) ||\n          (((byte)DAT_001e3c38 & 2) != 0)) ||\n         ((((byte)DAT_001e3c38 & 4) != 0 || ((DAT_001e3c38._5_1_ & 2) != 0)))) {\n        uVar20 = 0;\n      }\n      else {\n        uVar20 = 0;\n        if (((byte)DAT_001e3c38 & 8) == 0) {\n          uVar9 = 0;\n          while( true ) {\n            bVar14 = *(byte *)(&DAT_001e3bc8 + (uVar9 + 0xe) * 2);\n            if ((((char)bVar14 < '\0') ||\n                ((*(byte *)((long)&DAT_001e3bc8 + (uVar9 + 0xe) * 8 + 1) & 1) != 0)) ||\n               (((bVar14 & 0x10) != 0 || (((bVar14 & 0x20) != 0 || ((bVar14 & 0x40) != 0))))))\n            goto LAB_00133670;\n            uVar15 = (int)uVar20 + 1;\n            uVar20 = (ulong)uVar15;\n            if (DAT_001e3c24 == uVar15) break;\n            uVar9 = (ulong)uVar15;\n            bVar14 = *(byte *)(&DAT_001e3bc8 + (uVar9 + 0xe) * 2);\n            if (((((bVar14 & 1) != 0) || ((bVar14 & 2) != 0)) || ((bVar14 & 4) != 0)) ||\n               (((*(byte *)((long)&DAT_001e3bcc + (uVar9 + 0xe) * 8 + 1) & 2) != 0 ||\n                ((*(byte *)(&DAT_001e3c38 + uVar9) & 8) != 0)))) goto LAB_00133670;\n          }\n          uVar20 = (ulong)DAT_001e3c24;\n        }\n      }" if (parenthesized_expression "((((DAT_001e3c24 == 0) || (((byte)DAT_001e3c38 & 1) != 0)) ||\n          (((byte)DAT_001e3c38 & 2) != 0)) ||\n         ((((byte)DAT_001e3c38 & 4) != 0 || ((DAT_001e3c38._5_1_ & 2) != 0))))" ( (binary_expression "(((DAT_001e3c24 == 0) || (((byte)DAT_001e3c38 & 1) != 0)) ||\n          (((byte)DAT_001e3c38 & 2) != 0)) ||\n         ((((byte)DAT_001e3c38 & 4) != 0 || ((DAT_001e3c38._5_1_ & 2) != 0)))" (parenthesized_expression "(((DAT_001e3c24 == 0) || (((byte)DAT_001e3c38 & 1) != 0)) ||\n          (((byte)DAT_001e3c38 & 2) != 0))" ( (binary_expression "((DAT_001e3c24 == 0) || (((byte)DAT_001e3c38 & 1) != 0)) ||\n          (((byte)DAT_001e3c38 & 2) != 0)" (parenthesized_expression "((DAT_001e3c24 == 0) || (((byte)DAT_001e3c38 & 1) != 0))" ( (binary_expression "(DAT_001e3c24 == 0) || (((byte)DAT_001e3c38 & 1) != 0)" (parenthesized_expression "(DAT_001e3c24 == 0)" ( (binary_expression "DAT_001e3c24 == 0" identifier == number_literal) )) || (parenthesized_expression "(((byte)DAT_001e3c38 & 1) != 0)" ( (binary_expression "((byte)DAT_001e3c38 & 1) != 0" (parenthesized_expression "((byte)DAT_001e3c38 & 1)" ( (binary_expression "(byte)DAT_001e3c38 & 1" (cast_expression "(byte)DAT_001e3c38" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) )) != number_literal) ))) )) || (parenthesized_expression "(((byte)DAT_001e3c38 & 2) != 0)" ( (binary_expression "((byte)DAT_001e3c38 & 2) != 0" (parenthesized_expression "((byte)DAT_001e3c38 & 2)" ( (binary_expression "(byte)DAT_001e3c38 & 2" (cast_expression "(byte)DAT_001e3c38" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) )) != number_literal) ))) )) || (parenthesized_expression "((((byte)DAT_001e3c38 & 4) != 0 || ((DAT_001e3c38._5_1_ & 2) != 0)))" ( (parenthesized_expression "(((byte)DAT_001e3c38 & 4) != 0 || ((DAT_001e3c38._5_1_ & 2) != 0))" ( (binary_expression "((byte)DAT_001e3c38 & 4) != 0 || ((DAT_001e3c38._5_1_ & 2) != 0)" (binary_expression "((byte)DAT_001e3c38 & 4) != 0" (parenthesized_expression "((byte)DAT_001e3c38 & 4)" ( (binary_expression "(byte)DAT_001e3c38 & 4" (cast_expression "(byte)DAT_001e3c38" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) )) != number_literal) || (parenthesized_expression "((DAT_001e3c38._5_1_ & 2) != 0)" ( (binary_expression "(DAT_001e3c38._5_1_ & 2) != 0" (parenthesized_expression "(DAT_001e3c38._5_1_ & 2)" ( (binary_expression "DAT_001e3c38._5_1_ & 2" (field_expression "DAT_001e3c38._5_1_" identifier . field_identifier) & number_literal) )) != number_literal) ))) )) ))) )) (compound_statement "{\n        uVar20 = 0;\n      }" { (expression_statement "uVar20 = 0;" (assignment_expression "uVar20 = 0" identifier = number_literal) ;) }) (else_clause "else {\n        uVar20 = 0;\n        if (((byte)DAT_001e3c38 & 8) == 0) {\n          uVar9 = 0;\n          while( true ) {\n            bVar14 = *(byte *)(&DAT_001e3bc8 + (uVar9 + 0xe) * 2);\n            if ((((char)bVar14 < '\0') ||\n                ((*(byte *)((long)&DAT_001e3bc8 + (uVar9 + 0xe) * 8 + 1) & 1) != 0)) ||\n               (((bVar14 & 0x10) != 0 || (((bVar14 & 0x20) != 0 || ((bVar14 & 0x40) != 0))))))\n            goto LAB_00133670;\n            uVar15 = (int)uVar20 + 1;\n            uVar20 = (ulong)uVar15;\n            if (DAT_001e3c24 == uVar15) break;\n            uVar9 = (ulong)uVar15;\n            bVar14 = *(byte *)(&DAT_001e3bc8 + (uVar9 + 0xe) * 2);\n            if (((((bVar14 & 1) != 0) || ((bVar14 & 2) != 0)) || ((bVar14 & 4) != 0)) ||\n               (((*(byte *)((long)&DAT_001e3bcc + (uVar9 + 0xe) * 8 + 1) & 2) != 0 ||\n                ((*(byte *)(&DAT_001e3c38 + uVar9) & 8) != 0)))) goto LAB_00133670;\n          }\n          uVar20 = (ulong)DAT_001e3c24;\n        }\n      }" else (compound_statement "{\n        uVar20 = 0;\n        if (((byte)DAT_001e3c38 & 8) == 0) {\n          uVar9 = 0;\n          while( true ) {\n            bVar14 = *(byte *)(&DAT_001e3bc8 + (uVar9 + 0xe) * 2);\n            if ((((char)bVar14 < '\0') ||\n                ((*(byte *)((long)&DAT_001e3bc8 + (uVar9 + 0xe) * 8 + 1) & 1) != 0)) ||\n               (((bVar14 & 0x10) != 0 || (((bVar14 & 0x20) != 0 || ((bVar14 & 0x40) != 0))))))\n            goto LAB_00133670;\n            uVar15 = (int)uVar20 + 1;\n            uVar20 = (ulong)uVar15;\n            if (DAT_001e3c24 == uVar15) break;\n            uVar9 = (ulong)uVar15;\n            bVar14 = *(byte *)(&DAT_001e3bc8 + (uVar9 + 0xe) * 2);\n            if (((((bVar14 & 1) != 0) || ((bVar14 & 2) != 0)) || ((bVar14 & 4) != 0)) ||\n               (((*(byte *)((long)&DAT_001e3bcc + (uVar9 + 0xe) * 8 + 1) & 2) != 0 ||\n                ((*(byte *)(&DAT_001e3c38 + uVar9) & 8) != 0)))) goto LAB_00133670;\n          }\n          uVar20 = (ulong)DAT_001e3c24;\n        }\n      }" { (expression_statement "uVar20 = 0;" (assignment_expression "uVar20 = 0" identifier = number_literal) ;) (if_statement "if (((byte)DAT_001e3c38 & 8) == 0) {\n          uVar9 = 0;\n          while( true ) {\n            bVar14 = *(byte *)(&DAT_001e3bc8 + (uVar9 + 0xe) * 2);\n            if ((((char)bVar14 < '\0') ||\n                ((*(byte *)((long)&DAT_001e3bc8 + (uVar9 + 0xe) * 8 + 1) & 1) != 0)) ||\n               (((bVar14 & 0x10) != 0 || (((bVar14 & 0x20) != 0 || ((bVar14 & 0x40) != 0))))))\n            goto LAB_00133670;\n            uVar15 = (int)uVar20 + 1;\n            uVar20 = (ulong)uVar15;\n            if (DAT_001e3c24 == uVar15) break;\n            uVar9 = (ulong)uVar15;\n            bVar14 = *(byte *)(&DAT_001e3bc8 + (uVar9 + 0xe) * 2);\n            if (((((bVar14 & 1) != 0) || ((bVar14 & 2) != 0)) || ((bVar14 & 4) != 0)) ||\n               (((*(byte *)((long)&DAT_001e3bcc + (uVar9 + 0xe) * 8 + 1) & 2) != 0 ||\n                ((*(byte *)(&DAT_001e3c38 + uVar9) & 8) != 0)))) goto LAB_00133670;\n          }\n          uVar20 = (ulong)DAT_001e3c24;\n        }" if (parenthesized_expression "(((byte)DAT_001e3c38 & 8) == 0)" ( (binary_expression "((byte)DAT_001e3c38 & 8) == 0" (parenthesized_expression "((byte)DAT_001e3c38 & 8)" ( (binary_expression "(byte)DAT_001e3c38 & 8" (cast_expression "(byte)DAT_001e3c38" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n          uVar9 = 0;\n          while( true ) {\n            bVar14 = *(byte *)(&DAT_001e3bc8 + (uVar9 + 0xe) * 2);\n            if ((((char)bVar14 < '\0') ||\n                ((*(byte *)((long)&DAT_001e3bc8 + (uVar9 + 0xe) * 8 + 1) & 1) != 0)) ||\n               (((bVar14 & 0x10) != 0 || (((bVar14 & 0x20) != 0 || ((bVar14 & 0x40) != 0))))))\n            goto LAB_00133670;\n            uVar15 = (int)uVar20 + 1;\n            uVar20 = (ulong)uVar15;\n            if (DAT_001e3c24 == uVar15) break;\n            uVar9 = (ulong)uVar15;\n            bVar14 = *(byte *)(&DAT_001e3bc8 + (uVar9 + 0xe) * 2);\n            if (((((bVar14 & 1) != 0) || ((bVar14 & 2) != 0)) || ((bVar14 & 4) != 0)) ||\n               (((*(byte *)((long)&DAT_001e3bcc + (uVar9 + 0xe) * 8 + 1) & 2) != 0 ||\n                ((*(byte *)(&DAT_001e3c38 + uVar9) & 8) != 0)))) goto LAB_00133670;\n          }\n          uVar20 = (ulong)DAT_001e3c24;\n        }" { (expression_statement "uVar9 = 0;" (assignment_expression "uVar9 = 0" identifier = number_literal) ;) (while_statement "while( true ) {\n            bVar14 = *(byte *)(&DAT_001e3bc8 + (uVar9 + 0xe) * 2);\n            if ((((char)bVar14 < '\0') ||\n                ((*(byte *)((long)&DAT_001e3bc8 + (uVar9 + 0xe) * 8 + 1) & 1) != 0)) ||\n               (((bVar14 & 0x10) != 0 || (((bVar14 & 0x20) != 0 || ((bVar14 & 0x40) != 0))))))\n            goto LAB_00133670;\n            uVar15 = (int)uVar20 + 1;\n            uVar20 = (ulong)uVar15;\n            if (DAT_001e3c24 == uVar15) break;\n            uVar9 = (ulong)uVar15;\n            bVar14 = *(byte *)(&DAT_001e3bc8 + (uVar9 + 0xe) * 2);\n            if (((((bVar14 & 1) != 0) || ((bVar14 & 2) != 0)) || ((bVar14 & 4) != 0)) ||\n               (((*(byte *)((long)&DAT_001e3bcc + (uVar9 + 0xe) * 8 + 1) & 2) != 0 ||\n                ((*(byte *)(&DAT_001e3c38 + uVar9) & 8) != 0)))) goto LAB_00133670;\n          }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n            bVar14 = *(byte *)(&DAT_001e3bc8 + (uVar9 + 0xe) * 2);\n            if ((((char)bVar14 < '\0') ||\n                ((*(byte *)((long)&DAT_001e3bc8 + (uVar9 + 0xe) * 8 + 1) & 1) != 0)) ||\n               (((bVar14 & 0x10) != 0 || (((bVar14 & 0x20) != 0 || ((bVar14 & 0x40) != 0))))))\n            goto LAB_00133670;\n            uVar15 = (int)uVar20 + 1;\n            uVar20 = (ulong)uVar15;\n            if (DAT_001e3c24 == uVar15) break;\n            uVar9 = (ulong)uVar15;\n            bVar14 = *(byte *)(&DAT_001e3bc8 + (uVar9 + 0xe) * 2);\n            if (((((bVar14 & 1) != 0) || ((bVar14 & 2) != 0)) || ((bVar14 & 4) != 0)) ||\n               (((*(byte *)((long)&DAT_001e3bcc + (uVar9 + 0xe) * 8 + 1) & 2) != 0 ||\n                ((*(byte *)(&DAT_001e3c38 + uVar9) & 8) != 0)))) goto LAB_00133670;\n          }" { (expression_statement "bVar14 = *(byte *)(&DAT_001e3bc8 + (uVar9 + 0xe) * 2);" (assignment_expression "bVar14 = *(byte *)(&DAT_001e3bc8 + (uVar9 + 0xe) * 2)" identifier = (pointer_expression "*(byte *)(&DAT_001e3bc8 + (uVar9 + 0xe) * 2)" * (cast_expression "(byte *)(&DAT_001e3bc8 + (uVar9 + 0xe) * 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001e3bc8 + (uVar9 + 0xe) * 2)" ( (binary_expression "&DAT_001e3bc8 + (uVar9 + 0xe) * 2" (pointer_expression "&DAT_001e3bc8" & identifier) + (binary_expression "(uVar9 + 0xe) * 2" (parenthesized_expression "(uVar9 + 0xe)" ( (binary_expression "uVar9 + 0xe" identifier + number_literal) )) * number_literal)) ))))) ;) (if_statement "if ((((char)bVar14 < '\0') ||\n                ((*(byte *)((long)&DAT_001e3bc8 + (uVar9 + 0xe) * 8 + 1) & 1) != 0)) ||\n               (((bVar14 & 0x10) != 0 || (((bVar14 & 0x20) != 0 || ((bVar14 & 0x40) != 0))))))\n            goto LAB_00133670;" if (parenthesized_expression "((((char)bVar14 < '\0') ||\n                ((*(byte *)((long)&DAT_001e3bc8 + (uVar9 + 0xe) * 8 + 1) & 1) != 0)) ||\n               (((bVar14 & 0x10) != 0 || (((bVar14 & 0x20) != 0 || ((bVar14 & 0x40) != 0))))))" ( (binary_expression "(((char)bVar14 < '\0') ||\n                ((*(byte *)((long)&DAT_001e3bc8 + (uVar9 + 0xe) * 8 + 1) & 1) != 0)) ||\n               (((bVar14 & 0x10) != 0 || (((bVar14 & 0x20) != 0 || ((bVar14 & 0x40) != 0)))))" (parenthesized_expression "(((char)bVar14 < '\0') ||\n                ((*(byte *)((long)&DAT_001e3bc8 + (uVar9 + 0xe) * 8 + 1) & 1) != 0))" ( (binary_expression "((char)bVar14 < '\0') ||\n                ((*(byte *)((long)&DAT_001e3bc8 + (uVar9 + 0xe) * 8 + 1) & 1) != 0)" (parenthesized_expression "((char)bVar14 < '\0')" ( (binary_expression "(char)bVar14 < '\0'" (cast_expression "(char)bVar14" ( (type_descriptor "char" primitive_type) ) identifier) < (char_literal "'\0'" ' escape_sequence ')) )) || (parenthesized_expression "((*(byte *)((long)&DAT_001e3bc8 + (uVar9 + 0xe) * 8 + 1) & 1) != 0)" ( (binary_expression "(*(byte *)((long)&DAT_001e3bc8 + (uVar9 + 0xe) * 8 + 1) & 1) != 0" (parenthesized_expression "(*(byte *)((long)&DAT_001e3bc8 + (uVar9 + 0xe) * 8 + 1) & 1)" ( (binary_expression "*(byte *)((long)&DAT_001e3bc8 + (uVar9 + 0xe) * 8 + 1) & 1" (pointer_expression "*(byte *)((long)&DAT_001e3bc8 + (uVar9 + 0xe) * 8 + 1)" * (cast_expression "(byte *)((long)&DAT_001e3bc8 + (uVar9 + 0xe) * 8 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&DAT_001e3bc8 + (uVar9 + 0xe) * 8 + 1)" ( (binary_expression "(long)&DAT_001e3bc8 + (uVar9 + 0xe) * 8 + 1" (binary_expression "(long)&DAT_001e3bc8 + (uVar9 + 0xe) * 8" (cast_expression "(long)&DAT_001e3bc8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&DAT_001e3bc8" & identifier)) + (binary_expression "(uVar9 + 0xe) * 8" (parenthesized_expression "(uVar9 + 0xe)" ( (binary_expression "uVar9 + 0xe" identifier + number_literal) )) * number_literal)) + number_literal) )))) & number_literal) )) != number_literal) ))) )) || (parenthesized_expression "(((bVar14 & 0x10) != 0 || (((bVar14 & 0x20) != 0 || ((bVar14 & 0x40) != 0)))))" ( (parenthesized_expression "((bVar14 & 0x10) != 0 || (((bVar14 & 0x20) != 0 || ((bVar14 & 0x40) != 0))))" ( (binary_expression "(bVar14 & 0x10) != 0 || (((bVar14 & 0x20) != 0 || ((bVar14 & 0x40) != 0)))" (binary_expression "(bVar14 & 0x10) != 0" (parenthesized_expression "(bVar14 & 0x10)" ( (binary_expression "bVar14 & 0x10" identifier & number_literal) )) != number_literal) || (parenthesized_expression "(((bVar14 & 0x20) != 0 || ((bVar14 & 0x40) != 0)))" ( (parenthesized_expression "((bVar14 & 0x20) != 0 || ((bVar14 & 0x40) != 0))" ( (binary_expression "(bVar14 & 0x20) != 0 || ((bVar14 & 0x40) != 0)" (binary_expression "(bVar14 & 0x20) != 0" (parenthesized_expression "(bVar14 & 0x20)" ( (binary_expression "bVar14 & 0x20" identifier & number_literal) )) != number_literal) || (parenthesized_expression "((bVar14 & 0x40) != 0)" ( (binary_expression "(bVar14 & 0x40) != 0" (parenthesized_expression "(bVar14 & 0x40)" ( (binary_expression "bVar14 & 0x40" identifier & number_literal) )) != number_literal) ))) )) ))) )) ))) )) (goto_statement "goto LAB_00133670;" goto statement_identifier ;)) (expression_statement "uVar15 = (int)uVar20 + 1;" (assignment_expression "uVar15 = (int)uVar20 + 1" identifier = (binary_expression "(int)uVar20 + 1" (cast_expression "(int)uVar20" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "uVar20 = (ulong)uVar15;" (assignment_expression "uVar20 = (ulong)uVar15" identifier = (cast_expression "(ulong)uVar15" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (if_statement "if (DAT_001e3c24 == uVar15) break;" if (parenthesized_expression "(DAT_001e3c24 == uVar15)" ( (binary_expression "DAT_001e3c24 == uVar15" identifier == identifier) )) (break_statement "break;" break ;)) (expression_statement "uVar9 = (ulong)uVar15;" (assignment_expression "uVar9 = (ulong)uVar15" identifier = (cast_expression "(ulong)uVar15" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "bVar14 = *(byte *)(&DAT_001e3bc8 + (uVar9 + 0xe) * 2);" (assignment_expression "bVar14 = *(byte *)(&DAT_001e3bc8 + (uVar9 + 0xe) * 2)" identifier = (pointer_expression "*(byte *)(&DAT_001e3bc8 + (uVar9 + 0xe) * 2)" * (cast_expression "(byte *)(&DAT_001e3bc8 + (uVar9 + 0xe) * 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001e3bc8 + (uVar9 + 0xe) * 2)" ( (binary_expression "&DAT_001e3bc8 + (uVar9 + 0xe) * 2" (pointer_expression "&DAT_001e3bc8" & identifier) + (binary_expression "(uVar9 + 0xe) * 2" (parenthesized_expression "(uVar9 + 0xe)" ( (binary_expression "uVar9 + 0xe" identifier + number_literal) )) * number_literal)) ))))) ;) (if_statement "if (((((bVar14 & 1) != 0) || ((bVar14 & 2) != 0)) || ((bVar14 & 4) != 0)) ||\n               (((*(byte *)((long)&DAT_001e3bcc + (uVar9 + 0xe) * 8 + 1) & 2) != 0 ||\n                ((*(byte *)(&DAT_001e3c38 + uVar9) & 8) != 0)))) goto LAB_00133670;" if (parenthesized_expression "(((((bVar14 & 1) != 0) || ((bVar14 & 2) != 0)) || ((bVar14 & 4) != 0)) ||\n               (((*(byte *)((long)&DAT_001e3bcc + (uVar9 + 0xe) * 8 + 1) & 2) != 0 ||\n                ((*(byte *)(&DAT_001e3c38 + uVar9) & 8) != 0))))" ( (binary_expression "((((bVar14 & 1) != 0) || ((bVar14 & 2) != 0)) || ((bVar14 & 4) != 0)) ||\n               (((*(byte *)((long)&DAT_001e3bcc + (uVar9 + 0xe) * 8 + 1) & 2) != 0 ||\n                ((*(byte *)(&DAT_001e3c38 + uVar9) & 8) != 0)))" (parenthesized_expression "((((bVar14 & 1) != 0) || ((bVar14 & 2) != 0)) || ((bVar14 & 4) != 0))" ( (binary_expression "(((bVar14 & 1) != 0) || ((bVar14 & 2) != 0)) || ((bVar14 & 4) != 0)" (parenthesized_expression "(((bVar14 & 1) != 0) || ((bVar14 & 2) != 0))" ( (binary_expression "((bVar14 & 1) != 0) || ((bVar14 & 2) != 0)" (parenthesized_expression "((bVar14 & 1) != 0)" ( (binary_expression "(bVar14 & 1) != 0" (parenthesized_expression "(bVar14 & 1)" ( (binary_expression "bVar14 & 1" identifier & number_literal) )) != number_literal) )) || (parenthesized_expression "((bVar14 & 2) != 0)" ( (binary_expression "(bVar14 & 2) != 0" (parenthesized_expression "(bVar14 & 2)" ( (binary_expression "bVar14 & 2" identifier & number_literal) )) != number_literal) ))) )) || (parenthesized_expression "((bVar14 & 4) != 0)" ( (binary_expression "(bVar14 & 4) != 0" (parenthesized_expression "(bVar14 & 4)" ( (binary_expression "bVar14 & 4" identifier & number_literal) )) != number_literal) ))) )) || (parenthesized_expression "(((*(byte *)((long)&DAT_001e3bcc + (uVar9 + 0xe) * 8 + 1) & 2) != 0 ||\n                ((*(byte *)(&DAT_001e3c38 + uVar9) & 8) != 0)))" ( (parenthesized_expression "((*(byte *)((long)&DAT_001e3bcc + (uVar9 + 0xe) * 8 + 1) & 2) != 0 ||\n                ((*(byte *)(&DAT_001e3c38 + uVar9) & 8) != 0))" ( (binary_expression "(*(byte *)((long)&DAT_001e3bcc + (uVar9 + 0xe) * 8 + 1) & 2) != 0 ||\n                ((*(byte *)(&DAT_001e3c38 + uVar9) & 8) != 0)" (binary_expression "(*(byte *)((long)&DAT_001e3bcc + (uVar9 + 0xe) * 8 + 1) & 2) != 0" (parenthesized_expression "(*(byte *)((long)&DAT_001e3bcc + (uVar9 + 0xe) * 8 + 1) & 2)" ( (binary_expression "*(byte *)((long)&DAT_001e3bcc + (uVar9 + 0xe) * 8 + 1) & 2" (pointer_expression "*(byte *)((long)&DAT_001e3bcc + (uVar9 + 0xe) * 8 + 1)" * (cast_expression "(byte *)((long)&DAT_001e3bcc + (uVar9 + 0xe) * 8 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&DAT_001e3bcc + (uVar9 + 0xe) * 8 + 1)" ( (binary_expression "(long)&DAT_001e3bcc + (uVar9 + 0xe) * 8 + 1" (binary_expression "(long)&DAT_001e3bcc + (uVar9 + 0xe) * 8" (cast_expression "(long)&DAT_001e3bcc" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&DAT_001e3bcc" & identifier)) + (binary_expression "(uVar9 + 0xe) * 8" (parenthesized_expression "(uVar9 + 0xe)" ( (binary_expression "uVar9 + 0xe" identifier + number_literal) )) * number_literal)) + number_literal) )))) & number_literal) )) != number_literal) || (parenthesized_expression "((*(byte *)(&DAT_001e3c38 + uVar9) & 8) != 0)" ( (binary_expression "(*(byte *)(&DAT_001e3c38 + uVar9) & 8) != 0" (parenthesized_expression "(*(byte *)(&DAT_001e3c38 + uVar9) & 8)" ( (binary_expression "*(byte *)(&DAT_001e3c38 + uVar9) & 8" (pointer_expression "*(byte *)(&DAT_001e3c38 + uVar9)" * (cast_expression "(byte *)(&DAT_001e3c38 + uVar9)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001e3c38 + uVar9)" ( (binary_expression "&DAT_001e3c38 + uVar9" (pointer_expression "&DAT_001e3c38" & identifier) + identifier) )))) & number_literal) )) != number_literal) ))) )) ))) )) (goto_statement "goto LAB_00133670;" goto statement_identifier ;)) })) (expression_statement "uVar20 = (ulong)DAT_001e3c24;" (assignment_expression "uVar20 = (ulong)DAT_001e3c24" identifier = (cast_expression "(ulong)DAT_001e3c24" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) })) }))) (labeled_statement "LAB_00133670:\n      uVar15 = (uint)uVar20;" statement_identifier : (expression_statement "uVar15 = (uint)uVar20;" (assignment_expression "uVar15 = (uint)uVar20" identifier = (cast_expression "(uint)uVar20" ( (type_descriptor "uint" type_identifier) ) identifier)) ;)) (if_statement "if (bVar19 == 8) {\n        uVar15 = 0xffffffff;\n        uVar20 = uVar18;\nLAB_00133b96:\n        if (uVar15 != (uint)uVar20) goto LAB_001336a6;\n        if (DAT_001e3c30 != 0) goto LAB_001330bc;\n      }\n      else {\n        uVar18 = uVar20;\n        if (bVar21 == 8) {\n          if (uVar22 == 0xffffffff) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1c44,"build_modrm_byte");\n          }\n          uVar17 = uVar15 + 1;\n          uVar18 = (ulong)uVar17;\n          uVar9 = uVar20;\n          if (uVar22 < uVar15) {\n            if (DAT_001e3c24 <= uVar17) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c49,"build_modrm_byte");\n            }\n          }\n          else if ((((&DAT_001e3bf6)[uVar20 * 8] & 0x40) == 0) &&\n                  (((&DAT_001e3bf6)[uVar18 * 8] & 0x40) != 0)) {\n            if ((DAT_001e3c24 <= uVar15 + 2) || (uVar22 != uVar17)) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c55,"build_modrm_byte");\n            }\n            uVar18 = (ulong)(uVar15 + 2);\n          }\n          else {\n            uVar9 = uVar18;\n            uVar18 = uVar20;\n            uVar15 = uVar17;\n            if (DAT_001e3c24 <= uVar17) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c5a,"build_modrm_byte");\n            }\n          }\nLAB_00133e49:\n          lVar13 = uVar9 + 6;\n          bVar21 = *(byte *)((long)&DAT_001e3bc0 + lVar13 * 8 + 4);\n          if ((((bVar21 & 1) == 0) ||\n              ((-1 < *(char *)((long)&DAT_001e3bc0 + lVar13 * 8 + 7) &&\n               ((*(byte *)(&DAT_001e3bc8 + lVar13 * 2) & 2) == 0)))) &&\n             (((bVar21 & 4) == 0 &&\n              ((*(uint *)(&DAT_001e3bf8 + uVar9 * 8) != DAT_00153a54 ||\n               (*(int *)(&DAT_001e3bf4 + uVar9 * 8) != DAT_00153a50)))))) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1c7b,"build_modrm_byte");\n          }\n          DAT_001e3d18 = (&DAT_001e3c60)[uVar9];\n          uVar20 = uVar18;\n          goto LAB_00133b96;\n        }\n        if (bVar21 == 0x10) {\n          if (DAT_001e3c30 == 0) {\n            if (DAT_001e3c24 != uVar15 + 2) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c65,"build_modrm_byte");\n            }\n            uVar9 = (ulong)(uVar15 + 1);\n            uVar15 = uVar15 + 1;\n          }\n          else {\n            if ((DAT_001e3c34 + 2 <= uVar15) || (DAT_001e3c24 != DAT_001e3c34 + 2)) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c6c,"build_modrm_byte");\n            }\n            uVar15 = DAT_001e3c34 + 1;\n            if (uVar15 == 0xffffffff) goto LAB_001336a6;\n            uVar9 = (ulong)uVar15;\n          }\n          goto LAB_00133e49;\n        }\n        if (DAT_001e3c24 <= uVar15) {\n                    \n          FUN_0011dd00("../../gas/config/tc-i386.c",0x1c71,"build_modrm_byte");\n        }\nLAB_001336a6:\n        if (DAT_001e3bd0 == 0xffff) {\n          DAT_001e3cf0 = (uint)*(byte *)((&DAT_001e3c60)[uVar20] + 0x11);\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar20] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 4;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 4;\n          }\n          if (DAT_001e3c30 == 0) {\n            DAT_001e3cf4 = 3;\n            return puVar10;\n          }\n          return puVar10;\n        }\n        DAT_001e3cec = (uint)*(byte *)((&DAT_001e3c60)[uVar20] + 0x11);\n        bVar21 = *(byte *)((&DAT_001e3c60)[uVar20] + 0x10);\n        if ((bVar21 & 1) != 0) {\n          DAT_001e3cf8 = DAT_001e3cf8 | 1;\n        }\n        if ((bVar21 & 4) != 0) {\n          DAT_001e3cfc = DAT_001e3cfc | 1;\n        }\n        if (DAT_001e3c30 != 0) {\n          DAT_001e3cf0 = DAT_001e3bd0;\n          return puVar10;\n        }\n      }" if (parenthesized_expression "(bVar19 == 8)" ( (binary_expression "bVar19 == 8" identifier == number_literal) )) (compound_statement "{\n        uVar15 = 0xffffffff;\n        uVar20 = uVar18;\nLAB_00133b96:\n        if (uVar15 != (uint)uVar20) goto LAB_001336a6;\n        if (DAT_001e3c30 != 0) goto LAB_001330bc;\n      }" { (expression_statement "uVar15 = 0xffffffff;" (assignment_expression "uVar15 = 0xffffffff" identifier = number_literal) ;) (expression_statement "uVar20 = uVar18;" (assignment_expression "uVar20 = uVar18" identifier = identifier) ;) (labeled_statement "LAB_00133b96:\n        if (uVar15 != (uint)uVar20) goto LAB_001336a6;" statement_identifier : (if_statement "if (uVar15 != (uint)uVar20) goto LAB_001336a6;" if (parenthesized_expression "(uVar15 != (uint)uVar20)" ( (binary_expression "uVar15 != (uint)uVar20" identifier != (cast_expression "(uint)uVar20" ( (type_descriptor "uint" type_identifier) ) identifier)) )) (goto_statement "goto LAB_001336a6;" goto statement_identifier ;))) (if_statement "if (DAT_001e3c30 != 0) goto LAB_001330bc;" if (parenthesized_expression "(DAT_001e3c30 != 0)" ( (binary_expression "DAT_001e3c30 != 0" identifier != number_literal) )) (goto_statement "goto LAB_001330bc;" goto statement_identifier ;)) }) (else_clause "else {\n        uVar18 = uVar20;\n        if (bVar21 == 8) {\n          if (uVar22 == 0xffffffff) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1c44,"build_modrm_byte");\n          }\n          uVar17 = uVar15 + 1;\n          uVar18 = (ulong)uVar17;\n          uVar9 = uVar20;\n          if (uVar22 < uVar15) {\n            if (DAT_001e3c24 <= uVar17) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c49,"build_modrm_byte");\n            }\n          }\n          else if ((((&DAT_001e3bf6)[uVar20 * 8] & 0x40) == 0) &&\n                  (((&DAT_001e3bf6)[uVar18 * 8] & 0x40) != 0)) {\n            if ((DAT_001e3c24 <= uVar15 + 2) || (uVar22 != uVar17)) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c55,"build_modrm_byte");\n            }\n            uVar18 = (ulong)(uVar15 + 2);\n          }\n          else {\n            uVar9 = uVar18;\n            uVar18 = uVar20;\n            uVar15 = uVar17;\n            if (DAT_001e3c24 <= uVar17) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c5a,"build_modrm_byte");\n            }\n          }\nLAB_00133e49:\n          lVar13 = uVar9 + 6;\n          bVar21 = *(byte *)((long)&DAT_001e3bc0 + lVar13 * 8 + 4);\n          if ((((bVar21 & 1) == 0) ||\n              ((-1 < *(char *)((long)&DAT_001e3bc0 + lVar13 * 8 + 7) &&\n               ((*(byte *)(&DAT_001e3bc8 + lVar13 * 2) & 2) == 0)))) &&\n             (((bVar21 & 4) == 0 &&\n              ((*(uint *)(&DAT_001e3bf8 + uVar9 * 8) != DAT_00153a54 ||\n               (*(int *)(&DAT_001e3bf4 + uVar9 * 8) != DAT_00153a50)))))) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1c7b,"build_modrm_byte");\n          }\n          DAT_001e3d18 = (&DAT_001e3c60)[uVar9];\n          uVar20 = uVar18;\n          goto LAB_00133b96;\n        }\n        if (bVar21 == 0x10) {\n          if (DAT_001e3c30 == 0) {\n            if (DAT_001e3c24 != uVar15 + 2) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c65,"build_modrm_byte");\n            }\n            uVar9 = (ulong)(uVar15 + 1);\n            uVar15 = uVar15 + 1;\n          }\n          else {\n            if ((DAT_001e3c34 + 2 <= uVar15) || (DAT_001e3c24 != DAT_001e3c34 + 2)) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c6c,"build_modrm_byte");\n            }\n            uVar15 = DAT_001e3c34 + 1;\n            if (uVar15 == 0xffffffff) goto LAB_001336a6;\n            uVar9 = (ulong)uVar15;\n          }\n          goto LAB_00133e49;\n        }\n        if (DAT_001e3c24 <= uVar15) {\n                    \n          FUN_0011dd00("../../gas/config/tc-i386.c",0x1c71,"build_modrm_byte");\n        }\nLAB_001336a6:\n        if (DAT_001e3bd0 == 0xffff) {\n          DAT_001e3cf0 = (uint)*(byte *)((&DAT_001e3c60)[uVar20] + 0x11);\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar20] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 4;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 4;\n          }\n          if (DAT_001e3c30 == 0) {\n            DAT_001e3cf4 = 3;\n            return puVar10;\n          }\n          return puVar10;\n        }\n        DAT_001e3cec = (uint)*(byte *)((&DAT_001e3c60)[uVar20] + 0x11);\n        bVar21 = *(byte *)((&DAT_001e3c60)[uVar20] + 0x10);\n        if ((bVar21 & 1) != 0) {\n          DAT_001e3cf8 = DAT_001e3cf8 | 1;\n        }\n        if ((bVar21 & 4) != 0) {\n          DAT_001e3cfc = DAT_001e3cfc | 1;\n        }\n        if (DAT_001e3c30 != 0) {\n          DAT_001e3cf0 = DAT_001e3bd0;\n          return puVar10;\n        }\n      }" else (compound_statement "{\n        uVar18 = uVar20;\n        if (bVar21 == 8) {\n          if (uVar22 == 0xffffffff) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1c44,"build_modrm_byte");\n          }\n          uVar17 = uVar15 + 1;\n          uVar18 = (ulong)uVar17;\n          uVar9 = uVar20;\n          if (uVar22 < uVar15) {\n            if (DAT_001e3c24 <= uVar17) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c49,"build_modrm_byte");\n            }\n          }\n          else if ((((&DAT_001e3bf6)[uVar20 * 8] & 0x40) == 0) &&\n                  (((&DAT_001e3bf6)[uVar18 * 8] & 0x40) != 0)) {\n            if ((DAT_001e3c24 <= uVar15 + 2) || (uVar22 != uVar17)) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c55,"build_modrm_byte");\n            }\n            uVar18 = (ulong)(uVar15 + 2);\n          }\n          else {\n            uVar9 = uVar18;\n            uVar18 = uVar20;\n            uVar15 = uVar17;\n            if (DAT_001e3c24 <= uVar17) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c5a,"build_modrm_byte");\n            }\n          }\nLAB_00133e49:\n          lVar13 = uVar9 + 6;\n          bVar21 = *(byte *)((long)&DAT_001e3bc0 + lVar13 * 8 + 4);\n          if ((((bVar21 & 1) == 0) ||\n              ((-1 < *(char *)((long)&DAT_001e3bc0 + lVar13 * 8 + 7) &&\n               ((*(byte *)(&DAT_001e3bc8 + lVar13 * 2) & 2) == 0)))) &&\n             (((bVar21 & 4) == 0 &&\n              ((*(uint *)(&DAT_001e3bf8 + uVar9 * 8) != DAT_00153a54 ||\n               (*(int *)(&DAT_001e3bf4 + uVar9 * 8) != DAT_00153a50)))))) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1c7b,"build_modrm_byte");\n          }\n          DAT_001e3d18 = (&DAT_001e3c60)[uVar9];\n          uVar20 = uVar18;\n          goto LAB_00133b96;\n        }\n        if (bVar21 == 0x10) {\n          if (DAT_001e3c30 == 0) {\n            if (DAT_001e3c24 != uVar15 + 2) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c65,"build_modrm_byte");\n            }\n            uVar9 = (ulong)(uVar15 + 1);\n            uVar15 = uVar15 + 1;\n          }\n          else {\n            if ((DAT_001e3c34 + 2 <= uVar15) || (DAT_001e3c24 != DAT_001e3c34 + 2)) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c6c,"build_modrm_byte");\n            }\n            uVar15 = DAT_001e3c34 + 1;\n            if (uVar15 == 0xffffffff) goto LAB_001336a6;\n            uVar9 = (ulong)uVar15;\n          }\n          goto LAB_00133e49;\n        }\n        if (DAT_001e3c24 <= uVar15) {\n                    \n          FUN_0011dd00("../../gas/config/tc-i386.c",0x1c71,"build_modrm_byte");\n        }\nLAB_001336a6:\n        if (DAT_001e3bd0 == 0xffff) {\n          DAT_001e3cf0 = (uint)*(byte *)((&DAT_001e3c60)[uVar20] + 0x11);\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar20] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 4;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 4;\n          }\n          if (DAT_001e3c30 == 0) {\n            DAT_001e3cf4 = 3;\n            return puVar10;\n          }\n          return puVar10;\n        }\n        DAT_001e3cec = (uint)*(byte *)((&DAT_001e3c60)[uVar20] + 0x11);\n        bVar21 = *(byte *)((&DAT_001e3c60)[uVar20] + 0x10);\n        if ((bVar21 & 1) != 0) {\n          DAT_001e3cf8 = DAT_001e3cf8 | 1;\n        }\n        if ((bVar21 & 4) != 0) {\n          DAT_001e3cfc = DAT_001e3cfc | 1;\n        }\n        if (DAT_001e3c30 != 0) {\n          DAT_001e3cf0 = DAT_001e3bd0;\n          return puVar10;\n        }\n      }" { (expression_statement "uVar18 = uVar20;" (assignment_expression "uVar18 = uVar20" identifier = identifier) ;) (if_statement "if (bVar21 == 8) {\n          if (uVar22 == 0xffffffff) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1c44,"build_modrm_byte");\n          }\n          uVar17 = uVar15 + 1;\n          uVar18 = (ulong)uVar17;\n          uVar9 = uVar20;\n          if (uVar22 < uVar15) {\n            if (DAT_001e3c24 <= uVar17) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c49,"build_modrm_byte");\n            }\n          }\n          else if ((((&DAT_001e3bf6)[uVar20 * 8] & 0x40) == 0) &&\n                  (((&DAT_001e3bf6)[uVar18 * 8] & 0x40) != 0)) {\n            if ((DAT_001e3c24 <= uVar15 + 2) || (uVar22 != uVar17)) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c55,"build_modrm_byte");\n            }\n            uVar18 = (ulong)(uVar15 + 2);\n          }\n          else {\n            uVar9 = uVar18;\n            uVar18 = uVar20;\n            uVar15 = uVar17;\n            if (DAT_001e3c24 <= uVar17) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c5a,"build_modrm_byte");\n            }\n          }\nLAB_00133e49:\n          lVar13 = uVar9 + 6;\n          bVar21 = *(byte *)((long)&DAT_001e3bc0 + lVar13 * 8 + 4);\n          if ((((bVar21 & 1) == 0) ||\n              ((-1 < *(char *)((long)&DAT_001e3bc0 + lVar13 * 8 + 7) &&\n               ((*(byte *)(&DAT_001e3bc8 + lVar13 * 2) & 2) == 0)))) &&\n             (((bVar21 & 4) == 0 &&\n              ((*(uint *)(&DAT_001e3bf8 + uVar9 * 8) != DAT_00153a54 ||\n               (*(int *)(&DAT_001e3bf4 + uVar9 * 8) != DAT_00153a50)))))) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1c7b,"build_modrm_byte");\n          }\n          DAT_001e3d18 = (&DAT_001e3c60)[uVar9];\n          uVar20 = uVar18;\n          goto LAB_00133b96;\n        }" if (parenthesized_expression "(bVar21 == 8)" ( (binary_expression "bVar21 == 8" identifier == number_literal) )) (compound_statement "{\n          if (uVar22 == 0xffffffff) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1c44,"build_modrm_byte");\n          }\n          uVar17 = uVar15 + 1;\n          uVar18 = (ulong)uVar17;\n          uVar9 = uVar20;\n          if (uVar22 < uVar15) {\n            if (DAT_001e3c24 <= uVar17) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c49,"build_modrm_byte");\n            }\n          }\n          else if ((((&DAT_001e3bf6)[uVar20 * 8] & 0x40) == 0) &&\n                  (((&DAT_001e3bf6)[uVar18 * 8] & 0x40) != 0)) {\n            if ((DAT_001e3c24 <= uVar15 + 2) || (uVar22 != uVar17)) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c55,"build_modrm_byte");\n            }\n            uVar18 = (ulong)(uVar15 + 2);\n          }\n          else {\n            uVar9 = uVar18;\n            uVar18 = uVar20;\n            uVar15 = uVar17;\n            if (DAT_001e3c24 <= uVar17) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c5a,"build_modrm_byte");\n            }\n          }\nLAB_00133e49:\n          lVar13 = uVar9 + 6;\n          bVar21 = *(byte *)((long)&DAT_001e3bc0 + lVar13 * 8 + 4);\n          if ((((bVar21 & 1) == 0) ||\n              ((-1 < *(char *)((long)&DAT_001e3bc0 + lVar13 * 8 + 7) &&\n               ((*(byte *)(&DAT_001e3bc8 + lVar13 * 2) & 2) == 0)))) &&\n             (((bVar21 & 4) == 0 &&\n              ((*(uint *)(&DAT_001e3bf8 + uVar9 * 8) != DAT_00153a54 ||\n               (*(int *)(&DAT_001e3bf4 + uVar9 * 8) != DAT_00153a50)))))) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1c7b,"build_modrm_byte");\n          }\n          DAT_001e3d18 = (&DAT_001e3c60)[uVar9];\n          uVar20 = uVar18;\n          goto LAB_00133b96;\n        }" { (if_statement "if (uVar22 == 0xffffffff) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1c44,"build_modrm_byte");\n          }" if (parenthesized_expression "(uVar22 == 0xffffffff)" ( (binary_expression "uVar22 == 0xffffffff" identifier == number_literal) )) (compound_statement "{\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1c44,"build_modrm_byte");\n          }" { (expression_statement "FUN_0011dd00("../../gas/config/tc-i386.c",0x1c44,"build_modrm_byte");" (call_expression "FUN_0011dd00("../../gas/config/tc-i386.c",0x1c44,"build_modrm_byte")" identifier (argument_list "("../../gas/config/tc-i386.c",0x1c44,"build_modrm_byte")" ( (string_literal ""../../gas/config/tc-i386.c"" " string_content ") , number_literal , (string_literal ""build_modrm_byte"" " string_content ") ))) ;) })) (expression_statement "uVar17 = uVar15 + 1;" (assignment_expression "uVar17 = uVar15 + 1" identifier = (binary_expression "uVar15 + 1" identifier + number_literal)) ;) (expression_statement "uVar18 = (ulong)uVar17;" (assignment_expression "uVar18 = (ulong)uVar17" identifier = (cast_expression "(ulong)uVar17" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "uVar9 = uVar20;" (assignment_expression "uVar9 = uVar20" identifier = identifier) ;) (if_statement "if (uVar22 < uVar15) {\n            if (DAT_001e3c24 <= uVar17) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c49,"build_modrm_byte");\n            }\n          }\n          else if ((((&DAT_001e3bf6)[uVar20 * 8] & 0x40) == 0) &&\n                  (((&DAT_001e3bf6)[uVar18 * 8] & 0x40) != 0)) {\n            if ((DAT_001e3c24 <= uVar15 + 2) || (uVar22 != uVar17)) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c55,"build_modrm_byte");\n            }\n            uVar18 = (ulong)(uVar15 + 2);\n          }\n          else {\n            uVar9 = uVar18;\n            uVar18 = uVar20;\n            uVar15 = uVar17;\n            if (DAT_001e3c24 <= uVar17) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c5a,"build_modrm_byte");\n            }\n          }" if (parenthesized_expression "(uVar22 < uVar15)" ( (binary_expression "uVar22 < uVar15" identifier < identifier) )) (compound_statement "{\n            if (DAT_001e3c24 <= uVar17) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c49,"build_modrm_byte");\n            }\n          }" { (if_statement "if (DAT_001e3c24 <= uVar17) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c49,"build_modrm_byte");\n            }" if (parenthesized_expression "(DAT_001e3c24 <= uVar17)" ( (binary_expression "DAT_001e3c24 <= uVar17" identifier <= identifier) )) (compound_statement "{\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c49,"build_modrm_byte");\n            }" { (expression_statement "FUN_0011dd00("../../gas/config/tc-i386.c",0x1c49,"build_modrm_byte");" (call_expression "FUN_0011dd00("../../gas/config/tc-i386.c",0x1c49,"build_modrm_byte")" identifier (argument_list "("../../gas/config/tc-i386.c",0x1c49,"build_modrm_byte")" ( (string_literal ""../../gas/config/tc-i386.c"" " string_content ") , number_literal , (string_literal ""build_modrm_byte"" " string_content ") ))) ;) })) }) (else_clause "else if ((((&DAT_001e3bf6)[uVar20 * 8] & 0x40) == 0) &&\n                  (((&DAT_001e3bf6)[uVar18 * 8] & 0x40) != 0)) {\n            if ((DAT_001e3c24 <= uVar15 + 2) || (uVar22 != uVar17)) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c55,"build_modrm_byte");\n            }\n            uVar18 = (ulong)(uVar15 + 2);\n          }\n          else {\n            uVar9 = uVar18;\n            uVar18 = uVar20;\n            uVar15 = uVar17;\n            if (DAT_001e3c24 <= uVar17) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c5a,"build_modrm_byte");\n            }\n          }" else (if_statement "if ((((&DAT_001e3bf6)[uVar20 * 8] & 0x40) == 0) &&\n                  (((&DAT_001e3bf6)[uVar18 * 8] & 0x40) != 0)) {\n            if ((DAT_001e3c24 <= uVar15 + 2) || (uVar22 != uVar17)) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c55,"build_modrm_byte");\n            }\n            uVar18 = (ulong)(uVar15 + 2);\n          }\n          else {\n            uVar9 = uVar18;\n            uVar18 = uVar20;\n            uVar15 = uVar17;\n            if (DAT_001e3c24 <= uVar17) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c5a,"build_modrm_byte");\n            }\n          }" if (parenthesized_expression "((((&DAT_001e3bf6)[uVar20 * 8] & 0x40) == 0) &&\n                  (((&DAT_001e3bf6)[uVar18 * 8] & 0x40) != 0))" ( (binary_expression "(((&DAT_001e3bf6)[uVar20 * 8] & 0x40) == 0) &&\n                  (((&DAT_001e3bf6)[uVar18 * 8] & 0x40) != 0)" (parenthesized_expression "(((&DAT_001e3bf6)[uVar20 * 8] & 0x40) == 0)" ( (binary_expression "((&DAT_001e3bf6)[uVar20 * 8] & 0x40) == 0" (parenthesized_expression "((&DAT_001e3bf6)[uVar20 * 8] & 0x40)" ( (binary_expression "(&DAT_001e3bf6)[uVar20 * 8] & 0x40" (subscript_expression "(&DAT_001e3bf6)[uVar20 * 8]" (parenthesized_expression "(&DAT_001e3bf6)" ( (pointer_expression "&DAT_001e3bf6" & identifier) )) [ (binary_expression "uVar20 * 8" identifier * number_literal) ]) & number_literal) )) == number_literal) )) && (parenthesized_expression "(((&DAT_001e3bf6)[uVar18 * 8] & 0x40) != 0)" ( (binary_expression "((&DAT_001e3bf6)[uVar18 * 8] & 0x40) != 0" (parenthesized_expression "((&DAT_001e3bf6)[uVar18 * 8] & 0x40)" ( (binary_expression "(&DAT_001e3bf6)[uVar18 * 8] & 0x40" (subscript_expression "(&DAT_001e3bf6)[uVar18 * 8]" (parenthesized_expression "(&DAT_001e3bf6)" ( (pointer_expression "&DAT_001e3bf6" & identifier) )) [ (binary_expression "uVar18 * 8" identifier * number_literal) ]) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n            if ((DAT_001e3c24 <= uVar15 + 2) || (uVar22 != uVar17)) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c55,"build_modrm_byte");\n            }\n            uVar18 = (ulong)(uVar15 + 2);\n          }" { (if_statement "if ((DAT_001e3c24 <= uVar15 + 2) || (uVar22 != uVar17)) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c55,"build_modrm_byte");\n            }" if (parenthesized_expression "((DAT_001e3c24 <= uVar15 + 2) || (uVar22 != uVar17))" ( (binary_expression "(DAT_001e3c24 <= uVar15 + 2) || (uVar22 != uVar17)" (parenthesized_expression "(DAT_001e3c24 <= uVar15 + 2)" ( (binary_expression "DAT_001e3c24 <= uVar15 + 2" identifier <= (binary_expression "uVar15 + 2" identifier + number_literal)) )) || (parenthesized_expression "(uVar22 != uVar17)" ( (binary_expression "uVar22 != uVar17" identifier != identifier) ))) )) (compound_statement "{\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c55,"build_modrm_byte");\n            }" { (expression_statement "FUN_0011dd00("../../gas/config/tc-i386.c",0x1c55,"build_modrm_byte");" (call_expression "FUN_0011dd00("../../gas/config/tc-i386.c",0x1c55,"build_modrm_byte")" identifier (argument_list "("../../gas/config/tc-i386.c",0x1c55,"build_modrm_byte")" ( (string_literal ""../../gas/config/tc-i386.c"" " string_content ") , number_literal , (string_literal ""build_modrm_byte"" " string_content ") ))) ;) })) (expression_statement "uVar18 = (ulong)(uVar15 + 2);" (assignment_expression "uVar18 = (ulong)(uVar15 + 2)" identifier = (call_expression "(ulong)(uVar15 + 2)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar15 + 2)" ( (binary_expression "uVar15 + 2" identifier + number_literal) )))) ;) }) (else_clause "else {\n            uVar9 = uVar18;\n            uVar18 = uVar20;\n            uVar15 = uVar17;\n            if (DAT_001e3c24 <= uVar17) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c5a,"build_modrm_byte");\n            }\n          }" else (compound_statement "{\n            uVar9 = uVar18;\n            uVar18 = uVar20;\n            uVar15 = uVar17;\n            if (DAT_001e3c24 <= uVar17) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c5a,"build_modrm_byte");\n            }\n          }" { (expression_statement "uVar9 = uVar18;" (assignment_expression "uVar9 = uVar18" identifier = identifier) ;) (expression_statement "uVar18 = uVar20;" (assignment_expression "uVar18 = uVar20" identifier = identifier) ;) (expression_statement "uVar15 = uVar17;" (assignment_expression "uVar15 = uVar17" identifier = identifier) ;) (if_statement "if (DAT_001e3c24 <= uVar17) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c5a,"build_modrm_byte");\n            }" if (parenthesized_expression "(DAT_001e3c24 <= uVar17)" ( (binary_expression "DAT_001e3c24 <= uVar17" identifier <= identifier) )) (compound_statement "{\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c5a,"build_modrm_byte");\n            }" { (expression_statement "FUN_0011dd00("../../gas/config/tc-i386.c",0x1c5a,"build_modrm_byte");" (call_expression "FUN_0011dd00("../../gas/config/tc-i386.c",0x1c5a,"build_modrm_byte")" identifier (argument_list "("../../gas/config/tc-i386.c",0x1c5a,"build_modrm_byte")" ( (string_literal ""../../gas/config/tc-i386.c"" " string_content ") , number_literal , (string_literal ""build_modrm_byte"" " string_content ") ))) ;) })) }))))) (labeled_statement "LAB_00133e49:\n          lVar13 = uVar9 + 6;" statement_identifier : (expression_statement "lVar13 = uVar9 + 6;" (assignment_expression "lVar13 = uVar9 + 6" identifier = (binary_expression "uVar9 + 6" identifier + number_literal)) ;)) (expression_statement "bVar21 = *(byte *)((long)&DAT_001e3bc0 + lVar13 * 8 + 4);" (assignment_expression "bVar21 = *(byte *)((long)&DAT_001e3bc0 + lVar13 * 8 + 4)" identifier = (pointer_expression "*(byte *)((long)&DAT_001e3bc0 + lVar13 * 8 + 4)" * (cast_expression "(byte *)((long)&DAT_001e3bc0 + lVar13 * 8 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&DAT_001e3bc0 + lVar13 * 8 + 4)" ( (binary_expression "(long)&DAT_001e3bc0 + lVar13 * 8 + 4" (binary_expression "(long)&DAT_001e3bc0 + lVar13 * 8" (cast_expression "(long)&DAT_001e3bc0" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&DAT_001e3bc0" & identifier)) + (binary_expression "lVar13 * 8" identifier * number_literal)) + number_literal) ))))) ;) (if_statement "if ((((bVar21 & 1) == 0) ||\n              ((-1 < *(char *)((long)&DAT_001e3bc0 + lVar13 * 8 + 7) &&\n               ((*(byte *)(&DAT_001e3bc8 + lVar13 * 2) & 2) == 0)))) &&\n             (((bVar21 & 4) == 0 &&\n              ((*(uint *)(&DAT_001e3bf8 + uVar9 * 8) != DAT_00153a54 ||\n               (*(int *)(&DAT_001e3bf4 + uVar9 * 8) != DAT_00153a50)))))) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1c7b,"build_modrm_byte");\n          }" if (parenthesized_expression "((((bVar21 & 1) == 0) ||\n              ((-1 < *(char *)((long)&DAT_001e3bc0 + lVar13 * 8 + 7) &&\n               ((*(byte *)(&DAT_001e3bc8 + lVar13 * 2) & 2) == 0)))) &&\n             (((bVar21 & 4) == 0 &&\n              ((*(uint *)(&DAT_001e3bf8 + uVar9 * 8) != DAT_00153a54 ||\n               (*(int *)(&DAT_001e3bf4 + uVar9 * 8) != DAT_00153a50))))))" ( (binary_expression "(((bVar21 & 1) == 0) ||\n              ((-1 < *(char *)((long)&DAT_001e3bc0 + lVar13 * 8 + 7) &&\n               ((*(byte *)(&DAT_001e3bc8 + lVar13 * 2) & 2) == 0)))) &&\n             (((bVar21 & 4) == 0 &&\n              ((*(uint *)(&DAT_001e3bf8 + uVar9 * 8) != DAT_00153a54 ||\n               (*(int *)(&DAT_001e3bf4 + uVar9 * 8) != DAT_00153a50)))))" (parenthesized_expression "(((bVar21 & 1) == 0) ||\n              ((-1 < *(char *)((long)&DAT_001e3bc0 + lVar13 * 8 + 7) &&\n               ((*(byte *)(&DAT_001e3bc8 + lVar13 * 2) & 2) == 0))))" ( (binary_expression "((bVar21 & 1) == 0) ||\n              ((-1 < *(char *)((long)&DAT_001e3bc0 + lVar13 * 8 + 7) &&\n               ((*(byte *)(&DAT_001e3bc8 + lVar13 * 2) & 2) == 0)))" (parenthesized_expression "((bVar21 & 1) == 0)" ( (binary_expression "(bVar21 & 1) == 0" (parenthesized_expression "(bVar21 & 1)" ( (binary_expression "bVar21 & 1" identifier & number_literal) )) == number_literal) )) || (parenthesized_expression "((-1 < *(char *)((long)&DAT_001e3bc0 + lVar13 * 8 + 7) &&\n               ((*(byte *)(&DAT_001e3bc8 + lVar13 * 2) & 2) == 0)))" ( (parenthesized_expression "(-1 < *(char *)((long)&DAT_001e3bc0 + lVar13 * 8 + 7) &&\n               ((*(byte *)(&DAT_001e3bc8 + lVar13 * 2) & 2) == 0))" ( (binary_expression "-1 < *(char *)((long)&DAT_001e3bc0 + lVar13 * 8 + 7) &&\n               ((*(byte *)(&DAT_001e3bc8 + lVar13 * 2) & 2) == 0)" (binary_expression "-1 < *(char *)((long)&DAT_001e3bc0 + lVar13 * 8 + 7)" number_literal < (pointer_expression "*(char *)((long)&DAT_001e3bc0 + lVar13 * 8 + 7)" * (cast_expression "(char *)((long)&DAT_001e3bc0 + lVar13 * 8 + 7)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&DAT_001e3bc0 + lVar13 * 8 + 7)" ( (binary_expression "(long)&DAT_001e3bc0 + lVar13 * 8 + 7" (binary_expression "(long)&DAT_001e3bc0 + lVar13 * 8" (cast_expression "(long)&DAT_001e3bc0" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&DAT_001e3bc0" & identifier)) + (binary_expression "lVar13 * 8" identifier * number_literal)) + number_literal) ))))) && (parenthesized_expression "((*(byte *)(&DAT_001e3bc8 + lVar13 * 2) & 2) == 0)" ( (binary_expression "(*(byte *)(&DAT_001e3bc8 + lVar13 * 2) & 2) == 0" (parenthesized_expression "(*(byte *)(&DAT_001e3bc8 + lVar13 * 2) & 2)" ( (binary_expression "*(byte *)(&DAT_001e3bc8 + lVar13 * 2) & 2" (pointer_expression "*(byte *)(&DAT_001e3bc8 + lVar13 * 2)" * (cast_expression "(byte *)(&DAT_001e3bc8 + lVar13 * 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001e3bc8 + lVar13 * 2)" ( (binary_expression "&DAT_001e3bc8 + lVar13 * 2" (pointer_expression "&DAT_001e3bc8" & identifier) + (binary_expression "lVar13 * 2" identifier * number_literal)) )))) & number_literal) )) == number_literal) ))) )) ))) )) && (parenthesized_expression "(((bVar21 & 4) == 0 &&\n              ((*(uint *)(&DAT_001e3bf8 + uVar9 * 8) != DAT_00153a54 ||\n               (*(int *)(&DAT_001e3bf4 + uVar9 * 8) != DAT_00153a50)))))" ( (parenthesized_expression "((bVar21 & 4) == 0 &&\n              ((*(uint *)(&DAT_001e3bf8 + uVar9 * 8) != DAT_00153a54 ||\n               (*(int *)(&DAT_001e3bf4 + uVar9 * 8) != DAT_00153a50))))" ( (binary_expression "(bVar21 & 4) == 0 &&\n              ((*(uint *)(&DAT_001e3bf8 + uVar9 * 8) != DAT_00153a54 ||\n               (*(int *)(&DAT_001e3bf4 + uVar9 * 8) != DAT_00153a50)))" (binary_expression "(bVar21 & 4) == 0" (parenthesized_expression "(bVar21 & 4)" ( (binary_expression "bVar21 & 4" identifier & number_literal) )) == number_literal) && (parenthesized_expression "((*(uint *)(&DAT_001e3bf8 + uVar9 * 8) != DAT_00153a54 ||\n               (*(int *)(&DAT_001e3bf4 + uVar9 * 8) != DAT_00153a50)))" ( (parenthesized_expression "(*(uint *)(&DAT_001e3bf8 + uVar9 * 8) != DAT_00153a54 ||\n               (*(int *)(&DAT_001e3bf4 + uVar9 * 8) != DAT_00153a50))" ( (binary_expression "*(uint *)(&DAT_001e3bf8 + uVar9 * 8) != DAT_00153a54 ||\n               (*(int *)(&DAT_001e3bf4 + uVar9 * 8) != DAT_00153a50)" (binary_expression "*(uint *)(&DAT_001e3bf8 + uVar9 * 8) != DAT_00153a54" (pointer_expression "*(uint *)(&DAT_001e3bf8 + uVar9 * 8)" * (cast_expression "(uint *)(&DAT_001e3bf8 + uVar9 * 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001e3bf8 + uVar9 * 8)" ( (binary_expression "&DAT_001e3bf8 + uVar9 * 8" (pointer_expression "&DAT_001e3bf8" & identifier) + (binary_expression "uVar9 * 8" identifier * number_literal)) )))) != identifier) || (parenthesized_expression "(*(int *)(&DAT_001e3bf4 + uVar9 * 8) != DAT_00153a50)" ( (binary_expression "*(int *)(&DAT_001e3bf4 + uVar9 * 8) != DAT_00153a50" (pointer_expression "*(int *)(&DAT_001e3bf4 + uVar9 * 8)" * (cast_expression "(int *)(&DAT_001e3bf4 + uVar9 * 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001e3bf4 + uVar9 * 8)" ( (binary_expression "&DAT_001e3bf4 + uVar9 * 8" (pointer_expression "&DAT_001e3bf4" & identifier) + (binary_expression "uVar9 * 8" identifier * number_literal)) )))) != identifier) ))) )) ))) )) ))) )) (compound_statement "{\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1c7b,"build_modrm_byte");\n          }" { (expression_statement "FUN_0011dd00("../../gas/config/tc-i386.c",0x1c7b,"build_modrm_byte");" (call_expression "FUN_0011dd00("../../gas/config/tc-i386.c",0x1c7b,"build_modrm_byte")" identifier (argument_list "("../../gas/config/tc-i386.c",0x1c7b,"build_modrm_byte")" ( (string_literal ""../../gas/config/tc-i386.c"" " string_content ") , number_literal , (string_literal ""build_modrm_byte"" " string_content ") ))) ;) })) (expression_statement "DAT_001e3d18 = (&DAT_001e3c60)[uVar9];" (assignment_expression "DAT_001e3d18 = (&DAT_001e3c60)[uVar9]" identifier = (subscript_expression "(&DAT_001e3c60)[uVar9]" (parenthesized_expression "(&DAT_001e3c60)" ( (pointer_expression "&DAT_001e3c60" & identifier) )) [ identifier ])) ;) (expression_statement "uVar20 = uVar18;" (assignment_expression "uVar20 = uVar18" identifier = identifier) ;) (goto_statement "goto LAB_00133b96;" goto statement_identifier ;) })) (if_statement "if (bVar21 == 0x10) {\n          if (DAT_001e3c30 == 0) {\n            if (DAT_001e3c24 != uVar15 + 2) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c65,"build_modrm_byte");\n            }\n            uVar9 = (ulong)(uVar15 + 1);\n            uVar15 = uVar15 + 1;\n          }\n          else {\n            if ((DAT_001e3c34 + 2 <= uVar15) || (DAT_001e3c24 != DAT_001e3c34 + 2)) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c6c,"build_modrm_byte");\n            }\n            uVar15 = DAT_001e3c34 + 1;\n            if (uVar15 == 0xffffffff) goto LAB_001336a6;\n            uVar9 = (ulong)uVar15;\n          }\n          goto LAB_00133e49;\n        }" if (parenthesized_expression "(bVar21 == 0x10)" ( (binary_expression "bVar21 == 0x10" identifier == number_literal) )) (compound_statement "{\n          if (DAT_001e3c30 == 0) {\n            if (DAT_001e3c24 != uVar15 + 2) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c65,"build_modrm_byte");\n            }\n            uVar9 = (ulong)(uVar15 + 1);\n            uVar15 = uVar15 + 1;\n          }\n          else {\n            if ((DAT_001e3c34 + 2 <= uVar15) || (DAT_001e3c24 != DAT_001e3c34 + 2)) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c6c,"build_modrm_byte");\n            }\n            uVar15 = DAT_001e3c34 + 1;\n            if (uVar15 == 0xffffffff) goto LAB_001336a6;\n            uVar9 = (ulong)uVar15;\n          }\n          goto LAB_00133e49;\n        }" { (if_statement "if (DAT_001e3c30 == 0) {\n            if (DAT_001e3c24 != uVar15 + 2) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c65,"build_modrm_byte");\n            }\n            uVar9 = (ulong)(uVar15 + 1);\n            uVar15 = uVar15 + 1;\n          }\n          else {\n            if ((DAT_001e3c34 + 2 <= uVar15) || (DAT_001e3c24 != DAT_001e3c34 + 2)) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c6c,"build_modrm_byte");\n            }\n            uVar15 = DAT_001e3c34 + 1;\n            if (uVar15 == 0xffffffff) goto LAB_001336a6;\n            uVar9 = (ulong)uVar15;\n          }" if (parenthesized_expression "(DAT_001e3c30 == 0)" ( (binary_expression "DAT_001e3c30 == 0" identifier == number_literal) )) (compound_statement "{\n            if (DAT_001e3c24 != uVar15 + 2) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c65,"build_modrm_byte");\n            }\n            uVar9 = (ulong)(uVar15 + 1);\n            uVar15 = uVar15 + 1;\n          }" { (if_statement "if (DAT_001e3c24 != uVar15 + 2) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c65,"build_modrm_byte");\n            }" if (parenthesized_expression "(DAT_001e3c24 != uVar15 + 2)" ( (binary_expression "DAT_001e3c24 != uVar15 + 2" identifier != (binary_expression "uVar15 + 2" identifier + number_literal)) )) (compound_statement "{\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c65,"build_modrm_byte");\n            }" { (expression_statement "FUN_0011dd00("../../gas/config/tc-i386.c",0x1c65,"build_modrm_byte");" (call_expression "FUN_0011dd00("../../gas/config/tc-i386.c",0x1c65,"build_modrm_byte")" identifier (argument_list "("../../gas/config/tc-i386.c",0x1c65,"build_modrm_byte")" ( (string_literal ""../../gas/config/tc-i386.c"" " string_content ") , number_literal , (string_literal ""build_modrm_byte"" " string_content ") ))) ;) })) (expression_statement "uVar9 = (ulong)(uVar15 + 1);" (assignment_expression "uVar9 = (ulong)(uVar15 + 1)" identifier = (call_expression "(ulong)(uVar15 + 1)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar15 + 1)" ( (binary_expression "uVar15 + 1" identifier + number_literal) )))) ;) (expression_statement "uVar15 = uVar15 + 1;" (assignment_expression "uVar15 = uVar15 + 1" identifier = (binary_expression "uVar15 + 1" identifier + number_literal)) ;) }) (else_clause "else {\n            if ((DAT_001e3c34 + 2 <= uVar15) || (DAT_001e3c24 != DAT_001e3c34 + 2)) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c6c,"build_modrm_byte");\n            }\n            uVar15 = DAT_001e3c34 + 1;\n            if (uVar15 == 0xffffffff) goto LAB_001336a6;\n            uVar9 = (ulong)uVar15;\n          }" else (compound_statement "{\n            if ((DAT_001e3c34 + 2 <= uVar15) || (DAT_001e3c24 != DAT_001e3c34 + 2)) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c6c,"build_modrm_byte");\n            }\n            uVar15 = DAT_001e3c34 + 1;\n            if (uVar15 == 0xffffffff) goto LAB_001336a6;\n            uVar9 = (ulong)uVar15;\n          }" { (if_statement "if ((DAT_001e3c34 + 2 <= uVar15) || (DAT_001e3c24 != DAT_001e3c34 + 2)) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c6c,"build_modrm_byte");\n            }" if (parenthesized_expression "((DAT_001e3c34 + 2 <= uVar15) || (DAT_001e3c24 != DAT_001e3c34 + 2))" ( (binary_expression "(DAT_001e3c34 + 2 <= uVar15) || (DAT_001e3c24 != DAT_001e3c34 + 2)" (parenthesized_expression "(DAT_001e3c34 + 2 <= uVar15)" ( (binary_expression "DAT_001e3c34 + 2 <= uVar15" (binary_expression "DAT_001e3c34 + 2" identifier + number_literal) <= identifier) )) || (parenthesized_expression "(DAT_001e3c24 != DAT_001e3c34 + 2)" ( (binary_expression "DAT_001e3c24 != DAT_001e3c34 + 2" identifier != (binary_expression "DAT_001e3c34 + 2" identifier + number_literal)) ))) )) (compound_statement "{\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c6c,"build_modrm_byte");\n            }" { (expression_statement "FUN_0011dd00("../../gas/config/tc-i386.c",0x1c6c,"build_modrm_byte");" (call_expression "FUN_0011dd00("../../gas/config/tc-i386.c",0x1c6c,"build_modrm_byte")" identifier (argument_list "("../../gas/config/tc-i386.c",0x1c6c,"build_modrm_byte")" ( (string_literal ""../../gas/config/tc-i386.c"" " string_content ") , number_literal , (string_literal ""build_modrm_byte"" " string_content ") ))) ;) })) (expression_statement "uVar15 = DAT_001e3c34 + 1;" (assignment_expression "uVar15 = DAT_001e3c34 + 1" identifier = (binary_expression "DAT_001e3c34 + 1" identifier + number_literal)) ;) (if_statement "if (uVar15 == 0xffffffff) goto LAB_001336a6;" if (parenthesized_expression "(uVar15 == 0xffffffff)" ( (binary_expression "uVar15 == 0xffffffff" identifier == number_literal) )) (goto_statement "goto LAB_001336a6;" goto statement_identifier ;)) (expression_statement "uVar9 = (ulong)uVar15;" (assignment_expression "uVar9 = (ulong)uVar15" identifier = (cast_expression "(ulong)uVar15" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) }))) (goto_statement "goto LAB_00133e49;" goto statement_identifier ;) })) (if_statement "if (DAT_001e3c24 <= uVar15) {\n                    \n          FUN_0011dd00("../../gas/config/tc-i386.c",0x1c71,"build_modrm_byte");\n        }" if (parenthesized_expression "(DAT_001e3c24 <= uVar15)" ( (binary_expression "DAT_001e3c24 <= uVar15" identifier <= identifier) )) (compound_statement "{\n                    \n          FUN_0011dd00("../../gas/config/tc-i386.c",0x1c71,"build_modrm_byte");\n        }" { (expression_statement "FUN_0011dd00("../../gas/config/tc-i386.c",0x1c71,"build_modrm_byte");" (call_expression "FUN_0011dd00("../../gas/config/tc-i386.c",0x1c71,"build_modrm_byte")" identifier (argument_list "("../../gas/config/tc-i386.c",0x1c71,"build_modrm_byte")" ( (string_literal ""../../gas/config/tc-i386.c"" " string_content ") , number_literal , (string_literal ""build_modrm_byte"" " string_content ") ))) ;) })) (labeled_statement "LAB_001336a6:\n        if (DAT_001e3bd0 == 0xffff) {\n          DAT_001e3cf0 = (uint)*(byte *)((&DAT_001e3c60)[uVar20] + 0x11);\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar20] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 4;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 4;\n          }\n          if (DAT_001e3c30 == 0) {\n            DAT_001e3cf4 = 3;\n            return puVar10;\n          }\n          return puVar10;\n        }" statement_identifier : (if_statement "if (DAT_001e3bd0 == 0xffff) {\n          DAT_001e3cf0 = (uint)*(byte *)((&DAT_001e3c60)[uVar20] + 0x11);\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar20] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 4;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 4;\n          }\n          if (DAT_001e3c30 == 0) {\n            DAT_001e3cf4 = 3;\n            return puVar10;\n          }\n          return puVar10;\n        }" if (parenthesized_expression "(DAT_001e3bd0 == 0xffff)" ( (binary_expression "DAT_001e3bd0 == 0xffff" identifier == number_literal) )) (compound_statement "{\n          DAT_001e3cf0 = (uint)*(byte *)((&DAT_001e3c60)[uVar20] + 0x11);\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar20] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 4;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 4;\n          }\n          if (DAT_001e3c30 == 0) {\n            DAT_001e3cf4 = 3;\n            return puVar10;\n          }\n          return puVar10;\n        }" { (expression_statement "DAT_001e3cf0 = (uint)*(byte *)((&DAT_001e3c60)[uVar20] + 0x11);" (assignment_expression "DAT_001e3cf0 = (uint)*(byte *)((&DAT_001e3c60)[uVar20] + 0x11)" identifier = (binary_expression "(uint)*(byte *)((&DAT_001e3c60)[uVar20] + 0x11)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)((&DAT_001e3c60)[uVar20] + 0x11)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((&DAT_001e3c60)[uVar20] + 0x11)" ( (binary_expression "(&DAT_001e3c60)[uVar20] + 0x11" (subscript_expression "(&DAT_001e3c60)[uVar20]" (parenthesized_expression "(&DAT_001e3c60)" ( (pointer_expression "&DAT_001e3c60" & identifier) )) [ identifier ]) + number_literal) ))))) ;) (expression_statement "bVar21 = *(byte *)((&DAT_001e3c60)[uVar20] + 0x10);" (assignment_expression "bVar21 = *(byte *)((&DAT_001e3c60)[uVar20] + 0x10)" identifier = (pointer_expression "*(byte *)((&DAT_001e3c60)[uVar20] + 0x10)" * (cast_expression "(byte *)((&DAT_001e3c60)[uVar20] + 0x10)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((&DAT_001e3c60)[uVar20] + 0x10)" ( (binary_expression "(&DAT_001e3c60)[uVar20] + 0x10" (subscript_expression "(&DAT_001e3c60)[uVar20]" (parenthesized_expression "(&DAT_001e3c60)" ( (pointer_expression "&DAT_001e3c60" & identifier) )) [ identifier ]) + number_literal) ))))) ;) (if_statement "if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 4;\n          }" if (parenthesized_expression "((bVar21 & 1) != 0)" ( (binary_expression "(bVar21 & 1) != 0" (parenthesized_expression "(bVar21 & 1)" ( (binary_expression "bVar21 & 1" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n            DAT_001e3cf8 = DAT_001e3cf8 | 4;\n          }" { (expression_statement "DAT_001e3cf8 = DAT_001e3cf8 | 4;" (assignment_expression "DAT_001e3cf8 = DAT_001e3cf8 | 4" identifier = (binary_expression "DAT_001e3cf8 | 4" identifier | number_literal)) ;) })) (if_statement "if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 4;\n          }" if (parenthesized_expression "((bVar21 & 4) != 0)" ( (binary_expression "(bVar21 & 4) != 0" (parenthesized_expression "(bVar21 & 4)" ( (binary_expression "bVar21 & 4" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n            DAT_001e3cfc = DAT_001e3cfc | 4;\n          }" { (expression_statement "DAT_001e3cfc = DAT_001e3cfc | 4;" (assignment_expression "DAT_001e3cfc = DAT_001e3cfc | 4" identifier = (binary_expression "DAT_001e3cfc | 4" identifier | number_literal)) ;) })) (if_statement "if (DAT_001e3c30 == 0) {\n            DAT_001e3cf4 = 3;\n            return puVar10;\n          }" if (parenthesized_expression "(DAT_001e3c30 == 0)" ( (binary_expression "DAT_001e3c30 == 0" identifier == number_literal) )) (compound_statement "{\n            DAT_001e3cf4 = 3;\n            return puVar10;\n          }" { (expression_statement "DAT_001e3cf4 = 3;" (assignment_expression "DAT_001e3cf4 = 3" identifier = number_literal) ;) (return_statement "return puVar10;" return identifier ;) })) (return_statement "return puVar10;" return identifier ;) }))) (expression_statement "DAT_001e3cec = (uint)*(byte *)((&DAT_001e3c60)[uVar20] + 0x11);" (assignment_expression "DAT_001e3cec = (uint)*(byte *)((&DAT_001e3c60)[uVar20] + 0x11)" identifier = (binary_expression "(uint)*(byte *)((&DAT_001e3c60)[uVar20] + 0x11)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)((&DAT_001e3c60)[uVar20] + 0x11)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((&DAT_001e3c60)[uVar20] + 0x11)" ( (binary_expression "(&DAT_001e3c60)[uVar20] + 0x11" (subscript_expression "(&DAT_001e3c60)[uVar20]" (parenthesized_expression "(&DAT_001e3c60)" ( (pointer_expression "&DAT_001e3c60" & identifier) )) [ identifier ]) + number_literal) ))))) ;) (expression_statement "bVar21 = *(byte *)((&DAT_001e3c60)[uVar20] + 0x10);" (assignment_expression "bVar21 = *(byte *)((&DAT_001e3c60)[uVar20] + 0x10)" identifier = (pointer_expression "*(byte *)((&DAT_001e3c60)[uVar20] + 0x10)" * (cast_expression "(byte *)((&DAT_001e3c60)[uVar20] + 0x10)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((&DAT_001e3c60)[uVar20] + 0x10)" ( (binary_expression "(&DAT_001e3c60)[uVar20] + 0x10" (subscript_expression "(&DAT_001e3c60)[uVar20]" (parenthesized_expression "(&DAT_001e3c60)" ( (pointer_expression "&DAT_001e3c60" & identifier) )) [ identifier ]) + number_literal) ))))) ;) (if_statement "if ((bVar21 & 1) != 0) {\n          DAT_001e3cf8 = DAT_001e3cf8 | 1;\n        }" if (parenthesized_expression "((bVar21 & 1) != 0)" ( (binary_expression "(bVar21 & 1) != 0" (parenthesized_expression "(bVar21 & 1)" ( (binary_expression "bVar21 & 1" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n          DAT_001e3cf8 = DAT_001e3cf8 | 1;\n        }" { (expression_statement "DAT_001e3cf8 = DAT_001e3cf8 | 1;" (assignment_expression "DAT_001e3cf8 = DAT_001e3cf8 | 1" identifier = (binary_expression "DAT_001e3cf8 | 1" identifier | number_literal)) ;) })) (if_statement "if ((bVar21 & 4) != 0) {\n          DAT_001e3cfc = DAT_001e3cfc | 1;\n        }" if (parenthesized_expression "((bVar21 & 4) != 0)" ( (binary_expression "(bVar21 & 4) != 0" (parenthesized_expression "(bVar21 & 4)" ( (binary_expression "bVar21 & 4" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n          DAT_001e3cfc = DAT_001e3cfc | 1;\n        }" { (expression_statement "DAT_001e3cfc = DAT_001e3cfc | 1;" (assignment_expression "DAT_001e3cfc = DAT_001e3cfc | 1" identifier = (binary_expression "DAT_001e3cfc | 1" identifier | number_literal)) ;) })) (if_statement "if (DAT_001e3c30 != 0) {\n          DAT_001e3cf0 = DAT_001e3bd0;\n          return puVar10;\n        }" if (parenthesized_expression "(DAT_001e3c30 != 0)" ( (binary_expression "DAT_001e3c30 != 0" identifier != number_literal) )) (compound_statement "{\n          DAT_001e3cf0 = DAT_001e3bd0;\n          return puVar10;\n        }" { (expression_statement "DAT_001e3cf0 = DAT_001e3bd0;" (assignment_expression "DAT_001e3cf0 = DAT_001e3bd0" identifier = identifier) ;) (return_statement "return puVar10;" return identifier ;) })) }))) (expression_statement "DAT_001e3cf4 = 3;" (assignment_expression "DAT_001e3cf4 = 3" identifier = number_literal) ;) (goto_statement "goto LAB_001330bc;" goto statement_identifier ;) })) (expression_statement "DAT_001e3d18 = DAT_001e3c70;" (assignment_expression "DAT_001e3d18 = DAT_001e3c70" identifier = identifier) ;) (if_statement "if (DAT_001e3c30 != 0) goto LAB_001330bc;" if (parenthesized_expression "(DAT_001e3c30 != 0)" ( (binary_expression "DAT_001e3c30 != 0" identifier != number_literal) )) (goto_statement "goto LAB_001330bc;" goto statement_identifier ;)) (expression_statement "bVar21 = *(byte *)(DAT_001e3c68 + 0x11);" (assignment_expression "bVar21 = *(byte *)(DAT_001e3c68 + 0x11)" identifier = (pointer_expression "*(byte *)(DAT_001e3c68 + 0x11)" * (cast_expression "(byte *)(DAT_001e3c68 + 0x11)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_001e3c68 + 0x11)" ( (binary_expression "DAT_001e3c68 + 0x11" identifier + number_literal) ))))) ;) (expression_statement "bVar19 = *(byte *)(DAT_001e3c68 + 0x10);" (assignment_expression "bVar19 = *(byte *)(DAT_001e3c68 + 0x10)" identifier = (pointer_expression "*(byte *)(DAT_001e3c68 + 0x10)" * (cast_expression "(byte *)(DAT_001e3c68 + 0x10)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_001e3c68 + 0x10)" ( (binary_expression "DAT_001e3c68 + 0x10" identifier + number_literal) ))))) ;) })))) (expression_statement "DAT_001e3cec = (uint)bVar21;" (assignment_expression "DAT_001e3cec = (uint)bVar21" identifier = (cast_expression "(uint)bVar21" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "DAT_001e3cf4 = 3;" (assignment_expression "DAT_001e3cf4 = 3" identifier = number_literal) ;) (if_statement "if ((bVar19 & 1) != 0) {\n    DAT_001e3cf4 = 3;\n    DAT_001e3cf8 = DAT_001e3cf8 | 1;\n  }" if (parenthesized_expression "((bVar19 & 1) != 0)" ( (binary_expression "(bVar19 & 1) != 0" (parenthesized_expression "(bVar19 & 1)" ( (binary_expression "bVar19 & 1" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n    DAT_001e3cf4 = 3;\n    DAT_001e3cf8 = DAT_001e3cf8 | 1;\n  }" { (expression_statement "DAT_001e3cf4 = 3;" (assignment_expression "DAT_001e3cf4 = 3" identifier = number_literal) ;) (expression_statement "DAT_001e3cf8 = DAT_001e3cf8 | 1;" (assignment_expression "DAT_001e3cf8 = DAT_001e3cf8 | 1" identifier = (binary_expression "DAT_001e3cf8 | 1" identifier | number_literal)) ;) })) (labeled_statement "LAB_001330bc:\n  if (DAT_001e3bd0 != 0xffff) {\n    DAT_001e3cf0 = DAT_001e3bd0;\n    return puVar10;\n  }" statement_identifier : (if_statement "if (DAT_001e3bd0 != 0xffff) {\n    DAT_001e3cf0 = DAT_001e3bd0;\n    return puVar10;\n  }" if (parenthesized_expression "(DAT_001e3bd0 != 0xffff)" ( (binary_expression "DAT_001e3bd0 != 0xffff" identifier != number_literal) )) (compound_statement "{\n    DAT_001e3cf0 = DAT_001e3bd0;\n    return puVar10;\n  }" { (expression_statement "DAT_001e3cf0 = DAT_001e3bd0;" (assignment_expression "DAT_001e3cf0 = DAT_001e3bd0" identifier = identifier) ;) (return_statement "return puVar10;" return identifier ;) }))) (return_statement "return puVar10;" return identifier ;) })))
(translation_unit (function_definition TYPE (pointer_declarator * (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE) )))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration (sized_type_specifier long) 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 (sized_type_specifier long) 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 = (binary_expression IDENT & LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (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 IDENT != LIT) || (parenthesized_expression ( (binary_expression IDENT != LIT) ))) )) ))) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_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 (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ (binary_expression IDENT * LIT) ]) & LIT) )) == LIT) ))) )) ))) )) ))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (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 IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT + LIT) )))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ IDENT ]) = (cast_expression ( (type_descriptor (sized_type_specifier long)) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression IDENT * LIT)) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) (pointer_expression & IDENT)) + (binary_expression IDENT * LIT)) + LIT) )))) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ (binary_expression IDENT * LIT) ]) & LIT) )) == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (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 (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ IDENT ]) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ IDENT ]) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (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 = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (parenthesized_expression ( (binary_expression IDENT + LIT) )) * LIT) )))) ;) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT << LIT) )))) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) || (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (field_expression IDENT . field_identifier) & LIT) )) == LIT) ))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (binary_expression (field_expression IDENT . field_identifier) | LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - LIT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - LIT) )))) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ (binary_expression IDENT * LIT) ]) & LIT) )) == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ IDENT ]) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ IDENT ]) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (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 = (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ IDENT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (parenthesized_expression ( (binary_expression IDENT + LIT) )) * LIT) ))) | (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT << LIT) ))) | (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 (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT) ]) & LIT) )) == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ IDENT ])) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT >> LIT) & LIT) )) < LIT) )) (compound_statement { (labeled_statement 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 ( (parenthesized_expression ( (binary_expression (binary_expression IDENT != LIT) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (field_expression IDENT . field_identifier) & LIT) )) == LIT) ))) )) ))) )) ))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) }))) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (field_expression IDENT . field_identifier) & LIT) )) != LIT) || (binary_expression (parenthesized_expression ( (binary_expression (field_expression IDENT . field_identifier) & LIT) )) != LIT)) )))) ;) (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 = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (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 : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (field_expression IDENT . field_identifier) & LIT) )) == LIT) )) || (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (field_expression IDENT . field_identifier) & LIT) )) == LIT) ))) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (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 ( (binary_expression IDENT != LIT) ))) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (field_expression IDENT . field_identifier) & LIT) )) == LIT) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (field_expression IDENT . field_identifier) & LIT) )) == LIT) ))) )) && (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 ") ))) ;)) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (parenthesized_expression ( (binary_expression (field_expression IDENT . field_identifier) & LIT) )) != LIT) )))) ;) }))) (expression_statement (assignment_expression IDENT = LIT) ;) })))))) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == IDENT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (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 (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ (binary_expression IDENT * LIT) ]) & LIT) )) != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (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 (sized_type_specifier long)) ) (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 <= IDENT) )) || (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 (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT) )))) && (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) ))) )) ))) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT & LIT) )))) || (parenthesized_expression ( (binary_expression IDENT != (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ (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 ") ))) ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ IDENT ])) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) }))) (labeled_statement statement_identifier : (expression_statement (assignment_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 (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) (pointer_expression & IDENT)) + (binary_expression (parenthesized_expression ( (binary_expression IDENT + LIT) )) * 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 (sized_type_specifier long)) ) (pointer_expression & IDENT)) + (binary_expression (parenthesized_expression ( (binary_expression IDENT + LIT) )) * LIT)) + LIT) )))) & 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 (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ IDENT ]) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ IDENT ]) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ 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)) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ 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)) ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ IDENT ]) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ IDENT ]) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ 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)) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ 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 (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & 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 (pointer_expression & IDENT) + (binary_expression (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression IDENT >> LIT) & LIT) ))) + LIT) )) * LIT)) )))) & LIT) )) == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) (return_statement return (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (return_statement return (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) ;) })) }) (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 IDENT & LIT) )) == LIT) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) && (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (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 IDENT != LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;)) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) || (parenthesized_expression ( (binary_expression LIT < IDENT) ))) )) || (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (field_expression IDENT . field_identifier) & LIT) )) == LIT) ))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (field_expression IDENT . field_identifier) & LIT) )) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (field_expression IDENT . field_identifier) & LIT) )) == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }))) }))) (goto_statement goto statement_identifier ;) })))))) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) 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 ") ))) ;)) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (field_expression IDENT . field_identifier) & 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 <= (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression & IDENT) + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) & LIT) )) == LIT) )) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (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 = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (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 IDENT + LIT) )))) + LIT) ))) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (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 (sized_type_specifier long)) ) (pointer_expression & IDENT)) + IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT == LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) (pointer_expression & IDENT)) + IDENT) + LIT) )))) = (binary_expression IDENT & LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( IDENT )) && (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) ))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) (pointer_expression & IDENT)) + IDENT) + LIT) )))) = (binary_expression (binary_expression IDENT & LIT) | LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) (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 (sized_type_specifier long)) ) (pointer_expression & IDENT)) + (binary_expression IDENT * LIT)) + LIT) )))) & LIT) | LIT)) ;) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) (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)) ;) })) (goto_statement goto statement_identifier ;) })) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement 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 ") ))) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) == (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }))))) (expression_statement (assignment_expression IDENT = (unary_expression ~ IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + IDENT) )))) = (binary_expression (binary_expression (binary_expression (binary_expression IDENT << LIT) | (binary_expression IDENT << LIT)) | (binary_expression IDENT << LIT)) | (binary_expression (unary_expression ~ IDENT) & (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + IDENT) ))))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) (pointer_expression & IDENT)) + (binary_expression IDENT * LIT)) + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (pointer_expression * IDENT) & IDENT)) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;))) }) (else_clause else (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 (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT + LIT) ))) < LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (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 (sized_type_specifier long)) ) (pointer_expression & IDENT)) + IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT == LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) (pointer_expression & IDENT)) + IDENT) + LIT) )))) = (binary_expression IDENT & LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( IDENT )) && (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) ))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) (pointer_expression & IDENT)) + IDENT) + LIT) )))) = (binary_expression (binary_expression IDENT & LIT) | LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) (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 (sized_type_specifier long)) ) (pointer_expression & IDENT)) + (binary_expression IDENT * LIT)) + LIT) )))) & LIT) | LIT)) ;) }))) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( IDENT , IDENT ))))) ;) (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) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT | LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) (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 *)) ) (parenthesized_expression ( (binary_expression 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 (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) (pointer_expression & IDENT)) + (binary_expression (parenthesized_expression ( (binary_expression IDENT + LIT) )) * LIT)) + LIT) )))) & LIT) )) != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (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 (sized_type_specifier long)) ) (pointer_expression & IDENT)) + IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) (pointer_expression & IDENT)) + IDENT) + LIT) )))) = (binary_expression IDENT & LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) (pointer_expression & IDENT)) + IDENT) + LIT) )))) = (binary_expression IDENT | LIT)) ;) }) (else_clause else (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 (sized_type_specifier long)) ) (pointer_expression & IDENT)) + IDENT) + LIT) )))) = (binary_expression IDENT | LIT)) ;) }))) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) })) (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 LIT < (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT - LIT) )))) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT | LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (cast_expression ( (type_descriptor TYPE) ) IDENT) )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = LIT) , (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 *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) (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 = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , IDENT )))) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_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 (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (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 = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (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 == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression IDENT != LIT)) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) (pointer_expression & IDENT)) + (binary_expression IDENT * LIT)) + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (pointer_expression * IDENT) | LIT)) ;) }) (else_clause else (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 (sized_type_specifier long)) ) (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 = LIT) ;) }))) })) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ IDENT ]) == LIT) )) || (parenthesized_expression ( (binary_expression (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ IDENT ]) == LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })))) }) (else_clause else (compound_statement { (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 ") ))) ;) })) (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)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (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 (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) (pointer_expression & IDENT)) + (binary_expression (parenthesized_expression ( (binary_expression IDENT + LIT) )) * LIT)) + LIT) )))) & LIT) )) == LIT) )) (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 (sized_type_specifier long)) ) (pointer_expression & IDENT)) + (binary_expression (parenthesized_expression ( (binary_expression IDENT + LIT) )) * LIT)) + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (pointer_expression * IDENT) | LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) })) }) (else_clause else (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)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) }))))) }))) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (subscript_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (pointer_expression & IDENT) ))) [ IDENT ]) >> LIT) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ 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 ") ))) ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) (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 (sized_type_specifier long)) ) (pointer_expression & IDENT)) + (binary_expression IDENT * LIT)) + LIT) )))) & LIT) | LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ IDENT ]) = (binary_expression (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ IDENT ]) | LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ (binary_expression IDENT + LIT) ]) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT * LIT)) ;) (expression_statement (assignment_expression (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ (binary_expression IDENT + LIT) ]) = (binary_expression (pointer_expression & IDENT) + IDENT)) ;) (expression_statement (assignment_expression (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ IDENT ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + IDENT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + IDENT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + IDENT) )))) = LIT) ;) }))) (expression_statement (assignment_expression IDENT = (binary_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 (parenthesized_expression ( (binary_expression (field_expression IDENT . field_identifier) & LIT) )) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) }))) }) (else_clause else (compound_statement { (expression_statement (assignment_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 IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) (else_clause else (compound_statement { (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 = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (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 (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) != LIT) ))) )) || (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) != LIT) ))) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) != LIT) || (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (field_expression IDENT . field_identifier) & LIT) )) != 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 (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (parenthesized_expression ( (binary_expression IDENT + LIT) )) * LIT)) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (char_literal ' escape_sequence ')) )) || (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 (sized_type_specifier long)) ) (pointer_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 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (parenthesized_expression ( (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 ( (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) (pointer_expression & IDENT)) + (binary_expression (parenthesized_expression ( (binary_expression IDENT + LIT) )) * 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 (pointer_expression & IDENT) + IDENT) )))) & LIT) )) != LIT) ))) )) ))) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) })) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (goto_statement goto statement_identifier ;))) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) }) (else_clause else (if_statement if (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 (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ (binary_expression IDENT * LIT) ]) & LIT) )) != LIT) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT <= (binary_expression IDENT + LIT)) )) || (parenthesized_expression ( (binary_expression IDENT != IDENT) ))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT + LIT) )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) }))))) (labeled_statement statement_identifier : (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 (sized_type_specifier long)) ) (pointer_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 IDENT & LIT) )) == LIT) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression LIT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) (pointer_expression & IDENT)) + (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 (pointer_expression & IDENT) + (binary_expression IDENT * LIT)) )))) & LIT) )) == LIT) ))) )) ))) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) && (parenthesized_expression ( (parenthesized_expression ( (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)) )))) != IDENT) || (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)) )))) != IDENT) ))) )) ))) )) ))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ IDENT ])) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (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 { (if_statement if (parenthesized_expression ( (binary_expression IDENT != (binary_expression IDENT + LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) <= IDENT) )) || (parenthesized_expression ( (binary_expression IDENT != (binary_expression IDENT + LIT)) ))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) }))) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (labeled_statement statement_identifier : (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 (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ IDENT ]) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ 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 == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (return_statement return IDENT ;) })) (return_statement return IDENT ;) }))) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ IDENT ]) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ 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 != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (return_statement return IDENT ;) })) }))) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (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) ))))) ;) (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 = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT | LIT)) ;) })) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (return_statement return IDENT ;) }))) (return_statement return IDENT ;) })))
(function_definition "undefined1 * FUN_00132fc0(void)\n\n{\n  uint *puVar1;\n  long lVar2;\n  ulong *puVar3;\n  long lVar4;\n  byte *pbVar5;\n  char cVar6;\n  byte bVar7;\n  int iVar8;\n  ulong uVar9;\n  undefined1 *puVar10;\n  ulong uVar11;\n  byte bVar12;\n  long lVar13;\n  byte bVar14;\n  uint uVar15;\n  int iVar16;\n  uint uVar17;\n  ulong uVar18;\n  byte bVar19;\n  ulong uVar20;\n  byte bVar21;\n  uint uVar22;\n  uint uVar23;\n  bool bVar24;\n  \n  bVar21 = DAT_001e3bee;\n  uVar18 = 0;\n  uVar20 = 0;\n  bVar19 = DAT_001e3bee & 0xc;\n  if (bVar19 == 8) {\n    uVar22 = DAT_001e3c24 - 1;\n    uVar18 = (ulong)uVar22;\n    uVar15 = DAT_001e3c24 - 2;\n    if (((DAT_001e3c28 != 4) && ((DAT_001e3c28 != 3 || (DAT_001e3c30 != 1)))) ||\n       (((DAT_001e3bed & 0x18) != 8 ||\n        (((DAT_001e3bed & 0x60) == 0 || (((&DAT_001e3bf4)[uVar18 * 8] & 4) == 0)))))) {\n                    \n      FUN_0011dd00("../../gas/config/tc-i386.c",0x1a12,"build_modrm_byte");\n    }\n    uVar9 = (ulong)DAT_001e3c34;\n    uVar20 = (ulong)(DAT_001e3c34 + 1);\n    if ((DAT_001e3bed & 0x60) == 0x40) {\n      uVar20 = (ulong)DAT_001e3c34;\n      uVar9 = (ulong)(DAT_001e3c34 + 1);\n    }\n    if (DAT_001e3c34 == 0) {\n      uVar11 = (ulong)DAT_001e3c24;\n      DAT_001e3c24 = DAT_001e3c24 + 1;\n      DAT_001e3c34 = 1;\n      (&DAT_001e3c60)[uVar11] = (long)&DAT_001e3b20;\n      lVar13 = uVar11 + 0xe;\n      *(undefined8 *)(&DAT_001e3bc8 + lVar13 * 2) = 0;\n      *(undefined1 *)((long)&DAT_001e3bc8 + lVar13 * 8 + 1) = 4;\n      if (((&DAT_001e3bf4)[uVar9 * 8] & 4) == 0) {\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a2a,"build_modrm_byte");\n      }\n      DAT_001e3b38 = 2;\n      bVar14 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10);\n      bVar7 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x11);\n      uVar22 = (uint)bVar7;\n      if ((bVar14 & 1) != 0) {\n        uVar22 = bVar7 + 8;\n      }\n      if ((bVar14 & 4) != 0) {\n        _DAT_001e3b30 = (ulong)((uVar22 + 0x10) * 0x10);\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a2d,"build_modrm_byte");\n      }\n      _DAT_001e3b30 = (ulong)(uVar22 << 4);\n    }\n    else {\n      if ((DAT_001e3c34 != 1) || ((DAT_001e3c38._5_1_ & 1) == 0)) {\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a33,"build_modrm_byte");\n      }\n      if ((DAT_001e3bec & 0x20) == 0) {\n        DAT_001e3c38._1_1_ = DAT_001e3c38._1_1_ | 4;\n        uVar22 = 0;\n      }\n      else {\n        uVar20 = (ulong)((int)uVar20 - 1);\n        uVar9 = (ulong)((int)uVar9 - 1);\n      }\n      if (((&DAT_001e3bf4)[uVar9 * 8] & 4) == 0) {\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a45,"build_modrm_byte");\n      }\n      bVar14 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10);\n      bVar7 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x11);\n      uVar17 = (uint)bVar7;\n      if ((bVar14 & 1) != 0) {\n        uVar17 = bVar7 + 8;\n      }\n      lVar13 = (&DAT_001e3c60)[uVar22];\n      if ((bVar14 & 4) != 0) {\n        *(ulong *)(lVar13 + 0x10) = (ulong)((uVar17 + 0x10) * 0x10) | *(ulong *)(lVar13 + 0x10);\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a48,"build_modrm_byte");\n      }\n      *(ulong *)(lVar13 + 0x10) = (ulong)(uVar17 << 4) | *(ulong *)(lVar13 + 0x10);\n    }\n    if (((&DAT_001e3bf4)[(ulong)uVar15 * 8] & 4) == 0) {\n                    \n      FUN_0011dd00("../../gas/config/tc-i386.c",0x1a4b,"build_modrm_byte");\n    }\n    DAT_001e3d18 = (&DAT_001e3c60)[uVar15];\n  }\n  lVar2 = DAT_001e3cb8;\n  lVar13 = DAT_001e3cb0;\n  uVar9 = (ulong)DAT_001e3c30;\n  bVar14 = bVar19;\n  if (DAT_001e3c30 == 0) {\n    if (DAT_001e3c28 == 2) {\n      if ((DAT_001e3bed >> 3 & 3) < 2) {\nLAB_0013335b:\n        if (DAT_001e3c24 == 3) {\nLAB_00133ea8:\n          if ((DAT_001e3c34 != 1) &&\n             ((DAT_001e3c34 != 0 ||\n              (((DAT_001e3bed & 0x18) != 8 && ((DAT_001e3c38._3_1_ & 1) == 0)))))) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1a6b,"build_modrm_byte");\n          }\n          uVar9 = (ulong)((DAT_001e3c38._1_1_ & 0xfc) != 0 || (DAT_001e3c38._3_1_ & 1) != 0);\n          uVar22 = 3;\n        }\n        else if (DAT_001e3c24 < 4) {\n          uVar22 = DAT_001e3c24;\n          if (DAT_001e3c24 != 2) goto LAB_00133dcf;\n        }\n        else {\n          if (DAT_001e3c24 != 4) goto joined_r0x00133753;\nLAB_00133379:\n          uVar9 = (ulong)DAT_001e3c34;\n          if (DAT_001e3c34 == 2) {\n            if (((DAT_001e3c38._1_1_ & 4) == 0) || ((DAT_001e3c40._1_1_ & 4) == 0))\n            goto LAB_00133d61;\n          }\n          else {\n            if ((((DAT_001e3bed & 0x18) != 8) || (DAT_001e3c34 != 1)) ||\n               ((((DAT_001e3c38._1_1_ & 4) == 0 && ((DAT_001e3c50._1_1_ & 4) == 0)) &&\n                (DAT_001e3d28 == 0)))) {\nLAB_00133d61:\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1a81,"build_modrm_byte");\n            }\n            uVar9 = (ulong)((DAT_001e3c38._1_1_ & 4) != 0);\n          }\n          uVar22 = 4;\n        }\nLAB_001337c1:\n        if (bVar19 != 8) {\n          uVar15 = (int)uVar9 + 1;\n          uVar18 = (ulong)uVar15;\n          if ((DAT_001e3d28 != 0) && (*(uint *)(DAT_001e3d28 + 4) == uVar15)) {\n            uVar18 = (ulong)((int)uVar9 + 2);\n          }\n          if ((DAT_001e3bed & 0x18) == 8) {\n            uVar20 = uVar9;\n            uVar11 = uVar18;\n            if ((((&DAT_001e3bf6)[uVar9 * 8] & 0x40) == 0) &&\n               (((&DAT_001e3bf6)[uVar18 * 8] & 0x40) != 0)) {\n              uVar20 = uVar18;\n              uVar11 = uVar9;\n            }\n            uVar15 = (int)uVar18 + 1;\n            uVar18 = (ulong)uVar15;\n            uVar9 = *(ulong *)((long)&DAT_001e3bc0 + (uVar11 + 6) * 8 + 4);\n            if ((uVar22 <= uVar15) ||\n               ((((uVar9 & 1) == 0 ||\n                 ((-1 < (char)((uVar9 & 0xfffffffff7ffffff) >> 0x18) &&\n                  (((&DAT_001e3bc8)[(uVar11 + 6) * 2] & 2) == 0)))) &&\n                (((uVar9 & 4) == 0 &&\n                 ((DAT_00153a50 != (int)(uVar9 & 0xfffffffff7ffffff) ||\n                  (DAT_00153a54 != (&DAT_001e3bc8)[(uVar11 + 6) * 2])))))))) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1ac9,"build_modrm_byte");\n            }\n            DAT_001e3d18 = (&DAT_001e3c60)[uVar11];\n            uVar9 = uVar20;\n          }\n        }\nLAB_001337ff:\n        DAT_001e3cf4 = 3;\n        if (((*(byte *)((long)&DAT_001e3bc0 + (uVar18 + 6) * 8 + 7) & 8) == 0) &&\n           ((*(ulong *)((long)&DAT_001e3bc0 + (uVar18 + 6) * 8 + 4) & 0x5f0000) == 0)) {\n          DAT_001e3cf0 = (uint)*(byte *)((&DAT_001e3c60)[uVar18] + 0x11);\n          DAT_001e3cec = (uint)*(byte *)((&DAT_001e3c60)[uVar9] + 0x11);\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar18] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 4;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 4;\n          }\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 1;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 1;\n          }\n        }\n        else {\n          DAT_001e3cf0 = (uint)*(byte *)((&DAT_001e3c60)[uVar9] + 0x11);\n          DAT_001e3cec = (uint)*(byte *)((&DAT_001e3c60)[uVar18] + 0x11);\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar18] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 1;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 1;\n          }\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 4;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 4;\n          }\n        }\n        if ((DAT_001e3b14 != 2) && ((DAT_001e3cf8 & 4) != 0)) {\n          if ((*(byte *)(&DAT_001e3bc8 + ((ulong)(DAT_001e3bf7 >> 3 & 1) + 0xe) * 2) & 0x10) == 0) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1af4,"build_modrm_byte");\n          }\n          DAT_001e3cf8 = DAT_001e3cf8 & 0xfffffffb;\n          FUN_00131f90(0xf0);\n          return (undefined1 *)0x0;\n        }\n        DAT_001e3cf4 = 3;\n        return (undefined1 *)0x0;\n      }\n    }\n    else if (DAT_001e3c28 == 3) {\n      if ((DAT_001e3bed & 0x18) == 8) goto LAB_0013335b;\n    }\n    else if ((DAT_001e3c28 == 4) && (bVar19 == 8)) {\n      if (DAT_001e3c24 == 3) goto LAB_00133ea8;\n      if (DAT_001e3c24 < 4) {\n        if (DAT_001e3c24 != 2) goto LAB_00133dcf;\n        goto LAB_001337ff;\n      }\n      if (DAT_001e3c24 == 4) goto LAB_00133379;\njoined_r0x00133753:\n      if (DAT_001e3c24 != 5) {\nLAB_00133dcf:\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1aa0,"build_modrm_byte");\n      }\n      if (DAT_001e3bef == '\0') {\n        uVar9 = uVar20;\n        uVar22 = 5;\n      }\n      else {\n        if (((DAT_001e3c34 != 2) || (-1 < DAT_001e3bef)) || ((DAT_001e3c38._1_1_ & 0xfc) == 0)) {\n                    \n          FUN_0011dd00("../../gas/config/tc-i386.c",0x1a96,"build_modrm_byte");\n        }\n        if ((DAT_001e3c40._1_1_ & 0xfc) == 0) {\n          if ((DAT_001e3c58._1_1_ & 0xfc) == 0) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1a9c,"build_modrm_byte");\n          }\n          uVar9 = 1;\n          uVar22 = 5;\n        }\n        else {\n          uVar9 = (ulong)DAT_001e3c34;\n          uVar22 = 5;\n        }\n      }\n      goto LAB_001337c1;\n    }\n    uVar22 = 0xffffffff;\n    puVar10 = (undefined1 *)0x0;\n  }\n  else {\n    if (DAT_001e3c24 == 0) {\nLAB_0013303b:\n                    \n      FUN_0011dd00("../../gas/config/tc-i386.c",0x1b05,"build_modrm_byte");\n    }\n    if ((DAT_001e3c38._2_1_ & 0x5f) == 0) {\n      uVar9 = 1;\n      do {\n        uVar20 = uVar9 & 0xffffffff;\n        if (DAT_001e3c24 <= (uint)uVar9) goto LAB_0013303b;\n        puVar3 = &DAT_001e3c38 + uVar9;\n        uVar9 = uVar9 + 1;\n      } while ((*puVar3 & 0x5f0000) == 0);\n    }\n    else {\n      uVar20 = 0;\n    }\n    bVar21 = bVar21 & 0x30;\n    uVar22 = (uint)uVar20;\n    if (bVar21 == 0) {\nLAB_0013313d:\n      if (lVar13 != 0) goto LAB_00133146;\nLAB_00133448:\n      lVar13 = DAT_001e3cb8;\n      DAT_001e3cf4 = 0;\n      if (DAT_001e3c2c == 0) {\n        if (DAT_001e3cb8 == 0) {\n          iVar16 = 1;\n          goto LAB_00133cae;\n        }\n        if (bVar21 == 0) {\n          iVar16 = 1;\n          goto LAB_00133af0;\n        }\n        goto LAB_00133a60;\n      }\n      if (DAT_001e3cb8 != 0) {\n        if (bVar21 == 0) {\n          iVar16 = 0;\nLAB_00133af0:\n          uVar15 = (uint)*(byte *)(DAT_001e3cb8 + 0x11);\n          DAT_001e3cec = 4;\n          if ((byte)(*(byte *)(DAT_001e3cb8 + 0x11) + 4) < 2) {\n            uVar15 = 4;\n          }\n          _DAT_001e3d00 = CONCAT44(uVar15,5);\n          DAT_001e3d08 = DAT_001e3cc0;\n          lVar2 = uVar20 * 8;\n          bVar21 = *(byte *)((long)&DAT_001e3c38 + lVar2 + 2);\n          bVar24 = DAT_001e3b14 == 2;\n          *(byte *)((long)&DAT_001e3c38 + lVar2 + 2) = bVar21 & 0xec;\n          if ((bVar24) && (DAT_001e3ce6 == '\0')) {\n            *(byte *)((long)&DAT_001e3c38 + lVar2 + 2) = bVar21 & 0xe0 | 8;\n          }\n          else {\n            *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) =\n                 *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xf3 | 4;\n          }\n          puVar10 = ds;\n          if ((*(byte *)(lVar13 + 0x10) & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 2;\n          }\n          goto LAB_00133b80;\n        }\n        goto LAB_00133424;\n      }\n      iVar16 = 0;\nLAB_00133cae:\n      if (bVar21 != 0) {\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1b33,"build_modrm_byte");\n      }\n      if (DAT_001e3b14 == 2) {\n        DAT_001e3cec = 4;\n        uVar17 = (uint)(DAT_001e3ce6 == '\0');\n        uVar15 = (uint)(DAT_001e3ce6 != '\0');\n        _DAT_001e3d00 = 0x400000005;\n        iVar8 = 0;\n      }\n      else if ((DAT_001e3b14 == 1) == (DAT_001e3ce6 != '\0')) {\n        DAT_001e3cec = 5;\n        uVar17 = 0;\n        uVar15 = 1;\n        iVar8 = 0;\n      }\n      else {\n        DAT_001e3cec = 6;\n        uVar17 = 0;\n        uVar15 = 0;\n        iVar8 = 1;\n      }\n      uVar23 = ~DAT_00153a64;\n      *(uint *)(&DAT_001e3c38 + uVar20) =\n           iVar8 << 0x11 | uVar15 << 0x12 | uVar17 << 0x13 |\n           ~DAT_00153a60 & *(uint *)(&DAT_001e3c38 + uVar20);\n      puVar10 = ds;\n      puVar1 = (uint *)((long)&DAT_001e3c38 + uVar20 * 8 + 4);\n      *puVar1 = *puVar1 & uVar23;\nLAB_00133b80:\n      if (iVar16 != 0) goto LAB_00133a67;\n    }\n    else {\n      cVar6 = *(char *)(DAT_001e3cb8 + 0x11);\n      if ((byte)(cVar6 + 4U) < 2) {\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1b0b,"build_modrm_byte");\n      }\n      DAT_001e3cec = 4;\n      if (DAT_001e3cb0 == 0) {\n        _DAT_001e3d00 = 5;\n        DAT_001e3d08 = DAT_001e3cc0;\n        lVar4 = uVar20 * 8;\n        bVar7 = *(byte *)((long)&DAT_001e3c38 + lVar4 + 2);\n        bVar24 = DAT_001e3b14 == 2;\n        *(byte *)((long)&DAT_001e3c38 + lVar4 + 2) = bVar7 & 0xec;\n        if ((bVar24) && (DAT_001e3ce6 == '\0')) {\n          *(byte *)((long)&DAT_001e3c38 + lVar4 + 2) = bVar7 & 0xe0 | 8;\n        }\n        else {\n          *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) =\n               *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xf3 | 4;\n        }\n      }\n      _DAT_001e3d00 = (ulong)CONCAT14(cVar6,_DAT_001e3d00);\n      if ((*(byte *)(lVar2 + 0x10) & 1) != 0) {\n        DAT_001e3cf8 = DAT_001e3cf8 | 2;\n      }\n      if ((*(byte *)(lVar2 + 0x10) & 4) == 0) goto LAB_0013313d;\n      DAT_001e3cfc = DAT_001e3cfc | 2;\n      if (lVar13 == 0) goto LAB_00133448;\nLAB_00133146:\n      bVar7 = *(byte *)(lVar13 + 0x11);\n      if (bVar7 < 0xfe) {\n        if ((*(byte *)(lVar13 + 0xb) & 0x40) == 0) {\n          if ((DAT_001e3b14 == 2) &&\n             ((*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f) != 0)) {\n            lVar2 = (uVar20 + 0xe) * 8;\n            bVar14 = *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2);\n            bVar12 = bVar14 & 0xe1;\n            *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar14 & 0xed;\n            if (DAT_001e3ce6 == '\0') {\n              *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar12 | 8;\n            }\n            else {\n              *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar12 | 4;\n            }\n          }\n          if (bVar21 == 0) {\n            DAT_001e3cec = (uint)bVar7;\n          }\n          if ((*(byte *)(lVar13 + 0x10) & 1) == 0) {\n            puVar10 = ss;\n            if (1 < (byte)(bVar7 - 4)) {\n              puVar10 = ds;\n            }\n          }\n          else {\n            DAT_001e3cf8 = DAT_001e3cf8 | 1;\n            puVar10 = ds;\n          }\n          _DAT_001e3d00 = CONCAT44(DAT_001e3d04,(uint)bVar7);\n          iVar16 = 0;\n          if ((bVar7 == 5) && (iVar16 = 0, DAT_001e3c2c == 0)) {\n            iVar16 = 1;\n            pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n            *pbVar5 = *pbVar5 | 1;\n          }\n          iVar8 = DAT_001e3d40;\n          DAT_001e3d08 = DAT_001e3cc0;\n          if (DAT_001e3cb8 == 0) {\n            if (bVar21 != 0) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1bbf,"build_modrm_byte");\n            }\n            _DAT_001e3d00 = CONCAT44(4,_DAT_001e3d00);\n          }\n          else if (bVar21 == 0) {\n            DAT_001e3cec = 4;\n            uVar15 = (uint)*(byte *)(DAT_001e3cb8 + 0x11);\n            if ((byte)(*(byte *)(DAT_001e3cb8 + 0x11) + 4) < 2) {\n              uVar15 = 4;\n            }\n            _DAT_001e3d00 = CONCAT44(uVar15,_DAT_001e3d00);\n            if ((*(byte *)(DAT_001e3cb8 + 0x10) & 1) != 0) {\n              DAT_001e3cf8 = DAT_001e3cf8 | 2;\n            }\n          }\n          if (DAT_001e3c2c == 0) {\n            if ((iVar16 == 0) && (iVar16 = iVar8, DAT_001e3d40 != 0)) {\n              if (DAT_001e3d40 == 1) {\n                pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n                *pbVar5 = *pbVar5 | 1;\n              }\n              else {\n                pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n                *pbVar5 = *pbVar5 | 4;\n                iVar16 = 1;\n              }\n            }\n          }\n          else if (((&DAT_001e3c9c)[uVar20] == 0x179) || ((&DAT_001e3c9c)[uVar20] == 0x195)) {\n            DAT_001e3cf4 = 0;\n            goto LAB_00133b80;\n          }\n        }\n        else {\n          if (bVar21 != 0) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1b7c,"build_modrm_byte");\n          }\n          if (bVar7 == 3) {\n            if (DAT_001e3cb8 != 0) {\n              DAT_001e3cec = *(byte *)(DAT_001e3cb8 + 0x11) - 6;\n              goto LAB_0013317e;\n            }\n            DAT_001e3cec = 7;\n            puVar10 = ds;\n            iVar16 = 0;\n          }\n          else if (bVar7 == 5) {\n            if (DAT_001e3cb8 == 0) {\n              puVar10 = ss;\n              DAT_001e3cec = 6;\n              iVar16 = 0;\n              if ((*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f) == 0) {\n                pbVar5 = (byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2);\n                *pbVar5 = *pbVar5 | 1;\n                iVar16 = 1;\n              }\n            }\n            else {\n              DAT_001e3cec = *(byte *)(DAT_001e3cb8 + 0x11) - 4;\n              puVar10 = ss;\n              iVar16 = 0;\n            }\n          }\n          else {\n            DAT_001e3cec = bVar7 - 2;\nLAB_0013317e:\n            iVar16 = 0;\n            puVar10 = ds;\n          }\n        }\n        DAT_001e3cf4 = 1;\n        if (((ulong)(&DAT_001e3c38)[uVar20] >> 0x10 & 1) == 0) {\n          DAT_001e3cf4 = (uint)(((&DAT_001e3c38)[uVar20] & 0xe0000) != 0) * 2;\n        }\n        goto LAB_00133b80;\n      }\n      if (bVar21 != 0) {\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1b6f,"build_modrm_byte");\n      }\n      DAT_001e3cec = 5;\n      *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) =\n           *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xe0 | 8;\n      uVar15 = DAT_001e3c2c;\n      (&DAT_001e3c88)[uVar20] = (&DAT_001e3c88)[uVar20] | 1;\n      if (uVar15 != 0) {\nLAB_00133424:\n        puVar10 = ds;\n        goto LAB_00133089;\n      }\nLAB_00133a60:\n      puVar10 = ds;\nLAB_00133a67:\n      if ((&DAT_001e3bc0)[uVar20 + 0x14] != 0) {\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1bed,"build_modrm_byte");\n      }\n      uVar9 = (ulong)DAT_001e3c2c;\n      DAT_001e3c2c = DAT_001e3c2c + 1;\n      lVar13 = uVar9 * 0x20;\n      (&DAT_001e3bc0)[uVar20 + 0x14] = &DAT_001e3b60 + lVar13;\n      (&DAT_001e3b78)[lVar13] = 2;\n      *(undefined8 *)(&DAT_001e3b70 + lVar13) = 0;\n      *(undefined8 *)(&DAT_001e3b60 + lVar13) = 0;\n      *(undefined8 *)(&DAT_001e3b68 + lVar13) = 0;\n    }\n    bVar14 = DAT_001e3bee & 0xc;\n  }\nLAB_00133089:\n  if (bVar14 == 4) {\n    if ((DAT_001e3c38._1_1_ & 0xfc) == 0) {\n      if ((DAT_001e3bed & 0x60) == 0x20) {\n        DAT_001e3d18 = DAT_001e3c60;\n      }\n      else {\n        DAT_001e3d18 = DAT_001e3c68;\n      }\n    }\n    else {\n      DAT_001e3d18 = 0;\n    }\n    DAT_001e3cf0 = (uint)*(byte *)(DAT_001e3c70 + 0x11);\n    if ((*(byte *)(DAT_001e3c70 + 0x10) & 1) != 0) {\n      DAT_001e3cf8 = DAT_001e3cf8 | 4;\n    }\n    if (DAT_001e3c30 != 0) goto LAB_001330bc;\n    if ((DAT_001e3bed & 0x60) == 0x20) {\n      bVar21 = *(byte *)(DAT_001e3c68 + 0x11);\n    }\n    else {\n      bVar21 = *(byte *)(DAT_001e3c60 + 0x11);\n    }\n    bVar19 = *(byte *)(DAT_001e3c68 + 0x10);\n  }\n  else {\n    bVar21 = DAT_001e3bed & 0x18;\n    if (bVar21 != 0x18) {\n      if (DAT_001e3c28 == 0) goto LAB_001330bc;\n      if ((((DAT_001e3c24 == 0) || (((byte)DAT_001e3c38 & 1) != 0)) ||\n          (((byte)DAT_001e3c38 & 2) != 0)) ||\n         ((((byte)DAT_001e3c38 & 4) != 0 || ((DAT_001e3c38._5_1_ & 2) != 0)))) {\n        uVar20 = 0;\n      }\n      else {\n        uVar20 = 0;\n        if (((byte)DAT_001e3c38 & 8) == 0) {\n          uVar9 = 0;\n          while( true ) {\n            bVar14 = *(byte *)(&DAT_001e3bc8 + (uVar9 + 0xe) * 2);\n            if ((((char)bVar14 < '\0') ||\n                ((*(byte *)((long)&DAT_001e3bc8 + (uVar9 + 0xe) * 8 + 1) & 1) != 0)) ||\n               (((bVar14 & 0x10) != 0 || (((bVar14 & 0x20) != 0 || ((bVar14 & 0x40) != 0))))))\n            goto LAB_00133670;\n            uVar15 = (int)uVar20 + 1;\n            uVar20 = (ulong)uVar15;\n            if (DAT_001e3c24 == uVar15) break;\n            uVar9 = (ulong)uVar15;\n            bVar14 = *(byte *)(&DAT_001e3bc8 + (uVar9 + 0xe) * 2);\n            if (((((bVar14 & 1) != 0) || ((bVar14 & 2) != 0)) || ((bVar14 & 4) != 0)) ||\n               (((*(byte *)((long)&DAT_001e3bcc + (uVar9 + 0xe) * 8 + 1) & 2) != 0 ||\n                ((*(byte *)(&DAT_001e3c38 + uVar9) & 8) != 0)))) goto LAB_00133670;\n          }\n          uVar20 = (ulong)DAT_001e3c24;\n        }\n      }\nLAB_00133670:\n      uVar15 = (uint)uVar20;\n      if (bVar19 == 8) {\n        uVar15 = 0xffffffff;\n        uVar20 = uVar18;\nLAB_00133b96:\n        if (uVar15 != (uint)uVar20) goto LAB_001336a6;\n        if (DAT_001e3c30 != 0) goto LAB_001330bc;\n      }\n      else {\n        uVar18 = uVar20;\n        if (bVar21 == 8) {\n          if (uVar22 == 0xffffffff) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1c44,"build_modrm_byte");\n          }\n          uVar17 = uVar15 + 1;\n          uVar18 = (ulong)uVar17;\n          uVar9 = uVar20;\n          if (uVar22 < uVar15) {\n            if (DAT_001e3c24 <= uVar17) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c49,"build_modrm_byte");\n            }\n          }\n          else if ((((&DAT_001e3bf6)[uVar20 * 8] & 0x40) == 0) &&\n                  (((&DAT_001e3bf6)[uVar18 * 8] & 0x40) != 0)) {\n            if ((DAT_001e3c24 <= uVar15 + 2) || (uVar22 != uVar17)) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c55,"build_modrm_byte");\n            }\n            uVar18 = (ulong)(uVar15 + 2);\n          }\n          else {\n            uVar9 = uVar18;\n            uVar18 = uVar20;\n            uVar15 = uVar17;\n            if (DAT_001e3c24 <= uVar17) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c5a,"build_modrm_byte");\n            }\n          }\nLAB_00133e49:\n          lVar13 = uVar9 + 6;\n          bVar21 = *(byte *)((long)&DAT_001e3bc0 + lVar13 * 8 + 4);\n          if ((((bVar21 & 1) == 0) ||\n              ((-1 < *(char *)((long)&DAT_001e3bc0 + lVar13 * 8 + 7) &&\n               ((*(byte *)(&DAT_001e3bc8 + lVar13 * 2) & 2) == 0)))) &&\n             (((bVar21 & 4) == 0 &&\n              ((*(uint *)(&DAT_001e3bf8 + uVar9 * 8) != DAT_00153a54 ||\n               (*(int *)(&DAT_001e3bf4 + uVar9 * 8) != DAT_00153a50)))))) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1c7b,"build_modrm_byte");\n          }\n          DAT_001e3d18 = (&DAT_001e3c60)[uVar9];\n          uVar20 = uVar18;\n          goto LAB_00133b96;\n        }\n        if (bVar21 == 0x10) {\n          if (DAT_001e3c30 == 0) {\n            if (DAT_001e3c24 != uVar15 + 2) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c65,"build_modrm_byte");\n            }\n            uVar9 = (ulong)(uVar15 + 1);\n            uVar15 = uVar15 + 1;\n          }\n          else {\n            if ((DAT_001e3c34 + 2 <= uVar15) || (DAT_001e3c24 != DAT_001e3c34 + 2)) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c6c,"build_modrm_byte");\n            }\n            uVar15 = DAT_001e3c34 + 1;\n            if (uVar15 == 0xffffffff) goto LAB_001336a6;\n            uVar9 = (ulong)uVar15;\n          }\n          goto LAB_00133e49;\n        }\n        if (DAT_001e3c24 <= uVar15) {\n                    \n          FUN_0011dd00("../../gas/config/tc-i386.c",0x1c71,"build_modrm_byte");\n        }\nLAB_001336a6:\n        if (DAT_001e3bd0 == 0xffff) {\n          DAT_001e3cf0 = (uint)*(byte *)((&DAT_001e3c60)[uVar20] + 0x11);\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar20] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 4;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 4;\n          }\n          if (DAT_001e3c30 == 0) {\n            DAT_001e3cf4 = 3;\n            return puVar10;\n          }\n          return puVar10;\n        }\n        DAT_001e3cec = (uint)*(byte *)((&DAT_001e3c60)[uVar20] + 0x11);\n        bVar21 = *(byte *)((&DAT_001e3c60)[uVar20] + 0x10);\n        if ((bVar21 & 1) != 0) {\n          DAT_001e3cf8 = DAT_001e3cf8 | 1;\n        }\n        if ((bVar21 & 4) != 0) {\n          DAT_001e3cfc = DAT_001e3cfc | 1;\n        }\n        if (DAT_001e3c30 != 0) {\n          DAT_001e3cf0 = DAT_001e3bd0;\n          return puVar10;\n        }\n      }\n      DAT_001e3cf4 = 3;\n      goto LAB_001330bc;\n    }\n    DAT_001e3d18 = DAT_001e3c70;\n    if (DAT_001e3c30 != 0) goto LAB_001330bc;\n    bVar21 = *(byte *)(DAT_001e3c68 + 0x11);\n    bVar19 = *(byte *)(DAT_001e3c68 + 0x10);\n  }\n  DAT_001e3cec = (uint)bVar21;\n  DAT_001e3cf4 = 3;\n  if ((bVar19 & 1) != 0) {\n    DAT_001e3cf4 = 3;\n    DAT_001e3cf8 = DAT_001e3cf8 | 1;\n  }\nLAB_001330bc:\n  if (DAT_001e3bd0 != 0xffff) {\n    DAT_001e3cf0 = DAT_001e3bd0;\n    return puVar10;\n  }\n  return puVar10;\n}" (type_identifier "undefined1") (pointer_declarator "* FUN_00132fc0(void)" (* "*") (function_declarator "FUN_00132fc0(void)" (identifier "FUN_00132fc0") (parameter_list "(void)" (( "(") (parameter_declaration "void" (primitive_type "void")) () ")")))) (compound_statement "{\n  uint *puVar1;\n  long lVar2;\n  ulong *puVar3;\n  long lVar4;\n  byte *pbVar5;\n  char cVar6;\n  byte bVar7;\n  int iVar8;\n  ulong uVar9;\n  undefined1 *puVar10;\n  ulong uVar11;\n  byte bVar12;\n  long lVar13;\n  byte bVar14;\n  uint uVar15;\n  int iVar16;\n  uint uVar17;\n  ulong uVar18;\n  byte bVar19;\n  ulong uVar20;\n  byte bVar21;\n  uint uVar22;\n  uint uVar23;\n  bool bVar24;\n  \n  bVar21 = DAT_001e3bee;\n  uVar18 = 0;\n  uVar20 = 0;\n  bVar19 = DAT_001e3bee & 0xc;\n  if (bVar19 == 8) {\n    uVar22 = DAT_001e3c24 - 1;\n    uVar18 = (ulong)uVar22;\n    uVar15 = DAT_001e3c24 - 2;\n    if (((DAT_001e3c28 != 4) && ((DAT_001e3c28 != 3 || (DAT_001e3c30 != 1)))) ||\n       (((DAT_001e3bed & 0x18) != 8 ||\n        (((DAT_001e3bed & 0x60) == 0 || (((&DAT_001e3bf4)[uVar18 * 8] & 4) == 0)))))) {\n                    \n      FUN_0011dd00("../../gas/config/tc-i386.c",0x1a12,"build_modrm_byte");\n    }\n    uVar9 = (ulong)DAT_001e3c34;\n    uVar20 = (ulong)(DAT_001e3c34 + 1);\n    if ((DAT_001e3bed & 0x60) == 0x40) {\n      uVar20 = (ulong)DAT_001e3c34;\n      uVar9 = (ulong)(DAT_001e3c34 + 1);\n    }\n    if (DAT_001e3c34 == 0) {\n      uVar11 = (ulong)DAT_001e3c24;\n      DAT_001e3c24 = DAT_001e3c24 + 1;\n      DAT_001e3c34 = 1;\n      (&DAT_001e3c60)[uVar11] = (long)&DAT_001e3b20;\n      lVar13 = uVar11 + 0xe;\n      *(undefined8 *)(&DAT_001e3bc8 + lVar13 * 2) = 0;\n      *(undefined1 *)((long)&DAT_001e3bc8 + lVar13 * 8 + 1) = 4;\n      if (((&DAT_001e3bf4)[uVar9 * 8] & 4) == 0) {\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a2a,"build_modrm_byte");\n      }\n      DAT_001e3b38 = 2;\n      bVar14 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10);\n      bVar7 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x11);\n      uVar22 = (uint)bVar7;\n      if ((bVar14 & 1) != 0) {\n        uVar22 = bVar7 + 8;\n      }\n      if ((bVar14 & 4) != 0) {\n        _DAT_001e3b30 = (ulong)((uVar22 + 0x10) * 0x10);\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a2d,"build_modrm_byte");\n      }\n      _DAT_001e3b30 = (ulong)(uVar22 << 4);\n    }\n    else {\n      if ((DAT_001e3c34 != 1) || ((DAT_001e3c38._5_1_ & 1) == 0)) {\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a33,"build_modrm_byte");\n      }\n      if ((DAT_001e3bec & 0x20) == 0) {\n        DAT_001e3c38._1_1_ = DAT_001e3c38._1_1_ | 4;\n        uVar22 = 0;\n      }\n      else {\n        uVar20 = (ulong)((int)uVar20 - 1);\n        uVar9 = (ulong)((int)uVar9 - 1);\n      }\n      if (((&DAT_001e3bf4)[uVar9 * 8] & 4) == 0) {\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a45,"build_modrm_byte");\n      }\n      bVar14 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10);\n      bVar7 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x11);\n      uVar17 = (uint)bVar7;\n      if ((bVar14 & 1) != 0) {\n        uVar17 = bVar7 + 8;\n      }\n      lVar13 = (&DAT_001e3c60)[uVar22];\n      if ((bVar14 & 4) != 0) {\n        *(ulong *)(lVar13 + 0x10) = (ulong)((uVar17 + 0x10) * 0x10) | *(ulong *)(lVar13 + 0x10);\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a48,"build_modrm_byte");\n      }\n      *(ulong *)(lVar13 + 0x10) = (ulong)(uVar17 << 4) | *(ulong *)(lVar13 + 0x10);\n    }\n    if (((&DAT_001e3bf4)[(ulong)uVar15 * 8] & 4) == 0) {\n                    \n      FUN_0011dd00("../../gas/config/tc-i386.c",0x1a4b,"build_modrm_byte");\n    }\n    DAT_001e3d18 = (&DAT_001e3c60)[uVar15];\n  }\n  lVar2 = DAT_001e3cb8;\n  lVar13 = DAT_001e3cb0;\n  uVar9 = (ulong)DAT_001e3c30;\n  bVar14 = bVar19;\n  if (DAT_001e3c30 == 0) {\n    if (DAT_001e3c28 == 2) {\n      if ((DAT_001e3bed >> 3 & 3) < 2) {\nLAB_0013335b:\n        if (DAT_001e3c24 == 3) {\nLAB_00133ea8:\n          if ((DAT_001e3c34 != 1) &&\n             ((DAT_001e3c34 != 0 ||\n              (((DAT_001e3bed & 0x18) != 8 && ((DAT_001e3c38._3_1_ & 1) == 0)))))) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1a6b,"build_modrm_byte");\n          }\n          uVar9 = (ulong)((DAT_001e3c38._1_1_ & 0xfc) != 0 || (DAT_001e3c38._3_1_ & 1) != 0);\n          uVar22 = 3;\n        }\n        else if (DAT_001e3c24 < 4) {\n          uVar22 = DAT_001e3c24;\n          if (DAT_001e3c24 != 2) goto LAB_00133dcf;\n        }\n        else {\n          if (DAT_001e3c24 != 4) goto joined_r0x00133753;\nLAB_00133379:\n          uVar9 = (ulong)DAT_001e3c34;\n          if (DAT_001e3c34 == 2) {\n            if (((DAT_001e3c38._1_1_ & 4) == 0) || ((DAT_001e3c40._1_1_ & 4) == 0))\n            goto LAB_00133d61;\n          }\n          else {\n            if ((((DAT_001e3bed & 0x18) != 8) || (DAT_001e3c34 != 1)) ||\n               ((((DAT_001e3c38._1_1_ & 4) == 0 && ((DAT_001e3c50._1_1_ & 4) == 0)) &&\n                (DAT_001e3d28 == 0)))) {\nLAB_00133d61:\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1a81,"build_modrm_byte");\n            }\n            uVar9 = (ulong)((DAT_001e3c38._1_1_ & 4) != 0);\n          }\n          uVar22 = 4;\n        }\nLAB_001337c1:\n        if (bVar19 != 8) {\n          uVar15 = (int)uVar9 + 1;\n          uVar18 = (ulong)uVar15;\n          if ((DAT_001e3d28 != 0) && (*(uint *)(DAT_001e3d28 + 4) == uVar15)) {\n            uVar18 = (ulong)((int)uVar9 + 2);\n          }\n          if ((DAT_001e3bed & 0x18) == 8) {\n            uVar20 = uVar9;\n            uVar11 = uVar18;\n            if ((((&DAT_001e3bf6)[uVar9 * 8] & 0x40) == 0) &&\n               (((&DAT_001e3bf6)[uVar18 * 8] & 0x40) != 0)) {\n              uVar20 = uVar18;\n              uVar11 = uVar9;\n            }\n            uVar15 = (int)uVar18 + 1;\n            uVar18 = (ulong)uVar15;\n            uVar9 = *(ulong *)((long)&DAT_001e3bc0 + (uVar11 + 6) * 8 + 4);\n            if ((uVar22 <= uVar15) ||\n               ((((uVar9 & 1) == 0 ||\n                 ((-1 < (char)((uVar9 & 0xfffffffff7ffffff) >> 0x18) &&\n                  (((&DAT_001e3bc8)[(uVar11 + 6) * 2] & 2) == 0)))) &&\n                (((uVar9 & 4) == 0 &&\n                 ((DAT_00153a50 != (int)(uVar9 & 0xfffffffff7ffffff) ||\n                  (DAT_00153a54 != (&DAT_001e3bc8)[(uVar11 + 6) * 2])))))))) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1ac9,"build_modrm_byte");\n            }\n            DAT_001e3d18 = (&DAT_001e3c60)[uVar11];\n            uVar9 = uVar20;\n          }\n        }\nLAB_001337ff:\n        DAT_001e3cf4 = 3;\n        if (((*(byte *)((long)&DAT_001e3bc0 + (uVar18 + 6) * 8 + 7) & 8) == 0) &&\n           ((*(ulong *)((long)&DAT_001e3bc0 + (uVar18 + 6) * 8 + 4) & 0x5f0000) == 0)) {\n          DAT_001e3cf0 = (uint)*(byte *)((&DAT_001e3c60)[uVar18] + 0x11);\n          DAT_001e3cec = (uint)*(byte *)((&DAT_001e3c60)[uVar9] + 0x11);\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar18] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 4;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 4;\n          }\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 1;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 1;\n          }\n        }\n        else {\n          DAT_001e3cf0 = (uint)*(byte *)((&DAT_001e3c60)[uVar9] + 0x11);\n          DAT_001e3cec = (uint)*(byte *)((&DAT_001e3c60)[uVar18] + 0x11);\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar18] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 1;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 1;\n          }\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 4;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 4;\n          }\n        }\n        if ((DAT_001e3b14 != 2) && ((DAT_001e3cf8 & 4) != 0)) {\n          if ((*(byte *)(&DAT_001e3bc8 + ((ulong)(DAT_001e3bf7 >> 3 & 1) + 0xe) * 2) & 0x10) == 0) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1af4,"build_modrm_byte");\n          }\n          DAT_001e3cf8 = DAT_001e3cf8 & 0xfffffffb;\n          FUN_00131f90(0xf0);\n          return (undefined1 *)0x0;\n        }\n        DAT_001e3cf4 = 3;\n        return (undefined1 *)0x0;\n      }\n    }\n    else if (DAT_001e3c28 == 3) {\n      if ((DAT_001e3bed & 0x18) == 8) goto LAB_0013335b;\n    }\n    else if ((DAT_001e3c28 == 4) && (bVar19 == 8)) {\n      if (DAT_001e3c24 == 3) goto LAB_00133ea8;\n      if (DAT_001e3c24 < 4) {\n        if (DAT_001e3c24 != 2) goto LAB_00133dcf;\n        goto LAB_001337ff;\n      }\n      if (DAT_001e3c24 == 4) goto LAB_00133379;\njoined_r0x00133753:\n      if (DAT_001e3c24 != 5) {\nLAB_00133dcf:\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1aa0,"build_modrm_byte");\n      }\n      if (DAT_001e3bef == '\0') {\n        uVar9 = uVar20;\n        uVar22 = 5;\n      }\n      else {\n        if (((DAT_001e3c34 != 2) || (-1 < DAT_001e3bef)) || ((DAT_001e3c38._1_1_ & 0xfc) == 0)) {\n                    \n          FUN_0011dd00("../../gas/config/tc-i386.c",0x1a96,"build_modrm_byte");\n        }\n        if ((DAT_001e3c40._1_1_ & 0xfc) == 0) {\n          if ((DAT_001e3c58._1_1_ & 0xfc) == 0) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1a9c,"build_modrm_byte");\n          }\n          uVar9 = 1;\n          uVar22 = 5;\n        }\n        else {\n          uVar9 = (ulong)DAT_001e3c34;\n          uVar22 = 5;\n        }\n      }\n      goto LAB_001337c1;\n    }\n    uVar22 = 0xffffffff;\n    puVar10 = (undefined1 *)0x0;\n  }\n  else {\n    if (DAT_001e3c24 == 0) {\nLAB_0013303b:\n                    \n      FUN_0011dd00("../../gas/config/tc-i386.c",0x1b05,"build_modrm_byte");\n    }\n    if ((DAT_001e3c38._2_1_ & 0x5f) == 0) {\n      uVar9 = 1;\n      do {\n        uVar20 = uVar9 & 0xffffffff;\n        if (DAT_001e3c24 <= (uint)uVar9) goto LAB_0013303b;\n        puVar3 = &DAT_001e3c38 + uVar9;\n        uVar9 = uVar9 + 1;\n      } while ((*puVar3 & 0x5f0000) == 0);\n    }\n    else {\n      uVar20 = 0;\n    }\n    bVar21 = bVar21 & 0x30;\n    uVar22 = (uint)uVar20;\n    if (bVar21 == 0) {\nLAB_0013313d:\n      if (lVar13 != 0) goto LAB_00133146;\nLAB_00133448:\n      lVar13 = DAT_001e3cb8;\n      DAT_001e3cf4 = 0;\n      if (DAT_001e3c2c == 0) {\n        if (DAT_001e3cb8 == 0) {\n          iVar16 = 1;\n          goto LAB_00133cae;\n        }\n        if (bVar21 == 0) {\n          iVar16 = 1;\n          goto LAB_00133af0;\n        }\n        goto LAB_00133a60;\n      }\n      if (DAT_001e3cb8 != 0) {\n        if (bVar21 == 0) {\n          iVar16 = 0;\nLAB_00133af0:\n          uVar15 = (uint)*(byte *)(DAT_001e3cb8 + 0x11);\n          DAT_001e3cec = 4;\n          if ((byte)(*(byte *)(DAT_001e3cb8 + 0x11) + 4) < 2) {\n            uVar15 = 4;\n          }\n          _DAT_001e3d00 = CONCAT44(uVar15,5);\n          DAT_001e3d08 = DAT_001e3cc0;\n          lVar2 = uVar20 * 8;\n          bVar21 = *(byte *)((long)&DAT_001e3c38 + lVar2 + 2);\n          bVar24 = DAT_001e3b14 == 2;\n          *(byte *)((long)&DAT_001e3c38 + lVar2 + 2) = bVar21 & 0xec;\n          if ((bVar24) && (DAT_001e3ce6 == '\0')) {\n            *(byte *)((long)&DAT_001e3c38 + lVar2 + 2) = bVar21 & 0xe0 | 8;\n          }\n          else {\n            *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) =\n                 *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xf3 | 4;\n          }\n          puVar10 = ds;\n          if ((*(byte *)(lVar13 + 0x10) & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 2;\n          }\n          goto LAB_00133b80;\n        }\n        goto LAB_00133424;\n      }\n      iVar16 = 0;\nLAB_00133cae:\n      if (bVar21 != 0) {\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1b33,"build_modrm_byte");\n      }\n      if (DAT_001e3b14 == 2) {\n        DAT_001e3cec = 4;\n        uVar17 = (uint)(DAT_001e3ce6 == '\0');\n        uVar15 = (uint)(DAT_001e3ce6 != '\0');\n        _DAT_001e3d00 = 0x400000005;\n        iVar8 = 0;\n      }\n      else if ((DAT_001e3b14 == 1) == (DAT_001e3ce6 != '\0')) {\n        DAT_001e3cec = 5;\n        uVar17 = 0;\n        uVar15 = 1;\n        iVar8 = 0;\n      }\n      else {\n        DAT_001e3cec = 6;\n        uVar17 = 0;\n        uVar15 = 0;\n        iVar8 = 1;\n      }\n      uVar23 = ~DAT_00153a64;\n      *(uint *)(&DAT_001e3c38 + uVar20) =\n           iVar8 << 0x11 | uVar15 << 0x12 | uVar17 << 0x13 |\n           ~DAT_00153a60 & *(uint *)(&DAT_001e3c38 + uVar20);\n      puVar10 = ds;\n      puVar1 = (uint *)((long)&DAT_001e3c38 + uVar20 * 8 + 4);\n      *puVar1 = *puVar1 & uVar23;\nLAB_00133b80:\n      if (iVar16 != 0) goto LAB_00133a67;\n    }\n    else {\n      cVar6 = *(char *)(DAT_001e3cb8 + 0x11);\n      if ((byte)(cVar6 + 4U) < 2) {\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1b0b,"build_modrm_byte");\n      }\n      DAT_001e3cec = 4;\n      if (DAT_001e3cb0 == 0) {\n        _DAT_001e3d00 = 5;\n        DAT_001e3d08 = DAT_001e3cc0;\n        lVar4 = uVar20 * 8;\n        bVar7 = *(byte *)((long)&DAT_001e3c38 + lVar4 + 2);\n        bVar24 = DAT_001e3b14 == 2;\n        *(byte *)((long)&DAT_001e3c38 + lVar4 + 2) = bVar7 & 0xec;\n        if ((bVar24) && (DAT_001e3ce6 == '\0')) {\n          *(byte *)((long)&DAT_001e3c38 + lVar4 + 2) = bVar7 & 0xe0 | 8;\n        }\n        else {\n          *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) =\n               *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xf3 | 4;\n        }\n      }\n      _DAT_001e3d00 = (ulong)CONCAT14(cVar6,_DAT_001e3d00);\n      if ((*(byte *)(lVar2 + 0x10) & 1) != 0) {\n        DAT_001e3cf8 = DAT_001e3cf8 | 2;\n      }\n      if ((*(byte *)(lVar2 + 0x10) & 4) == 0) goto LAB_0013313d;\n      DAT_001e3cfc = DAT_001e3cfc | 2;\n      if (lVar13 == 0) goto LAB_00133448;\nLAB_00133146:\n      bVar7 = *(byte *)(lVar13 + 0x11);\n      if (bVar7 < 0xfe) {\n        if ((*(byte *)(lVar13 + 0xb) & 0x40) == 0) {\n          if ((DAT_001e3b14 == 2) &&\n             ((*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f) != 0)) {\n            lVar2 = (uVar20 + 0xe) * 8;\n            bVar14 = *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2);\n            bVar12 = bVar14 & 0xe1;\n            *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar14 & 0xed;\n            if (DAT_001e3ce6 == '\0') {\n              *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar12 | 8;\n            }\n            else {\n              *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar12 | 4;\n            }\n          }\n          if (bVar21 == 0) {\n            DAT_001e3cec = (uint)bVar7;\n          }\n          if ((*(byte *)(lVar13 + 0x10) & 1) == 0) {\n            puVar10 = ss;\n            if (1 < (byte)(bVar7 - 4)) {\n              puVar10 = ds;\n            }\n          }\n          else {\n            DAT_001e3cf8 = DAT_001e3cf8 | 1;\n            puVar10 = ds;\n          }\n          _DAT_001e3d00 = CONCAT44(DAT_001e3d04,(uint)bVar7);\n          iVar16 = 0;\n          if ((bVar7 == 5) && (iVar16 = 0, DAT_001e3c2c == 0)) {\n            iVar16 = 1;\n            pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n            *pbVar5 = *pbVar5 | 1;\n          }\n          iVar8 = DAT_001e3d40;\n          DAT_001e3d08 = DAT_001e3cc0;\n          if (DAT_001e3cb8 == 0) {\n            if (bVar21 != 0) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1bbf,"build_modrm_byte");\n            }\n            _DAT_001e3d00 = CONCAT44(4,_DAT_001e3d00);\n          }\n          else if (bVar21 == 0) {\n            DAT_001e3cec = 4;\n            uVar15 = (uint)*(byte *)(DAT_001e3cb8 + 0x11);\n            if ((byte)(*(byte *)(DAT_001e3cb8 + 0x11) + 4) < 2) {\n              uVar15 = 4;\n            }\n            _DAT_001e3d00 = CONCAT44(uVar15,_DAT_001e3d00);\n            if ((*(byte *)(DAT_001e3cb8 + 0x10) & 1) != 0) {\n              DAT_001e3cf8 = DAT_001e3cf8 | 2;\n            }\n          }\n          if (DAT_001e3c2c == 0) {\n            if ((iVar16 == 0) && (iVar16 = iVar8, DAT_001e3d40 != 0)) {\n              if (DAT_001e3d40 == 1) {\n                pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n                *pbVar5 = *pbVar5 | 1;\n              }\n              else {\n                pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n                *pbVar5 = *pbVar5 | 4;\n                iVar16 = 1;\n              }\n            }\n          }\n          else if (((&DAT_001e3c9c)[uVar20] == 0x179) || ((&DAT_001e3c9c)[uVar20] == 0x195)) {\n            DAT_001e3cf4 = 0;\n            goto LAB_00133b80;\n          }\n        }\n        else {\n          if (bVar21 != 0) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1b7c,"build_modrm_byte");\n          }\n          if (bVar7 == 3) {\n            if (DAT_001e3cb8 != 0) {\n              DAT_001e3cec = *(byte *)(DAT_001e3cb8 + 0x11) - 6;\n              goto LAB_0013317e;\n            }\n            DAT_001e3cec = 7;\n            puVar10 = ds;\n            iVar16 = 0;\n          }\n          else if (bVar7 == 5) {\n            if (DAT_001e3cb8 == 0) {\n              puVar10 = ss;\n              DAT_001e3cec = 6;\n              iVar16 = 0;\n              if ((*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f) == 0) {\n                pbVar5 = (byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2);\n                *pbVar5 = *pbVar5 | 1;\n                iVar16 = 1;\n              }\n            }\n            else {\n              DAT_001e3cec = *(byte *)(DAT_001e3cb8 + 0x11) - 4;\n              puVar10 = ss;\n              iVar16 = 0;\n            }\n          }\n          else {\n            DAT_001e3cec = bVar7 - 2;\nLAB_0013317e:\n            iVar16 = 0;\n            puVar10 = ds;\n          }\n        }\n        DAT_001e3cf4 = 1;\n        if (((ulong)(&DAT_001e3c38)[uVar20] >> 0x10 & 1) == 0) {\n          DAT_001e3cf4 = (uint)(((&DAT_001e3c38)[uVar20] & 0xe0000) != 0) * 2;\n        }\n        goto LAB_00133b80;\n      }\n      if (bVar21 != 0) {\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1b6f,"build_modrm_byte");\n      }\n      DAT_001e3cec = 5;\n      *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) =\n           *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xe0 | 8;\n      uVar15 = DAT_001e3c2c;\n      (&DAT_001e3c88)[uVar20] = (&DAT_001e3c88)[uVar20] | 1;\n      if (uVar15 != 0) {\nLAB_00133424:\n        puVar10 = ds;\n        goto LAB_00133089;\n      }\nLAB_00133a60:\n      puVar10 = ds;\nLAB_00133a67:\n      if ((&DAT_001e3bc0)[uVar20 + 0x14] != 0) {\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1bed,"build_modrm_byte");\n      }\n      uVar9 = (ulong)DAT_001e3c2c;\n      DAT_001e3c2c = DAT_001e3c2c + 1;\n      lVar13 = uVar9 * 0x20;\n      (&DAT_001e3bc0)[uVar20 + 0x14] = &DAT_001e3b60 + lVar13;\n      (&DAT_001e3b78)[lVar13] = 2;\n      *(undefined8 *)(&DAT_001e3b70 + lVar13) = 0;\n      *(undefined8 *)(&DAT_001e3b60 + lVar13) = 0;\n      *(undefined8 *)(&DAT_001e3b68 + lVar13) = 0;\n    }\n    bVar14 = DAT_001e3bee & 0xc;\n  }\nLAB_00133089:\n  if (bVar14 == 4) {\n    if ((DAT_001e3c38._1_1_ & 0xfc) == 0) {\n      if ((DAT_001e3bed & 0x60) == 0x20) {\n        DAT_001e3d18 = DAT_001e3c60;\n      }\n      else {\n        DAT_001e3d18 = DAT_001e3c68;\n      }\n    }\n    else {\n      DAT_001e3d18 = 0;\n    }\n    DAT_001e3cf0 = (uint)*(byte *)(DAT_001e3c70 + 0x11);\n    if ((*(byte *)(DAT_001e3c70 + 0x10) & 1) != 0) {\n      DAT_001e3cf8 = DAT_001e3cf8 | 4;\n    }\n    if (DAT_001e3c30 != 0) goto LAB_001330bc;\n    if ((DAT_001e3bed & 0x60) == 0x20) {\n      bVar21 = *(byte *)(DAT_001e3c68 + 0x11);\n    }\n    else {\n      bVar21 = *(byte *)(DAT_001e3c60 + 0x11);\n    }\n    bVar19 = *(byte *)(DAT_001e3c68 + 0x10);\n  }\n  else {\n    bVar21 = DAT_001e3bed & 0x18;\n    if (bVar21 != 0x18) {\n      if (DAT_001e3c28 == 0) goto LAB_001330bc;\n      if ((((DAT_001e3c24 == 0) || (((byte)DAT_001e3c38 & 1) != 0)) ||\n          (((byte)DAT_001e3c38 & 2) != 0)) ||\n         ((((byte)DAT_001e3c38 & 4) != 0 || ((DAT_001e3c38._5_1_ & 2) != 0)))) {\n        uVar20 = 0;\n      }\n      else {\n        uVar20 = 0;\n        if (((byte)DAT_001e3c38 & 8) == 0) {\n          uVar9 = 0;\n          while( true ) {\n            bVar14 = *(byte *)(&DAT_001e3bc8 + (uVar9 + 0xe) * 2);\n            if ((((char)bVar14 < '\0') ||\n                ((*(byte *)((long)&DAT_001e3bc8 + (uVar9 + 0xe) * 8 + 1) & 1) != 0)) ||\n               (((bVar14 & 0x10) != 0 || (((bVar14 & 0x20) != 0 || ((bVar14 & 0x40) != 0))))))\n            goto LAB_00133670;\n            uVar15 = (int)uVar20 + 1;\n            uVar20 = (ulong)uVar15;\n            if (DAT_001e3c24 == uVar15) break;\n            uVar9 = (ulong)uVar15;\n            bVar14 = *(byte *)(&DAT_001e3bc8 + (uVar9 + 0xe) * 2);\n            if (((((bVar14 & 1) != 0) || ((bVar14 & 2) != 0)) || ((bVar14 & 4) != 0)) ||\n               (((*(byte *)((long)&DAT_001e3bcc + (uVar9 + 0xe) * 8 + 1) & 2) != 0 ||\n                ((*(byte *)(&DAT_001e3c38 + uVar9) & 8) != 0)))) goto LAB_00133670;\n          }\n          uVar20 = (ulong)DAT_001e3c24;\n        }\n      }\nLAB_00133670:\n      uVar15 = (uint)uVar20;\n      if (bVar19 == 8) {\n        uVar15 = 0xffffffff;\n        uVar20 = uVar18;\nLAB_00133b96:\n        if (uVar15 != (uint)uVar20) goto LAB_001336a6;\n        if (DAT_001e3c30 != 0) goto LAB_001330bc;\n      }\n      else {\n        uVar18 = uVar20;\n        if (bVar21 == 8) {\n          if (uVar22 == 0xffffffff) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1c44,"build_modrm_byte");\n          }\n          uVar17 = uVar15 + 1;\n          uVar18 = (ulong)uVar17;\n          uVar9 = uVar20;\n          if (uVar22 < uVar15) {\n            if (DAT_001e3c24 <= uVar17) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c49,"build_modrm_byte");\n            }\n          }\n          else if ((((&DAT_001e3bf6)[uVar20 * 8] & 0x40) == 0) &&\n                  (((&DAT_001e3bf6)[uVar18 * 8] & 0x40) != 0)) {\n            if ((DAT_001e3c24 <= uVar15 + 2) || (uVar22 != uVar17)) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c55,"build_modrm_byte");\n            }\n            uVar18 = (ulong)(uVar15 + 2);\n          }\n          else {\n            uVar9 = uVar18;\n            uVar18 = uVar20;\n            uVar15 = uVar17;\n            if (DAT_001e3c24 <= uVar17) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c5a,"build_modrm_byte");\n            }\n          }\nLAB_00133e49:\n          lVar13 = uVar9 + 6;\n          bVar21 = *(byte *)((long)&DAT_001e3bc0 + lVar13 * 8 + 4);\n          if ((((bVar21 & 1) == 0) ||\n              ((-1 < *(char *)((long)&DAT_001e3bc0 + lVar13 * 8 + 7) &&\n               ((*(byte *)(&DAT_001e3bc8 + lVar13 * 2) & 2) == 0)))) &&\n             (((bVar21 & 4) == 0 &&\n              ((*(uint *)(&DAT_001e3bf8 + uVar9 * 8) != DAT_00153a54 ||\n               (*(int *)(&DAT_001e3bf4 + uVar9 * 8) != DAT_00153a50)))))) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1c7b,"build_modrm_byte");\n          }\n          DAT_001e3d18 = (&DAT_001e3c60)[uVar9];\n          uVar20 = uVar18;\n          goto LAB_00133b96;\n        }\n        if (bVar21 == 0x10) {\n          if (DAT_001e3c30 == 0) {\n            if (DAT_001e3c24 != uVar15 + 2) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c65,"build_modrm_byte");\n            }\n            uVar9 = (ulong)(uVar15 + 1);\n            uVar15 = uVar15 + 1;\n          }\n          else {\n            if ((DAT_001e3c34 + 2 <= uVar15) || (DAT_001e3c24 != DAT_001e3c34 + 2)) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c6c,"build_modrm_byte");\n            }\n            uVar15 = DAT_001e3c34 + 1;\n            if (uVar15 == 0xffffffff) goto LAB_001336a6;\n            uVar9 = (ulong)uVar15;\n          }\n          goto LAB_00133e49;\n        }\n        if (DAT_001e3c24 <= uVar15) {\n                    \n          FUN_0011dd00("../../gas/config/tc-i386.c",0x1c71,"build_modrm_byte");\n        }\nLAB_001336a6:\n        if (DAT_001e3bd0 == 0xffff) {\n          DAT_001e3cf0 = (uint)*(byte *)((&DAT_001e3c60)[uVar20] + 0x11);\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar20] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 4;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 4;\n          }\n          if (DAT_001e3c30 == 0) {\n            DAT_001e3cf4 = 3;\n            return puVar10;\n          }\n          return puVar10;\n        }\n        DAT_001e3cec = (uint)*(byte *)((&DAT_001e3c60)[uVar20] + 0x11);\n        bVar21 = *(byte *)((&DAT_001e3c60)[uVar20] + 0x10);\n        if ((bVar21 & 1) != 0) {\n          DAT_001e3cf8 = DAT_001e3cf8 | 1;\n        }\n        if ((bVar21 & 4) != 0) {\n          DAT_001e3cfc = DAT_001e3cfc | 1;\n        }\n        if (DAT_001e3c30 != 0) {\n          DAT_001e3cf0 = DAT_001e3bd0;\n          return puVar10;\n        }\n      }\n      DAT_001e3cf4 = 3;\n      goto LAB_001330bc;\n    }\n    DAT_001e3d18 = DAT_001e3c70;\n    if (DAT_001e3c30 != 0) goto LAB_001330bc;\n    bVar21 = *(byte *)(DAT_001e3c68 + 0x11);\n    bVar19 = *(byte *)(DAT_001e3c68 + 0x10);\n  }\n  DAT_001e3cec = (uint)bVar21;\n  DAT_001e3cf4 = 3;\n  if ((bVar19 & 1) != 0) {\n    DAT_001e3cf4 = 3;\n    DAT_001e3cf8 = DAT_001e3cf8 | 1;\n  }\nLAB_001330bc:\n  if (DAT_001e3bd0 != 0xffff) {\n    DAT_001e3cf0 = DAT_001e3bd0;\n    return puVar10;\n  }\n  return puVar10;\n}" ({ "{") (declaration "uint *puVar1;" (type_identifier "uint") (pointer_declarator "*puVar1" (* "*") (identifier "puVar1")) (; ";")) (declaration "long lVar2;" (sized_type_specifier "long" (long "long")) (identifier "lVar2") (; ";")) (declaration "ulong *puVar3;" (type_identifier "ulong") (pointer_declarator "*puVar3" (* "*") (identifier "puVar3")) (; ";")) (declaration "long lVar4;" (sized_type_specifier "long" (long "long")) (identifier "lVar4") (; ";")) (declaration "byte *pbVar5;" (type_identifier "byte") (pointer_declarator "*pbVar5" (* "*") (identifier "pbVar5")) (; ";")) (declaration "char cVar6;" (primitive_type "char") (identifier "cVar6") (; ";")) (declaration "byte bVar7;" (type_identifier "byte") (identifier "bVar7") (; ";")) (declaration "int iVar8;" (primitive_type "int") (identifier "iVar8") (; ";")) (declaration "ulong uVar9;" (type_identifier "ulong") (identifier "uVar9") (; ";")) (declaration "undefined1 *puVar10;" (type_identifier "undefined1") (pointer_declarator "*puVar10" (* "*") (identifier "puVar10")) (; ";")) (declaration "ulong uVar11;" (type_identifier "ulong") (identifier "uVar11") (; ";")) (declaration "byte bVar12;" (type_identifier "byte") (identifier "bVar12") (; ";")) (declaration "long lVar13;" (sized_type_specifier "long" (long "long")) (identifier "lVar13") (; ";")) (declaration "byte bVar14;" (type_identifier "byte") (identifier "bVar14") (; ";")) (declaration "uint uVar15;" (type_identifier "uint") (identifier "uVar15") (; ";")) (declaration "int iVar16;" (primitive_type "int") (identifier "iVar16") (; ";")) (declaration "uint uVar17;" (type_identifier "uint") (identifier "uVar17") (; ";")) (declaration "ulong uVar18;" (type_identifier "ulong") (identifier "uVar18") (; ";")) (declaration "byte bVar19;" (type_identifier "byte") (identifier "bVar19") (; ";")) (declaration "ulong uVar20;" (type_identifier "ulong") (identifier "uVar20") (; ";")) (declaration "byte bVar21;" (type_identifier "byte") (identifier "bVar21") (; ";")) (declaration "uint uVar22;" (type_identifier "uint") (identifier "uVar22") (; ";")) (declaration "uint uVar23;" (type_identifier "uint") (identifier "uVar23") (; ";")) (declaration "bool bVar24;" (primitive_type "bool") (identifier "bVar24") (; ";")) (expression_statement "bVar21 = DAT_001e3bee;" (assignment_expression "bVar21 = DAT_001e3bee" (identifier "bVar21") (= "=") (identifier "DAT_001e3bee")) (; ";")) (expression_statement "uVar18 = 0;" (assignment_expression "uVar18 = 0" (identifier "uVar18") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar20 = 0;" (assignment_expression "uVar20 = 0" (identifier "uVar20") (= "=") (number_literal "0")) (; ";")) (expression_statement "bVar19 = DAT_001e3bee & 0xc;" (assignment_expression "bVar19 = DAT_001e3bee & 0xc" (identifier "bVar19") (= "=") (binary_expression "DAT_001e3bee & 0xc" (identifier "DAT_001e3bee") (& "&") (number_literal "0xc"))) (; ";")) (if_statement "if (bVar19 == 8) {\n    uVar22 = DAT_001e3c24 - 1;\n    uVar18 = (ulong)uVar22;\n    uVar15 = DAT_001e3c24 - 2;\n    if (((DAT_001e3c28 != 4) && ((DAT_001e3c28 != 3 || (DAT_001e3c30 != 1)))) ||\n       (((DAT_001e3bed & 0x18) != 8 ||\n        (((DAT_001e3bed & 0x60) == 0 || (((&DAT_001e3bf4)[uVar18 * 8] & 4) == 0)))))) {\n                    \n      FUN_0011dd00("../../gas/config/tc-i386.c",0x1a12,"build_modrm_byte");\n    }\n    uVar9 = (ulong)DAT_001e3c34;\n    uVar20 = (ulong)(DAT_001e3c34 + 1);\n    if ((DAT_001e3bed & 0x60) == 0x40) {\n      uVar20 = (ulong)DAT_001e3c34;\n      uVar9 = (ulong)(DAT_001e3c34 + 1);\n    }\n    if (DAT_001e3c34 == 0) {\n      uVar11 = (ulong)DAT_001e3c24;\n      DAT_001e3c24 = DAT_001e3c24 + 1;\n      DAT_001e3c34 = 1;\n      (&DAT_001e3c60)[uVar11] = (long)&DAT_001e3b20;\n      lVar13 = uVar11 + 0xe;\n      *(undefined8 *)(&DAT_001e3bc8 + lVar13 * 2) = 0;\n      *(undefined1 *)((long)&DAT_001e3bc8 + lVar13 * 8 + 1) = 4;\n      if (((&DAT_001e3bf4)[uVar9 * 8] & 4) == 0) {\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a2a,"build_modrm_byte");\n      }\n      DAT_001e3b38 = 2;\n      bVar14 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10);\n      bVar7 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x11);\n      uVar22 = (uint)bVar7;\n      if ((bVar14 & 1) != 0) {\n        uVar22 = bVar7 + 8;\n      }\n      if ((bVar14 & 4) != 0) {\n        _DAT_001e3b30 = (ulong)((uVar22 + 0x10) * 0x10);\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a2d,"build_modrm_byte");\n      }\n      _DAT_001e3b30 = (ulong)(uVar22 << 4);\n    }\n    else {\n      if ((DAT_001e3c34 != 1) || ((DAT_001e3c38._5_1_ & 1) == 0)) {\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a33,"build_modrm_byte");\n      }\n      if ((DAT_001e3bec & 0x20) == 0) {\n        DAT_001e3c38._1_1_ = DAT_001e3c38._1_1_ | 4;\n        uVar22 = 0;\n      }\n      else {\n        uVar20 = (ulong)((int)uVar20 - 1);\n        uVar9 = (ulong)((int)uVar9 - 1);\n      }\n      if (((&DAT_001e3bf4)[uVar9 * 8] & 4) == 0) {\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a45,"build_modrm_byte");\n      }\n      bVar14 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10);\n      bVar7 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x11);\n      uVar17 = (uint)bVar7;\n      if ((bVar14 & 1) != 0) {\n        uVar17 = bVar7 + 8;\n      }\n      lVar13 = (&DAT_001e3c60)[uVar22];\n      if ((bVar14 & 4) != 0) {\n        *(ulong *)(lVar13 + 0x10) = (ulong)((uVar17 + 0x10) * 0x10) | *(ulong *)(lVar13 + 0x10);\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a48,"build_modrm_byte");\n      }\n      *(ulong *)(lVar13 + 0x10) = (ulong)(uVar17 << 4) | *(ulong *)(lVar13 + 0x10);\n    }\n    if (((&DAT_001e3bf4)[(ulong)uVar15 * 8] & 4) == 0) {\n                    \n      FUN_0011dd00("../../gas/config/tc-i386.c",0x1a4b,"build_modrm_byte");\n    }\n    DAT_001e3d18 = (&DAT_001e3c60)[uVar15];\n  }" (if "if") (parenthesized_expression "(bVar19 == 8)" (( "(") (binary_expression "bVar19 == 8" (identifier "bVar19") (== "==") (number_literal "8")) () ")")) (compound_statement "{\n    uVar22 = DAT_001e3c24 - 1;\n    uVar18 = (ulong)uVar22;\n    uVar15 = DAT_001e3c24 - 2;\n    if (((DAT_001e3c28 != 4) && ((DAT_001e3c28 != 3 || (DAT_001e3c30 != 1)))) ||\n       (((DAT_001e3bed & 0x18) != 8 ||\n        (((DAT_001e3bed & 0x60) == 0 || (((&DAT_001e3bf4)[uVar18 * 8] & 4) == 0)))))) {\n                    \n      FUN_0011dd00("../../gas/config/tc-i386.c",0x1a12,"build_modrm_byte");\n    }\n    uVar9 = (ulong)DAT_001e3c34;\n    uVar20 = (ulong)(DAT_001e3c34 + 1);\n    if ((DAT_001e3bed & 0x60) == 0x40) {\n      uVar20 = (ulong)DAT_001e3c34;\n      uVar9 = (ulong)(DAT_001e3c34 + 1);\n    }\n    if (DAT_001e3c34 == 0) {\n      uVar11 = (ulong)DAT_001e3c24;\n      DAT_001e3c24 = DAT_001e3c24 + 1;\n      DAT_001e3c34 = 1;\n      (&DAT_001e3c60)[uVar11] = (long)&DAT_001e3b20;\n      lVar13 = uVar11 + 0xe;\n      *(undefined8 *)(&DAT_001e3bc8 + lVar13 * 2) = 0;\n      *(undefined1 *)((long)&DAT_001e3bc8 + lVar13 * 8 + 1) = 4;\n      if (((&DAT_001e3bf4)[uVar9 * 8] & 4) == 0) {\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a2a,"build_modrm_byte");\n      }\n      DAT_001e3b38 = 2;\n      bVar14 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10);\n      bVar7 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x11);\n      uVar22 = (uint)bVar7;\n      if ((bVar14 & 1) != 0) {\n        uVar22 = bVar7 + 8;\n      }\n      if ((bVar14 & 4) != 0) {\n        _DAT_001e3b30 = (ulong)((uVar22 + 0x10) * 0x10);\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a2d,"build_modrm_byte");\n      }\n      _DAT_001e3b30 = (ulong)(uVar22 << 4);\n    }\n    else {\n      if ((DAT_001e3c34 != 1) || ((DAT_001e3c38._5_1_ & 1) == 0)) {\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a33,"build_modrm_byte");\n      }\n      if ((DAT_001e3bec & 0x20) == 0) {\n        DAT_001e3c38._1_1_ = DAT_001e3c38._1_1_ | 4;\n        uVar22 = 0;\n      }\n      else {\n        uVar20 = (ulong)((int)uVar20 - 1);\n        uVar9 = (ulong)((int)uVar9 - 1);\n      }\n      if (((&DAT_001e3bf4)[uVar9 * 8] & 4) == 0) {\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a45,"build_modrm_byte");\n      }\n      bVar14 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10);\n      bVar7 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x11);\n      uVar17 = (uint)bVar7;\n      if ((bVar14 & 1) != 0) {\n        uVar17 = bVar7 + 8;\n      }\n      lVar13 = (&DAT_001e3c60)[uVar22];\n      if ((bVar14 & 4) != 0) {\n        *(ulong *)(lVar13 + 0x10) = (ulong)((uVar17 + 0x10) * 0x10) | *(ulong *)(lVar13 + 0x10);\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a48,"build_modrm_byte");\n      }\n      *(ulong *)(lVar13 + 0x10) = (ulong)(uVar17 << 4) | *(ulong *)(lVar13 + 0x10);\n    }\n    if (((&DAT_001e3bf4)[(ulong)uVar15 * 8] & 4) == 0) {\n                    \n      FUN_0011dd00("../../gas/config/tc-i386.c",0x1a4b,"build_modrm_byte");\n    }\n    DAT_001e3d18 = (&DAT_001e3c60)[uVar15];\n  }" ({ "{") (expression_statement "uVar22 = DAT_001e3c24 - 1;" (assignment_expression "uVar22 = DAT_001e3c24 - 1" (identifier "uVar22") (= "=") (binary_expression "DAT_001e3c24 - 1" (identifier "DAT_001e3c24") (- "-") (number_literal "1"))) (; ";")) (expression_statement "uVar18 = (ulong)uVar22;" (assignment_expression "uVar18 = (ulong)uVar22" (identifier "uVar18") (= "=") (cast_expression "(ulong)uVar22" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar22"))) (; ";")) (expression_statement "uVar15 = DAT_001e3c24 - 2;" (assignment_expression "uVar15 = DAT_001e3c24 - 2" (identifier "uVar15") (= "=") (binary_expression "DAT_001e3c24 - 2" (identifier "DAT_001e3c24") (- "-") (number_literal "2"))) (; ";")) (if_statement "if (((DAT_001e3c28 != 4) && ((DAT_001e3c28 != 3 || (DAT_001e3c30 != 1)))) ||\n       (((DAT_001e3bed & 0x18) != 8 ||\n        (((DAT_001e3bed & 0x60) == 0 || (((&DAT_001e3bf4)[uVar18 * 8] & 4) == 0)))))) {\n                    \n      FUN_0011dd00("../../gas/config/tc-i386.c",0x1a12,"build_modrm_byte");\n    }" (if "if") (parenthesized_expression "(((DAT_001e3c28 != 4) && ((DAT_001e3c28 != 3 || (DAT_001e3c30 != 1)))) ||\n       (((DAT_001e3bed & 0x18) != 8 ||\n        (((DAT_001e3bed & 0x60) == 0 || (((&DAT_001e3bf4)[uVar18 * 8] & 4) == 0))))))" (( "(") (binary_expression "((DAT_001e3c28 != 4) && ((DAT_001e3c28 != 3 || (DAT_001e3c30 != 1)))) ||\n       (((DAT_001e3bed & 0x18) != 8 ||\n        (((DAT_001e3bed & 0x60) == 0 || (((&DAT_001e3bf4)[uVar18 * 8] & 4) == 0)))))" (parenthesized_expression "((DAT_001e3c28 != 4) && ((DAT_001e3c28 != 3 || (DAT_001e3c30 != 1))))" (( "(") (binary_expression "(DAT_001e3c28 != 4) && ((DAT_001e3c28 != 3 || (DAT_001e3c30 != 1)))" (parenthesized_expression "(DAT_001e3c28 != 4)" (( "(") (binary_expression "DAT_001e3c28 != 4" (identifier "DAT_001e3c28") (!= "!=") (number_literal "4")) () ")")) (&& "&&") (parenthesized_expression "((DAT_001e3c28 != 3 || (DAT_001e3c30 != 1)))" (( "(") (parenthesized_expression "(DAT_001e3c28 != 3 || (DAT_001e3c30 != 1))" (( "(") (binary_expression "DAT_001e3c28 != 3 || (DAT_001e3c30 != 1)" (binary_expression "DAT_001e3c28 != 3" (identifier "DAT_001e3c28") (!= "!=") (number_literal "3")) (|| "||") (parenthesized_expression "(DAT_001e3c30 != 1)" (( "(") (binary_expression "DAT_001e3c30 != 1" (identifier "DAT_001e3c30") (!= "!=") (number_literal "1")) () ")"))) () ")")) () ")"))) () ")")) (|| "||") (parenthesized_expression "(((DAT_001e3bed & 0x18) != 8 ||\n        (((DAT_001e3bed & 0x60) == 0 || (((&DAT_001e3bf4)[uVar18 * 8] & 4) == 0)))))" (( "(") (parenthesized_expression "((DAT_001e3bed & 0x18) != 8 ||\n        (((DAT_001e3bed & 0x60) == 0 || (((&DAT_001e3bf4)[uVar18 * 8] & 4) == 0))))" (( "(") (binary_expression "(DAT_001e3bed & 0x18) != 8 ||\n        (((DAT_001e3bed & 0x60) == 0 || (((&DAT_001e3bf4)[uVar18 * 8] & 4) == 0)))" (binary_expression "(DAT_001e3bed & 0x18) != 8" (parenthesized_expression "(DAT_001e3bed & 0x18)" (( "(") (binary_expression "DAT_001e3bed & 0x18" (identifier "DAT_001e3bed") (& "&") (number_literal "0x18")) () ")")) (!= "!=") (number_literal "8")) (|| "||") (parenthesized_expression "(((DAT_001e3bed & 0x60) == 0 || (((&DAT_001e3bf4)[uVar18 * 8] & 4) == 0)))" (( "(") (parenthesized_expression "((DAT_001e3bed & 0x60) == 0 || (((&DAT_001e3bf4)[uVar18 * 8] & 4) == 0))" (( "(") (binary_expression "(DAT_001e3bed & 0x60) == 0 || (((&DAT_001e3bf4)[uVar18 * 8] & 4) == 0)" (binary_expression "(DAT_001e3bed & 0x60) == 0" (parenthesized_expression "(DAT_001e3bed & 0x60)" (( "(") (binary_expression "DAT_001e3bed & 0x60" (identifier "DAT_001e3bed") (& "&") (number_literal "0x60")) () ")")) (== "==") (number_literal "0")) (|| "||") (parenthesized_expression "(((&DAT_001e3bf4)[uVar18 * 8] & 4) == 0)" (( "(") (binary_expression "((&DAT_001e3bf4)[uVar18 * 8] & 4) == 0" (parenthesized_expression "((&DAT_001e3bf4)[uVar18 * 8] & 4)" (( "(") (binary_expression "(&DAT_001e3bf4)[uVar18 * 8] & 4" (subscript_expression "(&DAT_001e3bf4)[uVar18 * 8]" (parenthesized_expression "(&DAT_001e3bf4)" (( "(") (pointer_expression "&DAT_001e3bf4" (& "&") (identifier "DAT_001e3bf4")) () ")")) ([ "[") (binary_expression "uVar18 * 8" (identifier "uVar18") (* "*") (number_literal "8")) (] "]")) (& "&") (number_literal "4")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n                    \n      FUN_0011dd00("../../gas/config/tc-i386.c",0x1a12,"build_modrm_byte");\n    }" ({ "{") (expression_statement "FUN_0011dd00("../../gas/config/tc-i386.c",0x1a12,"build_modrm_byte");" (call_expression "FUN_0011dd00("../../gas/config/tc-i386.c",0x1a12,"build_modrm_byte")" (identifier "FUN_0011dd00") (argument_list "("../../gas/config/tc-i386.c",0x1a12,"build_modrm_byte")" (( "(") (string_literal ""../../gas/config/tc-i386.c"" (" """) (string_content "../../gas/config/tc-i386.c") (" """)) (, ",") (number_literal "0x1a12") (, ",") (string_literal ""build_modrm_byte"" (" """) (string_content "build_modrm_byte") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "uVar9 = (ulong)DAT_001e3c34;" (assignment_expression "uVar9 = (ulong)DAT_001e3c34" (identifier "uVar9") (= "=") (cast_expression "(ulong)DAT_001e3c34" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "DAT_001e3c34"))) (; ";")) (expression_statement "uVar20 = (ulong)(DAT_001e3c34 + 1);" (assignment_expression "uVar20 = (ulong)(DAT_001e3c34 + 1)" (identifier "uVar20") (= "=") (call_expression "(ulong)(DAT_001e3c34 + 1)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(DAT_001e3c34 + 1)" (( "(") (binary_expression "DAT_001e3c34 + 1" (identifier "DAT_001e3c34") (+ "+") (number_literal "1")) () ")")))) (; ";")) (if_statement "if ((DAT_001e3bed & 0x60) == 0x40) {\n      uVar20 = (ulong)DAT_001e3c34;\n      uVar9 = (ulong)(DAT_001e3c34 + 1);\n    }" (if "if") (parenthesized_expression "((DAT_001e3bed & 0x60) == 0x40)" (( "(") (binary_expression "(DAT_001e3bed & 0x60) == 0x40" (parenthesized_expression "(DAT_001e3bed & 0x60)" (( "(") (binary_expression "DAT_001e3bed & 0x60" (identifier "DAT_001e3bed") (& "&") (number_literal "0x60")) () ")")) (== "==") (number_literal "0x40")) () ")")) (compound_statement "{\n      uVar20 = (ulong)DAT_001e3c34;\n      uVar9 = (ulong)(DAT_001e3c34 + 1);\n    }" ({ "{") (expression_statement "uVar20 = (ulong)DAT_001e3c34;" (assignment_expression "uVar20 = (ulong)DAT_001e3c34" (identifier "uVar20") (= "=") (cast_expression "(ulong)DAT_001e3c34" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "DAT_001e3c34"))) (; ";")) (expression_statement "uVar9 = (ulong)(DAT_001e3c34 + 1);" (assignment_expression "uVar9 = (ulong)(DAT_001e3c34 + 1)" (identifier "uVar9") (= "=") (call_expression "(ulong)(DAT_001e3c34 + 1)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(DAT_001e3c34 + 1)" (( "(") (binary_expression "DAT_001e3c34 + 1" (identifier "DAT_001e3c34") (+ "+") (number_literal "1")) () ")")))) (; ";")) (} "}"))) (if_statement "if (DAT_001e3c34 == 0) {\n      uVar11 = (ulong)DAT_001e3c24;\n      DAT_001e3c24 = DAT_001e3c24 + 1;\n      DAT_001e3c34 = 1;\n      (&DAT_001e3c60)[uVar11] = (long)&DAT_001e3b20;\n      lVar13 = uVar11 + 0xe;\n      *(undefined8 *)(&DAT_001e3bc8 + lVar13 * 2) = 0;\n      *(undefined1 *)((long)&DAT_001e3bc8 + lVar13 * 8 + 1) = 4;\n      if (((&DAT_001e3bf4)[uVar9 * 8] & 4) == 0) {\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a2a,"build_modrm_byte");\n      }\n      DAT_001e3b38 = 2;\n      bVar14 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10);\n      bVar7 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x11);\n      uVar22 = (uint)bVar7;\n      if ((bVar14 & 1) != 0) {\n        uVar22 = bVar7 + 8;\n      }\n      if ((bVar14 & 4) != 0) {\n        _DAT_001e3b30 = (ulong)((uVar22 + 0x10) * 0x10);\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a2d,"build_modrm_byte");\n      }\n      _DAT_001e3b30 = (ulong)(uVar22 << 4);\n    }\n    else {\n      if ((DAT_001e3c34 != 1) || ((DAT_001e3c38._5_1_ & 1) == 0)) {\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a33,"build_modrm_byte");\n      }\n      if ((DAT_001e3bec & 0x20) == 0) {\n        DAT_001e3c38._1_1_ = DAT_001e3c38._1_1_ | 4;\n        uVar22 = 0;\n      }\n      else {\n        uVar20 = (ulong)((int)uVar20 - 1);\n        uVar9 = (ulong)((int)uVar9 - 1);\n      }\n      if (((&DAT_001e3bf4)[uVar9 * 8] & 4) == 0) {\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a45,"build_modrm_byte");\n      }\n      bVar14 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10);\n      bVar7 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x11);\n      uVar17 = (uint)bVar7;\n      if ((bVar14 & 1) != 0) {\n        uVar17 = bVar7 + 8;\n      }\n      lVar13 = (&DAT_001e3c60)[uVar22];\n      if ((bVar14 & 4) != 0) {\n        *(ulong *)(lVar13 + 0x10) = (ulong)((uVar17 + 0x10) * 0x10) | *(ulong *)(lVar13 + 0x10);\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a48,"build_modrm_byte");\n      }\n      *(ulong *)(lVar13 + 0x10) = (ulong)(uVar17 << 4) | *(ulong *)(lVar13 + 0x10);\n    }" (if "if") (parenthesized_expression "(DAT_001e3c34 == 0)" (( "(") (binary_expression "DAT_001e3c34 == 0" (identifier "DAT_001e3c34") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      uVar11 = (ulong)DAT_001e3c24;\n      DAT_001e3c24 = DAT_001e3c24 + 1;\n      DAT_001e3c34 = 1;\n      (&DAT_001e3c60)[uVar11] = (long)&DAT_001e3b20;\n      lVar13 = uVar11 + 0xe;\n      *(undefined8 *)(&DAT_001e3bc8 + lVar13 * 2) = 0;\n      *(undefined1 *)((long)&DAT_001e3bc8 + lVar13 * 8 + 1) = 4;\n      if (((&DAT_001e3bf4)[uVar9 * 8] & 4) == 0) {\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a2a,"build_modrm_byte");\n      }\n      DAT_001e3b38 = 2;\n      bVar14 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10);\n      bVar7 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x11);\n      uVar22 = (uint)bVar7;\n      if ((bVar14 & 1) != 0) {\n        uVar22 = bVar7 + 8;\n      }\n      if ((bVar14 & 4) != 0) {\n        _DAT_001e3b30 = (ulong)((uVar22 + 0x10) * 0x10);\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a2d,"build_modrm_byte");\n      }\n      _DAT_001e3b30 = (ulong)(uVar22 << 4);\n    }" ({ "{") (expression_statement "uVar11 = (ulong)DAT_001e3c24;" (assignment_expression "uVar11 = (ulong)DAT_001e3c24" (identifier "uVar11") (= "=") (cast_expression "(ulong)DAT_001e3c24" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "DAT_001e3c24"))) (; ";")) (expression_statement "DAT_001e3c24 = DAT_001e3c24 + 1;" (assignment_expression "DAT_001e3c24 = DAT_001e3c24 + 1" (identifier "DAT_001e3c24") (= "=") (binary_expression "DAT_001e3c24 + 1" (identifier "DAT_001e3c24") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "DAT_001e3c34 = 1;" (assignment_expression "DAT_001e3c34 = 1" (identifier "DAT_001e3c34") (= "=") (number_literal "1")) (; ";")) (expression_statement "(&DAT_001e3c60)[uVar11] = (long)&DAT_001e3b20;" (assignment_expression "(&DAT_001e3c60)[uVar11] = (long)&DAT_001e3b20" (subscript_expression "(&DAT_001e3c60)[uVar11]" (parenthesized_expression "(&DAT_001e3c60)" (( "(") (pointer_expression "&DAT_001e3c60" (& "&") (identifier "DAT_001e3c60")) () ")")) ([ "[") (identifier "uVar11") (] "]")) (= "=") (cast_expression "(long)&DAT_001e3b20" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (pointer_expression "&DAT_001e3b20" (& "&") (identifier "DAT_001e3b20")))) (; ";")) (expression_statement "lVar13 = uVar11 + 0xe;" (assignment_expression "lVar13 = uVar11 + 0xe" (identifier "lVar13") (= "=") (binary_expression "uVar11 + 0xe" (identifier "uVar11") (+ "+") (number_literal "0xe"))) (; ";")) (expression_statement "*(undefined8 *)(&DAT_001e3bc8 + lVar13 * 2) = 0;" (assignment_expression "*(undefined8 *)(&DAT_001e3bc8 + lVar13 * 2) = 0" (pointer_expression "*(undefined8 *)(&DAT_001e3bc8 + lVar13 * 2)" (* "*") (cast_expression "(undefined8 *)(&DAT_001e3bc8 + lVar13 * 2)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_001e3bc8 + lVar13 * 2)" (( "(") (binary_expression "&DAT_001e3bc8 + lVar13 * 2" (pointer_expression "&DAT_001e3bc8" (& "&") (identifier "DAT_001e3bc8")) (+ "+") (binary_expression "lVar13 * 2" (identifier "lVar13") (* "*") (number_literal "2"))) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined1 *)((long)&DAT_001e3bc8 + lVar13 * 8 + 1) = 4;" (assignment_expression "*(undefined1 *)((long)&DAT_001e3bc8 + lVar13 * 8 + 1) = 4" (pointer_expression "*(undefined1 *)((long)&DAT_001e3bc8 + lVar13 * 8 + 1)" (* "*") (cast_expression "(undefined1 *)((long)&DAT_001e3bc8 + lVar13 * 8 + 1)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)&DAT_001e3bc8 + lVar13 * 8 + 1)" (( "(") (binary_expression "(long)&DAT_001e3bc8 + lVar13 * 8 + 1" (binary_expression "(long)&DAT_001e3bc8 + lVar13 * 8" (cast_expression "(long)&DAT_001e3bc8" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (pointer_expression "&DAT_001e3bc8" (& "&") (identifier "DAT_001e3bc8"))) (+ "+") (binary_expression "lVar13 * 8" (identifier "lVar13") (* "*") (number_literal "8"))) (+ "+") (number_literal "1")) () ")")))) (= "=") (number_literal "4")) (; ";")) (if_statement "if (((&DAT_001e3bf4)[uVar9 * 8] & 4) == 0) {\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a2a,"build_modrm_byte");\n      }" (if "if") (parenthesized_expression "(((&DAT_001e3bf4)[uVar9 * 8] & 4) == 0)" (( "(") (binary_expression "((&DAT_001e3bf4)[uVar9 * 8] & 4) == 0" (parenthesized_expression "((&DAT_001e3bf4)[uVar9 * 8] & 4)" (( "(") (binary_expression "(&DAT_001e3bf4)[uVar9 * 8] & 4" (subscript_expression "(&DAT_001e3bf4)[uVar9 * 8]" (parenthesized_expression "(&DAT_001e3bf4)" (( "(") (pointer_expression "&DAT_001e3bf4" (& "&") (identifier "DAT_001e3bf4")) () ")")) ([ "[") (binary_expression "uVar9 * 8" (identifier "uVar9") (* "*") (number_literal "8")) (] "]")) (& "&") (number_literal "4")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a2a,"build_modrm_byte");\n      }" ({ "{") (expression_statement "FUN_0011dd00("../../gas/config/tc-i386.c",0x1a2a,"build_modrm_byte");" (call_expression "FUN_0011dd00("../../gas/config/tc-i386.c",0x1a2a,"build_modrm_byte")" (identifier "FUN_0011dd00") (argument_list "("../../gas/config/tc-i386.c",0x1a2a,"build_modrm_byte")" (( "(") (string_literal ""../../gas/config/tc-i386.c"" (" """) (string_content "../../gas/config/tc-i386.c") (" """)) (, ",") (number_literal "0x1a2a") (, ",") (string_literal ""build_modrm_byte"" (" """) (string_content "build_modrm_byte") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "DAT_001e3b38 = 2;" (assignment_expression "DAT_001e3b38 = 2" (identifier "DAT_001e3b38") (= "=") (number_literal "2")) (; ";")) (expression_statement "bVar14 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10);" (assignment_expression "bVar14 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10)" (identifier "bVar14") (= "=") (pointer_expression "*(byte *)((&DAT_001e3c60)[uVar9] + 0x10)" (* "*") (cast_expression "(byte *)((&DAT_001e3c60)[uVar9] + 0x10)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((&DAT_001e3c60)[uVar9] + 0x10)" (( "(") (binary_expression "(&DAT_001e3c60)[uVar9] + 0x10" (subscript_expression "(&DAT_001e3c60)[uVar9]" (parenthesized_expression "(&DAT_001e3c60)" (( "(") (pointer_expression "&DAT_001e3c60" (& "&") (identifier "DAT_001e3c60")) () ")")) ([ "[") (identifier "uVar9") (] "]")) (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "bVar7 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x11);" (assignment_expression "bVar7 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x11)" (identifier "bVar7") (= "=") (pointer_expression "*(byte *)((&DAT_001e3c60)[uVar9] + 0x11)" (* "*") (cast_expression "(byte *)((&DAT_001e3c60)[uVar9] + 0x11)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((&DAT_001e3c60)[uVar9] + 0x11)" (( "(") (binary_expression "(&DAT_001e3c60)[uVar9] + 0x11" (subscript_expression "(&DAT_001e3c60)[uVar9]" (parenthesized_expression "(&DAT_001e3c60)" (( "(") (pointer_expression "&DAT_001e3c60" (& "&") (identifier "DAT_001e3c60")) () ")")) ([ "[") (identifier "uVar9") (] "]")) (+ "+") (number_literal "0x11")) () ")"))))) (; ";")) (expression_statement "uVar22 = (uint)bVar7;" (assignment_expression "uVar22 = (uint)bVar7" (identifier "uVar22") (= "=") (cast_expression "(uint)bVar7" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar7"))) (; ";")) (if_statement "if ((bVar14 & 1) != 0) {\n        uVar22 = bVar7 + 8;\n      }" (if "if") (parenthesized_expression "((bVar14 & 1) != 0)" (( "(") (binary_expression "(bVar14 & 1) != 0" (parenthesized_expression "(bVar14 & 1)" (( "(") (binary_expression "bVar14 & 1" (identifier "bVar14") (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        uVar22 = bVar7 + 8;\n      }" ({ "{") (expression_statement "uVar22 = bVar7 + 8;" (assignment_expression "uVar22 = bVar7 + 8" (identifier "uVar22") (= "=") (binary_expression "bVar7 + 8" (identifier "bVar7") (+ "+") (number_literal "8"))) (; ";")) (} "}"))) (if_statement "if ((bVar14 & 4) != 0) {\n        _DAT_001e3b30 = (ulong)((uVar22 + 0x10) * 0x10);\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a2d,"build_modrm_byte");\n      }" (if "if") (parenthesized_expression "((bVar14 & 4) != 0)" (( "(") (binary_expression "(bVar14 & 4) != 0" (parenthesized_expression "(bVar14 & 4)" (( "(") (binary_expression "bVar14 & 4" (identifier "bVar14") (& "&") (number_literal "4")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        _DAT_001e3b30 = (ulong)((uVar22 + 0x10) * 0x10);\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a2d,"build_modrm_byte");\n      }" ({ "{") (expression_statement "_DAT_001e3b30 = (ulong)((uVar22 + 0x10) * 0x10);" (assignment_expression "_DAT_001e3b30 = (ulong)((uVar22 + 0x10) * 0x10)" (identifier "_DAT_001e3b30") (= "=") (call_expression "(ulong)((uVar22 + 0x10) * 0x10)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "((uVar22 + 0x10) * 0x10)" (( "(") (binary_expression "(uVar22 + 0x10) * 0x10" (parenthesized_expression "(uVar22 + 0x10)" (( "(") (binary_expression "uVar22 + 0x10" (identifier "uVar22") (+ "+") (number_literal "0x10")) () ")")) (* "*") (number_literal "0x10")) () ")")))) (; ";")) (expression_statement "FUN_0011dd00("../../gas/config/tc-i386.c",0x1a2d,"build_modrm_byte");" (call_expression "FUN_0011dd00("../../gas/config/tc-i386.c",0x1a2d,"build_modrm_byte")" (identifier "FUN_0011dd00") (argument_list "("../../gas/config/tc-i386.c",0x1a2d,"build_modrm_byte")" (( "(") (string_literal ""../../gas/config/tc-i386.c"" (" """) (string_content "../../gas/config/tc-i386.c") (" """)) (, ",") (number_literal "0x1a2d") (, ",") (string_literal ""build_modrm_byte"" (" """) (string_content "build_modrm_byte") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "_DAT_001e3b30 = (ulong)(uVar22 << 4);" (assignment_expression "_DAT_001e3b30 = (ulong)(uVar22 << 4)" (identifier "_DAT_001e3b30") (= "=") (call_expression "(ulong)(uVar22 << 4)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar22 << 4)" (( "(") (binary_expression "uVar22 << 4" (identifier "uVar22") (<< "<<") (number_literal "4")) () ")")))) (; ";")) (} "}")) (else_clause "else {\n      if ((DAT_001e3c34 != 1) || ((DAT_001e3c38._5_1_ & 1) == 0)) {\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a33,"build_modrm_byte");\n      }\n      if ((DAT_001e3bec & 0x20) == 0) {\n        DAT_001e3c38._1_1_ = DAT_001e3c38._1_1_ | 4;\n        uVar22 = 0;\n      }\n      else {\n        uVar20 = (ulong)((int)uVar20 - 1);\n        uVar9 = (ulong)((int)uVar9 - 1);\n      }\n      if (((&DAT_001e3bf4)[uVar9 * 8] & 4) == 0) {\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a45,"build_modrm_byte");\n      }\n      bVar14 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10);\n      bVar7 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x11);\n      uVar17 = (uint)bVar7;\n      if ((bVar14 & 1) != 0) {\n        uVar17 = bVar7 + 8;\n      }\n      lVar13 = (&DAT_001e3c60)[uVar22];\n      if ((bVar14 & 4) != 0) {\n        *(ulong *)(lVar13 + 0x10) = (ulong)((uVar17 + 0x10) * 0x10) | *(ulong *)(lVar13 + 0x10);\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a48,"build_modrm_byte");\n      }\n      *(ulong *)(lVar13 + 0x10) = (ulong)(uVar17 << 4) | *(ulong *)(lVar13 + 0x10);\n    }" (else "else") (compound_statement "{\n      if ((DAT_001e3c34 != 1) || ((DAT_001e3c38._5_1_ & 1) == 0)) {\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a33,"build_modrm_byte");\n      }\n      if ((DAT_001e3bec & 0x20) == 0) {\n        DAT_001e3c38._1_1_ = DAT_001e3c38._1_1_ | 4;\n        uVar22 = 0;\n      }\n      else {\n        uVar20 = (ulong)((int)uVar20 - 1);\n        uVar9 = (ulong)((int)uVar9 - 1);\n      }\n      if (((&DAT_001e3bf4)[uVar9 * 8] & 4) == 0) {\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a45,"build_modrm_byte");\n      }\n      bVar14 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10);\n      bVar7 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x11);\n      uVar17 = (uint)bVar7;\n      if ((bVar14 & 1) != 0) {\n        uVar17 = bVar7 + 8;\n      }\n      lVar13 = (&DAT_001e3c60)[uVar22];\n      if ((bVar14 & 4) != 0) {\n        *(ulong *)(lVar13 + 0x10) = (ulong)((uVar17 + 0x10) * 0x10) | *(ulong *)(lVar13 + 0x10);\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a48,"build_modrm_byte");\n      }\n      *(ulong *)(lVar13 + 0x10) = (ulong)(uVar17 << 4) | *(ulong *)(lVar13 + 0x10);\n    }" ({ "{") (if_statement "if ((DAT_001e3c34 != 1) || ((DAT_001e3c38._5_1_ & 1) == 0)) {\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a33,"build_modrm_byte");\n      }" (if "if") (parenthesized_expression "((DAT_001e3c34 != 1) || ((DAT_001e3c38._5_1_ & 1) == 0))" (( "(") (binary_expression "(DAT_001e3c34 != 1) || ((DAT_001e3c38._5_1_ & 1) == 0)" (parenthesized_expression "(DAT_001e3c34 != 1)" (( "(") (binary_expression "DAT_001e3c34 != 1" (identifier "DAT_001e3c34") (!= "!=") (number_literal "1")) () ")")) (|| "||") (parenthesized_expression "((DAT_001e3c38._5_1_ & 1) == 0)" (( "(") (binary_expression "(DAT_001e3c38._5_1_ & 1) == 0" (parenthesized_expression "(DAT_001e3c38._5_1_ & 1)" (( "(") (binary_expression "DAT_001e3c38._5_1_ & 1" (field_expression "DAT_001e3c38._5_1_" (identifier "DAT_001e3c38") (. ".") (field_identifier "_5_1_")) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a33,"build_modrm_byte");\n      }" ({ "{") (expression_statement "FUN_0011dd00("../../gas/config/tc-i386.c",0x1a33,"build_modrm_byte");" (call_expression "FUN_0011dd00("../../gas/config/tc-i386.c",0x1a33,"build_modrm_byte")" (identifier "FUN_0011dd00") (argument_list "("../../gas/config/tc-i386.c",0x1a33,"build_modrm_byte")" (( "(") (string_literal ""../../gas/config/tc-i386.c"" (" """) (string_content "../../gas/config/tc-i386.c") (" """)) (, ",") (number_literal "0x1a33") (, ",") (string_literal ""build_modrm_byte"" (" """) (string_content "build_modrm_byte") (" """)) () ")"))) (; ";")) (} "}"))) (if_statement "if ((DAT_001e3bec & 0x20) == 0) {\n        DAT_001e3c38._1_1_ = DAT_001e3c38._1_1_ | 4;\n        uVar22 = 0;\n      }\n      else {\n        uVar20 = (ulong)((int)uVar20 - 1);\n        uVar9 = (ulong)((int)uVar9 - 1);\n      }" (if "if") (parenthesized_expression "((DAT_001e3bec & 0x20) == 0)" (( "(") (binary_expression "(DAT_001e3bec & 0x20) == 0" (parenthesized_expression "(DAT_001e3bec & 0x20)" (( "(") (binary_expression "DAT_001e3bec & 0x20" (identifier "DAT_001e3bec") (& "&") (number_literal "0x20")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        DAT_001e3c38._1_1_ = DAT_001e3c38._1_1_ | 4;\n        uVar22 = 0;\n      }" ({ "{") (expression_statement "DAT_001e3c38._1_1_ = DAT_001e3c38._1_1_ | 4;" (assignment_expression "DAT_001e3c38._1_1_ = DAT_001e3c38._1_1_ | 4" (field_expression "DAT_001e3c38._1_1_" (identifier "DAT_001e3c38") (. ".") (field_identifier "_1_1_")) (= "=") (binary_expression "DAT_001e3c38._1_1_ | 4" (field_expression "DAT_001e3c38._1_1_" (identifier "DAT_001e3c38") (. ".") (field_identifier "_1_1_")) (| "|") (number_literal "4"))) (; ";")) (expression_statement "uVar22 = 0;" (assignment_expression "uVar22 = 0" (identifier "uVar22") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n        uVar20 = (ulong)((int)uVar20 - 1);\n        uVar9 = (ulong)((int)uVar9 - 1);\n      }" (else "else") (compound_statement "{\n        uVar20 = (ulong)((int)uVar20 - 1);\n        uVar9 = (ulong)((int)uVar9 - 1);\n      }" ({ "{") (expression_statement "uVar20 = (ulong)((int)uVar20 - 1);" (assignment_expression "uVar20 = (ulong)((int)uVar20 - 1)" (identifier "uVar20") (= "=") (call_expression "(ulong)((int)uVar20 - 1)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "((int)uVar20 - 1)" (( "(") (binary_expression "(int)uVar20 - 1" (cast_expression "(int)uVar20" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar20")) (- "-") (number_literal "1")) () ")")))) (; ";")) (expression_statement "uVar9 = (ulong)((int)uVar9 - 1);" (assignment_expression "uVar9 = (ulong)((int)uVar9 - 1)" (identifier "uVar9") (= "=") (call_expression "(ulong)((int)uVar9 - 1)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "((int)uVar9 - 1)" (( "(") (binary_expression "(int)uVar9 - 1" (cast_expression "(int)uVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar9")) (- "-") (number_literal "1")) () ")")))) (; ";")) (} "}")))) (if_statement "if (((&DAT_001e3bf4)[uVar9 * 8] & 4) == 0) {\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a45,"build_modrm_byte");\n      }" (if "if") (parenthesized_expression "(((&DAT_001e3bf4)[uVar9 * 8] & 4) == 0)" (( "(") (binary_expression "((&DAT_001e3bf4)[uVar9 * 8] & 4) == 0" (parenthesized_expression "((&DAT_001e3bf4)[uVar9 * 8] & 4)" (( "(") (binary_expression "(&DAT_001e3bf4)[uVar9 * 8] & 4" (subscript_expression "(&DAT_001e3bf4)[uVar9 * 8]" (parenthesized_expression "(&DAT_001e3bf4)" (( "(") (pointer_expression "&DAT_001e3bf4" (& "&") (identifier "DAT_001e3bf4")) () ")")) ([ "[") (binary_expression "uVar9 * 8" (identifier "uVar9") (* "*") (number_literal "8")) (] "]")) (& "&") (number_literal "4")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a45,"build_modrm_byte");\n      }" ({ "{") (expression_statement "FUN_0011dd00("../../gas/config/tc-i386.c",0x1a45,"build_modrm_byte");" (call_expression "FUN_0011dd00("../../gas/config/tc-i386.c",0x1a45,"build_modrm_byte")" (identifier "FUN_0011dd00") (argument_list "("../../gas/config/tc-i386.c",0x1a45,"build_modrm_byte")" (( "(") (string_literal ""../../gas/config/tc-i386.c"" (" """) (string_content "../../gas/config/tc-i386.c") (" """)) (, ",") (number_literal "0x1a45") (, ",") (string_literal ""build_modrm_byte"" (" """) (string_content "build_modrm_byte") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "bVar14 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10);" (assignment_expression "bVar14 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10)" (identifier "bVar14") (= "=") (pointer_expression "*(byte *)((&DAT_001e3c60)[uVar9] + 0x10)" (* "*") (cast_expression "(byte *)((&DAT_001e3c60)[uVar9] + 0x10)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((&DAT_001e3c60)[uVar9] + 0x10)" (( "(") (binary_expression "(&DAT_001e3c60)[uVar9] + 0x10" (subscript_expression "(&DAT_001e3c60)[uVar9]" (parenthesized_expression "(&DAT_001e3c60)" (( "(") (pointer_expression "&DAT_001e3c60" (& "&") (identifier "DAT_001e3c60")) () ")")) ([ "[") (identifier "uVar9") (] "]")) (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "bVar7 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x11);" (assignment_expression "bVar7 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x11)" (identifier "bVar7") (= "=") (pointer_expression "*(byte *)((&DAT_001e3c60)[uVar9] + 0x11)" (* "*") (cast_expression "(byte *)((&DAT_001e3c60)[uVar9] + 0x11)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((&DAT_001e3c60)[uVar9] + 0x11)" (( "(") (binary_expression "(&DAT_001e3c60)[uVar9] + 0x11" (subscript_expression "(&DAT_001e3c60)[uVar9]" (parenthesized_expression "(&DAT_001e3c60)" (( "(") (pointer_expression "&DAT_001e3c60" (& "&") (identifier "DAT_001e3c60")) () ")")) ([ "[") (identifier "uVar9") (] "]")) (+ "+") (number_literal "0x11")) () ")"))))) (; ";")) (expression_statement "uVar17 = (uint)bVar7;" (assignment_expression "uVar17 = (uint)bVar7" (identifier "uVar17") (= "=") (cast_expression "(uint)bVar7" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar7"))) (; ";")) (if_statement "if ((bVar14 & 1) != 0) {\n        uVar17 = bVar7 + 8;\n      }" (if "if") (parenthesized_expression "((bVar14 & 1) != 0)" (( "(") (binary_expression "(bVar14 & 1) != 0" (parenthesized_expression "(bVar14 & 1)" (( "(") (binary_expression "bVar14 & 1" (identifier "bVar14") (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        uVar17 = bVar7 + 8;\n      }" ({ "{") (expression_statement "uVar17 = bVar7 + 8;" (assignment_expression "uVar17 = bVar7 + 8" (identifier "uVar17") (= "=") (binary_expression "bVar7 + 8" (identifier "bVar7") (+ "+") (number_literal "8"))) (; ";")) (} "}"))) (expression_statement "lVar13 = (&DAT_001e3c60)[uVar22];" (assignment_expression "lVar13 = (&DAT_001e3c60)[uVar22]" (identifier "lVar13") (= "=") (subscript_expression "(&DAT_001e3c60)[uVar22]" (parenthesized_expression "(&DAT_001e3c60)" (( "(") (pointer_expression "&DAT_001e3c60" (& "&") (identifier "DAT_001e3c60")) () ")")) ([ "[") (identifier "uVar22") (] "]"))) (; ";")) (if_statement "if ((bVar14 & 4) != 0) {\n        *(ulong *)(lVar13 + 0x10) = (ulong)((uVar17 + 0x10) * 0x10) | *(ulong *)(lVar13 + 0x10);\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a48,"build_modrm_byte");\n      }" (if "if") (parenthesized_expression "((bVar14 & 4) != 0)" (( "(") (binary_expression "(bVar14 & 4) != 0" (parenthesized_expression "(bVar14 & 4)" (( "(") (binary_expression "bVar14 & 4" (identifier "bVar14") (& "&") (number_literal "4")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        *(ulong *)(lVar13 + 0x10) = (ulong)((uVar17 + 0x10) * 0x10) | *(ulong *)(lVar13 + 0x10);\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a48,"build_modrm_byte");\n      }" ({ "{") (expression_statement "*(ulong *)(lVar13 + 0x10) = (ulong)((uVar17 + 0x10) * 0x10) | *(ulong *)(lVar13 + 0x10);" (assignment_expression "*(ulong *)(lVar13 + 0x10) = (ulong)((uVar17 + 0x10) * 0x10) | *(ulong *)(lVar13 + 0x10)" (pointer_expression "*(ulong *)(lVar13 + 0x10)" (* "*") (cast_expression "(ulong *)(lVar13 + 0x10)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar13 + 0x10)" (( "(") (binary_expression "lVar13 + 0x10" (identifier "lVar13") (+ "+") (number_literal "0x10")) () ")")))) (= "=") (binary_expression "(ulong)((uVar17 + 0x10) * 0x10) | *(ulong *)(lVar13 + 0x10)" (call_expression "(ulong)((uVar17 + 0x10) * 0x10)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "((uVar17 + 0x10) * 0x10)" (( "(") (binary_expression "(uVar17 + 0x10) * 0x10" (parenthesized_expression "(uVar17 + 0x10)" (( "(") (binary_expression "uVar17 + 0x10" (identifier "uVar17") (+ "+") (number_literal "0x10")) () ")")) (* "*") (number_literal "0x10")) () ")"))) (| "|") (pointer_expression "*(ulong *)(lVar13 + 0x10)" (* "*") (cast_expression "(ulong *)(lVar13 + 0x10)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar13 + 0x10)" (( "(") (binary_expression "lVar13 + 0x10" (identifier "lVar13") (+ "+") (number_literal "0x10")) () ")")))))) (; ";")) (expression_statement "FUN_0011dd00("../../gas/config/tc-i386.c",0x1a48,"build_modrm_byte");" (call_expression "FUN_0011dd00("../../gas/config/tc-i386.c",0x1a48,"build_modrm_byte")" (identifier "FUN_0011dd00") (argument_list "("../../gas/config/tc-i386.c",0x1a48,"build_modrm_byte")" (( "(") (string_literal ""../../gas/config/tc-i386.c"" (" """) (string_content "../../gas/config/tc-i386.c") (" """)) (, ",") (number_literal "0x1a48") (, ",") (string_literal ""build_modrm_byte"" (" """) (string_content "build_modrm_byte") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "*(ulong *)(lVar13 + 0x10) = (ulong)(uVar17 << 4) | *(ulong *)(lVar13 + 0x10);" (assignment_expression "*(ulong *)(lVar13 + 0x10) = (ulong)(uVar17 << 4) | *(ulong *)(lVar13 + 0x10)" (pointer_expression "*(ulong *)(lVar13 + 0x10)" (* "*") (cast_expression "(ulong *)(lVar13 + 0x10)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar13 + 0x10)" (( "(") (binary_expression "lVar13 + 0x10" (identifier "lVar13") (+ "+") (number_literal "0x10")) () ")")))) (= "=") (binary_expression "(ulong)(uVar17 << 4) | *(ulong *)(lVar13 + 0x10)" (call_expression "(ulong)(uVar17 << 4)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar17 << 4)" (( "(") (binary_expression "uVar17 << 4" (identifier "uVar17") (<< "<<") (number_literal "4")) () ")"))) (| "|") (pointer_expression "*(ulong *)(lVar13 + 0x10)" (* "*") (cast_expression "(ulong *)(lVar13 + 0x10)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar13 + 0x10)" (( "(") (binary_expression "lVar13 + 0x10" (identifier "lVar13") (+ "+") (number_literal "0x10")) () ")")))))) (; ";")) (} "}")))) (if_statement "if (((&DAT_001e3bf4)[(ulong)uVar15 * 8] & 4) == 0) {\n                    \n      FUN_0011dd00("../../gas/config/tc-i386.c",0x1a4b,"build_modrm_byte");\n    }" (if "if") (parenthesized_expression "(((&DAT_001e3bf4)[(ulong)uVar15 * 8] & 4) == 0)" (( "(") (binary_expression "((&DAT_001e3bf4)[(ulong)uVar15 * 8] & 4) == 0" (parenthesized_expression "((&DAT_001e3bf4)[(ulong)uVar15 * 8] & 4)" (( "(") (binary_expression "(&DAT_001e3bf4)[(ulong)uVar15 * 8] & 4" (subscript_expression "(&DAT_001e3bf4)[(ulong)uVar15 * 8]" (parenthesized_expression "(&DAT_001e3bf4)" (( "(") (pointer_expression "&DAT_001e3bf4" (& "&") (identifier "DAT_001e3bf4")) () ")")) ([ "[") (binary_expression "(ulong)uVar15 * 8" (cast_expression "(ulong)uVar15" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar15")) (* "*") (number_literal "8")) (] "]")) (& "&") (number_literal "4")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n      FUN_0011dd00("../../gas/config/tc-i386.c",0x1a4b,"build_modrm_byte");\n    }" ({ "{") (expression_statement "FUN_0011dd00("../../gas/config/tc-i386.c",0x1a4b,"build_modrm_byte");" (call_expression "FUN_0011dd00("../../gas/config/tc-i386.c",0x1a4b,"build_modrm_byte")" (identifier "FUN_0011dd00") (argument_list "("../../gas/config/tc-i386.c",0x1a4b,"build_modrm_byte")" (( "(") (string_literal ""../../gas/config/tc-i386.c"" (" """) (string_content "../../gas/config/tc-i386.c") (" """)) (, ",") (number_literal "0x1a4b") (, ",") (string_literal ""build_modrm_byte"" (" """) (string_content "build_modrm_byte") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "DAT_001e3d18 = (&DAT_001e3c60)[uVar15];" (assignment_expression "DAT_001e3d18 = (&DAT_001e3c60)[uVar15]" (identifier "DAT_001e3d18") (= "=") (subscript_expression "(&DAT_001e3c60)[uVar15]" (parenthesized_expression "(&DAT_001e3c60)" (( "(") (pointer_expression "&DAT_001e3c60" (& "&") (identifier "DAT_001e3c60")) () ")")) ([ "[") (identifier "uVar15") (] "]"))) (; ";")) (} "}"))) (expression_statement "lVar2 = DAT_001e3cb8;" (assignment_expression "lVar2 = DAT_001e3cb8" (identifier "lVar2") (= "=") (identifier "DAT_001e3cb8")) (; ";")) (expression_statement "lVar13 = DAT_001e3cb0;" (assignment_expression "lVar13 = DAT_001e3cb0" (identifier "lVar13") (= "=") (identifier "DAT_001e3cb0")) (; ";")) (expression_statement "uVar9 = (ulong)DAT_001e3c30;" (assignment_expression "uVar9 = (ulong)DAT_001e3c30" (identifier "uVar9") (= "=") (cast_expression "(ulong)DAT_001e3c30" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "DAT_001e3c30"))) (; ";")) (expression_statement "bVar14 = bVar19;" (assignment_expression "bVar14 = bVar19" (identifier "bVar14") (= "=") (identifier "bVar19")) (; ";")) (if_statement "if (DAT_001e3c30 == 0) {\n    if (DAT_001e3c28 == 2) {\n      if ((DAT_001e3bed >> 3 & 3) < 2) {\nLAB_0013335b:\n        if (DAT_001e3c24 == 3) {\nLAB_00133ea8:\n          if ((DAT_001e3c34 != 1) &&\n             ((DAT_001e3c34 != 0 ||\n              (((DAT_001e3bed & 0x18) != 8 && ((DAT_001e3c38._3_1_ & 1) == 0)))))) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1a6b,"build_modrm_byte");\n          }\n          uVar9 = (ulong)((DAT_001e3c38._1_1_ & 0xfc) != 0 || (DAT_001e3c38._3_1_ & 1) != 0);\n          uVar22 = 3;\n        }\n        else if (DAT_001e3c24 < 4) {\n          uVar22 = DAT_001e3c24;\n          if (DAT_001e3c24 != 2) goto LAB_00133dcf;\n        }\n        else {\n          if (DAT_001e3c24 != 4) goto joined_r0x00133753;\nLAB_00133379:\n          uVar9 = (ulong)DAT_001e3c34;\n          if (DAT_001e3c34 == 2) {\n            if (((DAT_001e3c38._1_1_ & 4) == 0) || ((DAT_001e3c40._1_1_ & 4) == 0))\n            goto LAB_00133d61;\n          }\n          else {\n            if ((((DAT_001e3bed & 0x18) != 8) || (DAT_001e3c34 != 1)) ||\n               ((((DAT_001e3c38._1_1_ & 4) == 0 && ((DAT_001e3c50._1_1_ & 4) == 0)) &&\n                (DAT_001e3d28 == 0)))) {\nLAB_00133d61:\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1a81,"build_modrm_byte");\n            }\n            uVar9 = (ulong)((DAT_001e3c38._1_1_ & 4) != 0);\n          }\n          uVar22 = 4;\n        }\nLAB_001337c1:\n        if (bVar19 != 8) {\n          uVar15 = (int)uVar9 + 1;\n          uVar18 = (ulong)uVar15;\n          if ((DAT_001e3d28 != 0) && (*(uint *)(DAT_001e3d28 + 4) == uVar15)) {\n            uVar18 = (ulong)((int)uVar9 + 2);\n          }\n          if ((DAT_001e3bed & 0x18) == 8) {\n            uVar20 = uVar9;\n            uVar11 = uVar18;\n            if ((((&DAT_001e3bf6)[uVar9 * 8] & 0x40) == 0) &&\n               (((&DAT_001e3bf6)[uVar18 * 8] & 0x40) != 0)) {\n              uVar20 = uVar18;\n              uVar11 = uVar9;\n            }\n            uVar15 = (int)uVar18 + 1;\n            uVar18 = (ulong)uVar15;\n            uVar9 = *(ulong *)((long)&DAT_001e3bc0 + (uVar11 + 6) * 8 + 4);\n            if ((uVar22 <= uVar15) ||\n               ((((uVar9 & 1) == 0 ||\n                 ((-1 < (char)((uVar9 & 0xfffffffff7ffffff) >> 0x18) &&\n                  (((&DAT_001e3bc8)[(uVar11 + 6) * 2] & 2) == 0)))) &&\n                (((uVar9 & 4) == 0 &&\n                 ((DAT_00153a50 != (int)(uVar9 & 0xfffffffff7ffffff) ||\n                  (DAT_00153a54 != (&DAT_001e3bc8)[(uVar11 + 6) * 2])))))))) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1ac9,"build_modrm_byte");\n            }\n            DAT_001e3d18 = (&DAT_001e3c60)[uVar11];\n            uVar9 = uVar20;\n          }\n        }\nLAB_001337ff:\n        DAT_001e3cf4 = 3;\n        if (((*(byte *)((long)&DAT_001e3bc0 + (uVar18 + 6) * 8 + 7) & 8) == 0) &&\n           ((*(ulong *)((long)&DAT_001e3bc0 + (uVar18 + 6) * 8 + 4) & 0x5f0000) == 0)) {\n          DAT_001e3cf0 = (uint)*(byte *)((&DAT_001e3c60)[uVar18] + 0x11);\n          DAT_001e3cec = (uint)*(byte *)((&DAT_001e3c60)[uVar9] + 0x11);\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar18] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 4;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 4;\n          }\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 1;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 1;\n          }\n        }\n        else {\n          DAT_001e3cf0 = (uint)*(byte *)((&DAT_001e3c60)[uVar9] + 0x11);\n          DAT_001e3cec = (uint)*(byte *)((&DAT_001e3c60)[uVar18] + 0x11);\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar18] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 1;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 1;\n          }\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 4;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 4;\n          }\n        }\n        if ((DAT_001e3b14 != 2) && ((DAT_001e3cf8 & 4) != 0)) {\n          if ((*(byte *)(&DAT_001e3bc8 + ((ulong)(DAT_001e3bf7 >> 3 & 1) + 0xe) * 2) & 0x10) == 0) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1af4,"build_modrm_byte");\n          }\n          DAT_001e3cf8 = DAT_001e3cf8 & 0xfffffffb;\n          FUN_00131f90(0xf0);\n          return (undefined1 *)0x0;\n        }\n        DAT_001e3cf4 = 3;\n        return (undefined1 *)0x0;\n      }\n    }\n    else if (DAT_001e3c28 == 3) {\n      if ((DAT_001e3bed & 0x18) == 8) goto LAB_0013335b;\n    }\n    else if ((DAT_001e3c28 == 4) && (bVar19 == 8)) {\n      if (DAT_001e3c24 == 3) goto LAB_00133ea8;\n      if (DAT_001e3c24 < 4) {\n        if (DAT_001e3c24 != 2) goto LAB_00133dcf;\n        goto LAB_001337ff;\n      }\n      if (DAT_001e3c24 == 4) goto LAB_00133379;\njoined_r0x00133753:\n      if (DAT_001e3c24 != 5) {\nLAB_00133dcf:\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1aa0,"build_modrm_byte");\n      }\n      if (DAT_001e3bef == '\0') {\n        uVar9 = uVar20;\n        uVar22 = 5;\n      }\n      else {\n        if (((DAT_001e3c34 != 2) || (-1 < DAT_001e3bef)) || ((DAT_001e3c38._1_1_ & 0xfc) == 0)) {\n                    \n          FUN_0011dd00("../../gas/config/tc-i386.c",0x1a96,"build_modrm_byte");\n        }\n        if ((DAT_001e3c40._1_1_ & 0xfc) == 0) {\n          if ((DAT_001e3c58._1_1_ & 0xfc) == 0) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1a9c,"build_modrm_byte");\n          }\n          uVar9 = 1;\n          uVar22 = 5;\n        }\n        else {\n          uVar9 = (ulong)DAT_001e3c34;\n          uVar22 = 5;\n        }\n      }\n      goto LAB_001337c1;\n    }\n    uVar22 = 0xffffffff;\n    puVar10 = (undefined1 *)0x0;\n  }\n  else {\n    if (DAT_001e3c24 == 0) {\nLAB_0013303b:\n                    \n      FUN_0011dd00("../../gas/config/tc-i386.c",0x1b05,"build_modrm_byte");\n    }\n    if ((DAT_001e3c38._2_1_ & 0x5f) == 0) {\n      uVar9 = 1;\n      do {\n        uVar20 = uVar9 & 0xffffffff;\n        if (DAT_001e3c24 <= (uint)uVar9) goto LAB_0013303b;\n        puVar3 = &DAT_001e3c38 + uVar9;\n        uVar9 = uVar9 + 1;\n      } while ((*puVar3 & 0x5f0000) == 0);\n    }\n    else {\n      uVar20 = 0;\n    }\n    bVar21 = bVar21 & 0x30;\n    uVar22 = (uint)uVar20;\n    if (bVar21 == 0) {\nLAB_0013313d:\n      if (lVar13 != 0) goto LAB_00133146;\nLAB_00133448:\n      lVar13 = DAT_001e3cb8;\n      DAT_001e3cf4 = 0;\n      if (DAT_001e3c2c == 0) {\n        if (DAT_001e3cb8 == 0) {\n          iVar16 = 1;\n          goto LAB_00133cae;\n        }\n        if (bVar21 == 0) {\n          iVar16 = 1;\n          goto LAB_00133af0;\n        }\n        goto LAB_00133a60;\n      }\n      if (DAT_001e3cb8 != 0) {\n        if (bVar21 == 0) {\n          iVar16 = 0;\nLAB_00133af0:\n          uVar15 = (uint)*(byte *)(DAT_001e3cb8 + 0x11);\n          DAT_001e3cec = 4;\n          if ((byte)(*(byte *)(DAT_001e3cb8 + 0x11) + 4) < 2) {\n            uVar15 = 4;\n          }\n          _DAT_001e3d00 = CONCAT44(uVar15,5);\n          DAT_001e3d08 = DAT_001e3cc0;\n          lVar2 = uVar20 * 8;\n          bVar21 = *(byte *)((long)&DAT_001e3c38 + lVar2 + 2);\n          bVar24 = DAT_001e3b14 == 2;\n          *(byte *)((long)&DAT_001e3c38 + lVar2 + 2) = bVar21 & 0xec;\n          if ((bVar24) && (DAT_001e3ce6 == '\0')) {\n            *(byte *)((long)&DAT_001e3c38 + lVar2 + 2) = bVar21 & 0xe0 | 8;\n          }\n          else {\n            *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) =\n                 *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xf3 | 4;\n          }\n          puVar10 = ds;\n          if ((*(byte *)(lVar13 + 0x10) & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 2;\n          }\n          goto LAB_00133b80;\n        }\n        goto LAB_00133424;\n      }\n      iVar16 = 0;\nLAB_00133cae:\n      if (bVar21 != 0) {\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1b33,"build_modrm_byte");\n      }\n      if (DAT_001e3b14 == 2) {\n        DAT_001e3cec = 4;\n        uVar17 = (uint)(DAT_001e3ce6 == '\0');\n        uVar15 = (uint)(DAT_001e3ce6 != '\0');\n        _DAT_001e3d00 = 0x400000005;\n        iVar8 = 0;\n      }\n      else if ((DAT_001e3b14 == 1) == (DAT_001e3ce6 != '\0')) {\n        DAT_001e3cec = 5;\n        uVar17 = 0;\n        uVar15 = 1;\n        iVar8 = 0;\n      }\n      else {\n        DAT_001e3cec = 6;\n        uVar17 = 0;\n        uVar15 = 0;\n        iVar8 = 1;\n      }\n      uVar23 = ~DAT_00153a64;\n      *(uint *)(&DAT_001e3c38 + uVar20) =\n           iVar8 << 0x11 | uVar15 << 0x12 | uVar17 << 0x13 |\n           ~DAT_00153a60 & *(uint *)(&DAT_001e3c38 + uVar20);\n      puVar10 = ds;\n      puVar1 = (uint *)((long)&DAT_001e3c38 + uVar20 * 8 + 4);\n      *puVar1 = *puVar1 & uVar23;\nLAB_00133b80:\n      if (iVar16 != 0) goto LAB_00133a67;\n    }\n    else {\n      cVar6 = *(char *)(DAT_001e3cb8 + 0x11);\n      if ((byte)(cVar6 + 4U) < 2) {\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1b0b,"build_modrm_byte");\n      }\n      DAT_001e3cec = 4;\n      if (DAT_001e3cb0 == 0) {\n        _DAT_001e3d00 = 5;\n        DAT_001e3d08 = DAT_001e3cc0;\n        lVar4 = uVar20 * 8;\n        bVar7 = *(byte *)((long)&DAT_001e3c38 + lVar4 + 2);\n        bVar24 = DAT_001e3b14 == 2;\n        *(byte *)((long)&DAT_001e3c38 + lVar4 + 2) = bVar7 & 0xec;\n        if ((bVar24) && (DAT_001e3ce6 == '\0')) {\n          *(byte *)((long)&DAT_001e3c38 + lVar4 + 2) = bVar7 & 0xe0 | 8;\n        }\n        else {\n          *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) =\n               *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xf3 | 4;\n        }\n      }\n      _DAT_001e3d00 = (ulong)CONCAT14(cVar6,_DAT_001e3d00);\n      if ((*(byte *)(lVar2 + 0x10) & 1) != 0) {\n        DAT_001e3cf8 = DAT_001e3cf8 | 2;\n      }\n      if ((*(byte *)(lVar2 + 0x10) & 4) == 0) goto LAB_0013313d;\n      DAT_001e3cfc = DAT_001e3cfc | 2;\n      if (lVar13 == 0) goto LAB_00133448;\nLAB_00133146:\n      bVar7 = *(byte *)(lVar13 + 0x11);\n      if (bVar7 < 0xfe) {\n        if ((*(byte *)(lVar13 + 0xb) & 0x40) == 0) {\n          if ((DAT_001e3b14 == 2) &&\n             ((*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f) != 0)) {\n            lVar2 = (uVar20 + 0xe) * 8;\n            bVar14 = *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2);\n            bVar12 = bVar14 & 0xe1;\n            *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar14 & 0xed;\n            if (DAT_001e3ce6 == '\0') {\n              *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar12 | 8;\n            }\n            else {\n              *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar12 | 4;\n            }\n          }\n          if (bVar21 == 0) {\n            DAT_001e3cec = (uint)bVar7;\n          }\n          if ((*(byte *)(lVar13 + 0x10) & 1) == 0) {\n            puVar10 = ss;\n            if (1 < (byte)(bVar7 - 4)) {\n              puVar10 = ds;\n            }\n          }\n          else {\n            DAT_001e3cf8 = DAT_001e3cf8 | 1;\n            puVar10 = ds;\n          }\n          _DAT_001e3d00 = CONCAT44(DAT_001e3d04,(uint)bVar7);\n          iVar16 = 0;\n          if ((bVar7 == 5) && (iVar16 = 0, DAT_001e3c2c == 0)) {\n            iVar16 = 1;\n            pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n            *pbVar5 = *pbVar5 | 1;\n          }\n          iVar8 = DAT_001e3d40;\n          DAT_001e3d08 = DAT_001e3cc0;\n          if (DAT_001e3cb8 == 0) {\n            if (bVar21 != 0) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1bbf,"build_modrm_byte");\n            }\n            _DAT_001e3d00 = CONCAT44(4,_DAT_001e3d00);\n          }\n          else if (bVar21 == 0) {\n            DAT_001e3cec = 4;\n            uVar15 = (uint)*(byte *)(DAT_001e3cb8 + 0x11);\n            if ((byte)(*(byte *)(DAT_001e3cb8 + 0x11) + 4) < 2) {\n              uVar15 = 4;\n            }\n            _DAT_001e3d00 = CONCAT44(uVar15,_DAT_001e3d00);\n            if ((*(byte *)(DAT_001e3cb8 + 0x10) & 1) != 0) {\n              DAT_001e3cf8 = DAT_001e3cf8 | 2;\n            }\n          }\n          if (DAT_001e3c2c == 0) {\n            if ((iVar16 == 0) && (iVar16 = iVar8, DAT_001e3d40 != 0)) {\n              if (DAT_001e3d40 == 1) {\n                pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n                *pbVar5 = *pbVar5 | 1;\n              }\n              else {\n                pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n                *pbVar5 = *pbVar5 | 4;\n                iVar16 = 1;\n              }\n            }\n          }\n          else if (((&DAT_001e3c9c)[uVar20] == 0x179) || ((&DAT_001e3c9c)[uVar20] == 0x195)) {\n            DAT_001e3cf4 = 0;\n            goto LAB_00133b80;\n          }\n        }\n        else {\n          if (bVar21 != 0) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1b7c,"build_modrm_byte");\n          }\n          if (bVar7 == 3) {\n            if (DAT_001e3cb8 != 0) {\n              DAT_001e3cec = *(byte *)(DAT_001e3cb8 + 0x11) - 6;\n              goto LAB_0013317e;\n            }\n            DAT_001e3cec = 7;\n            puVar10 = ds;\n            iVar16 = 0;\n          }\n          else if (bVar7 == 5) {\n            if (DAT_001e3cb8 == 0) {\n              puVar10 = ss;\n              DAT_001e3cec = 6;\n              iVar16 = 0;\n              if ((*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f) == 0) {\n                pbVar5 = (byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2);\n                *pbVar5 = *pbVar5 | 1;\n                iVar16 = 1;\n              }\n            }\n            else {\n              DAT_001e3cec = *(byte *)(DAT_001e3cb8 + 0x11) - 4;\n              puVar10 = ss;\n              iVar16 = 0;\n            }\n          }\n          else {\n            DAT_001e3cec = bVar7 - 2;\nLAB_0013317e:\n            iVar16 = 0;\n            puVar10 = ds;\n          }\n        }\n        DAT_001e3cf4 = 1;\n        if (((ulong)(&DAT_001e3c38)[uVar20] >> 0x10 & 1) == 0) {\n          DAT_001e3cf4 = (uint)(((&DAT_001e3c38)[uVar20] & 0xe0000) != 0) * 2;\n        }\n        goto LAB_00133b80;\n      }\n      if (bVar21 != 0) {\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1b6f,"build_modrm_byte");\n      }\n      DAT_001e3cec = 5;\n      *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) =\n           *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xe0 | 8;\n      uVar15 = DAT_001e3c2c;\n      (&DAT_001e3c88)[uVar20] = (&DAT_001e3c88)[uVar20] | 1;\n      if (uVar15 != 0) {\nLAB_00133424:\n        puVar10 = ds;\n        goto LAB_00133089;\n      }\nLAB_00133a60:\n      puVar10 = ds;\nLAB_00133a67:\n      if ((&DAT_001e3bc0)[uVar20 + 0x14] != 0) {\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1bed,"build_modrm_byte");\n      }\n      uVar9 = (ulong)DAT_001e3c2c;\n      DAT_001e3c2c = DAT_001e3c2c + 1;\n      lVar13 = uVar9 * 0x20;\n      (&DAT_001e3bc0)[uVar20 + 0x14] = &DAT_001e3b60 + lVar13;\n      (&DAT_001e3b78)[lVar13] = 2;\n      *(undefined8 *)(&DAT_001e3b70 + lVar13) = 0;\n      *(undefined8 *)(&DAT_001e3b60 + lVar13) = 0;\n      *(undefined8 *)(&DAT_001e3b68 + lVar13) = 0;\n    }\n    bVar14 = DAT_001e3bee & 0xc;\n  }" (if "if") (parenthesized_expression "(DAT_001e3c30 == 0)" (( "(") (binary_expression "DAT_001e3c30 == 0" (identifier "DAT_001e3c30") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    if (DAT_001e3c28 == 2) {\n      if ((DAT_001e3bed >> 3 & 3) < 2) {\nLAB_0013335b:\n        if (DAT_001e3c24 == 3) {\nLAB_00133ea8:\n          if ((DAT_001e3c34 != 1) &&\n             ((DAT_001e3c34 != 0 ||\n              (((DAT_001e3bed & 0x18) != 8 && ((DAT_001e3c38._3_1_ & 1) == 0)))))) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1a6b,"build_modrm_byte");\n          }\n          uVar9 = (ulong)((DAT_001e3c38._1_1_ & 0xfc) != 0 || (DAT_001e3c38._3_1_ & 1) != 0);\n          uVar22 = 3;\n        }\n        else if (DAT_001e3c24 < 4) {\n          uVar22 = DAT_001e3c24;\n          if (DAT_001e3c24 != 2) goto LAB_00133dcf;\n        }\n        else {\n          if (DAT_001e3c24 != 4) goto joined_r0x00133753;\nLAB_00133379:\n          uVar9 = (ulong)DAT_001e3c34;\n          if (DAT_001e3c34 == 2) {\n            if (((DAT_001e3c38._1_1_ & 4) == 0) || ((DAT_001e3c40._1_1_ & 4) == 0))\n            goto LAB_00133d61;\n          }\n          else {\n            if ((((DAT_001e3bed & 0x18) != 8) || (DAT_001e3c34 != 1)) ||\n               ((((DAT_001e3c38._1_1_ & 4) == 0 && ((DAT_001e3c50._1_1_ & 4) == 0)) &&\n                (DAT_001e3d28 == 0)))) {\nLAB_00133d61:\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1a81,"build_modrm_byte");\n            }\n            uVar9 = (ulong)((DAT_001e3c38._1_1_ & 4) != 0);\n          }\n          uVar22 = 4;\n        }\nLAB_001337c1:\n        if (bVar19 != 8) {\n          uVar15 = (int)uVar9 + 1;\n          uVar18 = (ulong)uVar15;\n          if ((DAT_001e3d28 != 0) && (*(uint *)(DAT_001e3d28 + 4) == uVar15)) {\n            uVar18 = (ulong)((int)uVar9 + 2);\n          }\n          if ((DAT_001e3bed & 0x18) == 8) {\n            uVar20 = uVar9;\n            uVar11 = uVar18;\n            if ((((&DAT_001e3bf6)[uVar9 * 8] & 0x40) == 0) &&\n               (((&DAT_001e3bf6)[uVar18 * 8] & 0x40) != 0)) {\n              uVar20 = uVar18;\n              uVar11 = uVar9;\n            }\n            uVar15 = (int)uVar18 + 1;\n            uVar18 = (ulong)uVar15;\n            uVar9 = *(ulong *)((long)&DAT_001e3bc0 + (uVar11 + 6) * 8 + 4);\n            if ((uVar22 <= uVar15) ||\n               ((((uVar9 & 1) == 0 ||\n                 ((-1 < (char)((uVar9 & 0xfffffffff7ffffff) >> 0x18) &&\n                  (((&DAT_001e3bc8)[(uVar11 + 6) * 2] & 2) == 0)))) &&\n                (((uVar9 & 4) == 0 &&\n                 ((DAT_00153a50 != (int)(uVar9 & 0xfffffffff7ffffff) ||\n                  (DAT_00153a54 != (&DAT_001e3bc8)[(uVar11 + 6) * 2])))))))) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1ac9,"build_modrm_byte");\n            }\n            DAT_001e3d18 = (&DAT_001e3c60)[uVar11];\n            uVar9 = uVar20;\n          }\n        }\nLAB_001337ff:\n        DAT_001e3cf4 = 3;\n        if (((*(byte *)((long)&DAT_001e3bc0 + (uVar18 + 6) * 8 + 7) & 8) == 0) &&\n           ((*(ulong *)((long)&DAT_001e3bc0 + (uVar18 + 6) * 8 + 4) & 0x5f0000) == 0)) {\n          DAT_001e3cf0 = (uint)*(byte *)((&DAT_001e3c60)[uVar18] + 0x11);\n          DAT_001e3cec = (uint)*(byte *)((&DAT_001e3c60)[uVar9] + 0x11);\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar18] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 4;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 4;\n          }\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 1;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 1;\n          }\n        }\n        else {\n          DAT_001e3cf0 = (uint)*(byte *)((&DAT_001e3c60)[uVar9] + 0x11);\n          DAT_001e3cec = (uint)*(byte *)((&DAT_001e3c60)[uVar18] + 0x11);\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar18] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 1;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 1;\n          }\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 4;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 4;\n          }\n        }\n        if ((DAT_001e3b14 != 2) && ((DAT_001e3cf8 & 4) != 0)) {\n          if ((*(byte *)(&DAT_001e3bc8 + ((ulong)(DAT_001e3bf7 >> 3 & 1) + 0xe) * 2) & 0x10) == 0) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1af4,"build_modrm_byte");\n          }\n          DAT_001e3cf8 = DAT_001e3cf8 & 0xfffffffb;\n          FUN_00131f90(0xf0);\n          return (undefined1 *)0x0;\n        }\n        DAT_001e3cf4 = 3;\n        return (undefined1 *)0x0;\n      }\n    }\n    else if (DAT_001e3c28 == 3) {\n      if ((DAT_001e3bed & 0x18) == 8) goto LAB_0013335b;\n    }\n    else if ((DAT_001e3c28 == 4) && (bVar19 == 8)) {\n      if (DAT_001e3c24 == 3) goto LAB_00133ea8;\n      if (DAT_001e3c24 < 4) {\n        if (DAT_001e3c24 != 2) goto LAB_00133dcf;\n        goto LAB_001337ff;\n      }\n      if (DAT_001e3c24 == 4) goto LAB_00133379;\njoined_r0x00133753:\n      if (DAT_001e3c24 != 5) {\nLAB_00133dcf:\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1aa0,"build_modrm_byte");\n      }\n      if (DAT_001e3bef == '\0') {\n        uVar9 = uVar20;\n        uVar22 = 5;\n      }\n      else {\n        if (((DAT_001e3c34 != 2) || (-1 < DAT_001e3bef)) || ((DAT_001e3c38._1_1_ & 0xfc) == 0)) {\n                    \n          FUN_0011dd00("../../gas/config/tc-i386.c",0x1a96,"build_modrm_byte");\n        }\n        if ((DAT_001e3c40._1_1_ & 0xfc) == 0) {\n          if ((DAT_001e3c58._1_1_ & 0xfc) == 0) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1a9c,"build_modrm_byte");\n          }\n          uVar9 = 1;\n          uVar22 = 5;\n        }\n        else {\n          uVar9 = (ulong)DAT_001e3c34;\n          uVar22 = 5;\n        }\n      }\n      goto LAB_001337c1;\n    }\n    uVar22 = 0xffffffff;\n    puVar10 = (undefined1 *)0x0;\n  }" ({ "{") (if_statement "if (DAT_001e3c28 == 2) {\n      if ((DAT_001e3bed >> 3 & 3) < 2) {\nLAB_0013335b:\n        if (DAT_001e3c24 == 3) {\nLAB_00133ea8:\n          if ((DAT_001e3c34 != 1) &&\n             ((DAT_001e3c34 != 0 ||\n              (((DAT_001e3bed & 0x18) != 8 && ((DAT_001e3c38._3_1_ & 1) == 0)))))) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1a6b,"build_modrm_byte");\n          }\n          uVar9 = (ulong)((DAT_001e3c38._1_1_ & 0xfc) != 0 || (DAT_001e3c38._3_1_ & 1) != 0);\n          uVar22 = 3;\n        }\n        else if (DAT_001e3c24 < 4) {\n          uVar22 = DAT_001e3c24;\n          if (DAT_001e3c24 != 2) goto LAB_00133dcf;\n        }\n        else {\n          if (DAT_001e3c24 != 4) goto joined_r0x00133753;\nLAB_00133379:\n          uVar9 = (ulong)DAT_001e3c34;\n          if (DAT_001e3c34 == 2) {\n            if (((DAT_001e3c38._1_1_ & 4) == 0) || ((DAT_001e3c40._1_1_ & 4) == 0))\n            goto LAB_00133d61;\n          }\n          else {\n            if ((((DAT_001e3bed & 0x18) != 8) || (DAT_001e3c34 != 1)) ||\n               ((((DAT_001e3c38._1_1_ & 4) == 0 && ((DAT_001e3c50._1_1_ & 4) == 0)) &&\n                (DAT_001e3d28 == 0)))) {\nLAB_00133d61:\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1a81,"build_modrm_byte");\n            }\n            uVar9 = (ulong)((DAT_001e3c38._1_1_ & 4) != 0);\n          }\n          uVar22 = 4;\n        }\nLAB_001337c1:\n        if (bVar19 != 8) {\n          uVar15 = (int)uVar9 + 1;\n          uVar18 = (ulong)uVar15;\n          if ((DAT_001e3d28 != 0) && (*(uint *)(DAT_001e3d28 + 4) == uVar15)) {\n            uVar18 = (ulong)((int)uVar9 + 2);\n          }\n          if ((DAT_001e3bed & 0x18) == 8) {\n            uVar20 = uVar9;\n            uVar11 = uVar18;\n            if ((((&DAT_001e3bf6)[uVar9 * 8] & 0x40) == 0) &&\n               (((&DAT_001e3bf6)[uVar18 * 8] & 0x40) != 0)) {\n              uVar20 = uVar18;\n              uVar11 = uVar9;\n            }\n            uVar15 = (int)uVar18 + 1;\n            uVar18 = (ulong)uVar15;\n            uVar9 = *(ulong *)((long)&DAT_001e3bc0 + (uVar11 + 6) * 8 + 4);\n            if ((uVar22 <= uVar15) ||\n               ((((uVar9 & 1) == 0 ||\n                 ((-1 < (char)((uVar9 & 0xfffffffff7ffffff) >> 0x18) &&\n                  (((&DAT_001e3bc8)[(uVar11 + 6) * 2] & 2) == 0)))) &&\n                (((uVar9 & 4) == 0 &&\n                 ((DAT_00153a50 != (int)(uVar9 & 0xfffffffff7ffffff) ||\n                  (DAT_00153a54 != (&DAT_001e3bc8)[(uVar11 + 6) * 2])))))))) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1ac9,"build_modrm_byte");\n            }\n            DAT_001e3d18 = (&DAT_001e3c60)[uVar11];\n            uVar9 = uVar20;\n          }\n        }\nLAB_001337ff:\n        DAT_001e3cf4 = 3;\n        if (((*(byte *)((long)&DAT_001e3bc0 + (uVar18 + 6) * 8 + 7) & 8) == 0) &&\n           ((*(ulong *)((long)&DAT_001e3bc0 + (uVar18 + 6) * 8 + 4) & 0x5f0000) == 0)) {\n          DAT_001e3cf0 = (uint)*(byte *)((&DAT_001e3c60)[uVar18] + 0x11);\n          DAT_001e3cec = (uint)*(byte *)((&DAT_001e3c60)[uVar9] + 0x11);\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar18] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 4;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 4;\n          }\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 1;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 1;\n          }\n        }\n        else {\n          DAT_001e3cf0 = (uint)*(byte *)((&DAT_001e3c60)[uVar9] + 0x11);\n          DAT_001e3cec = (uint)*(byte *)((&DAT_001e3c60)[uVar18] + 0x11);\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar18] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 1;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 1;\n          }\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 4;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 4;\n          }\n        }\n        if ((DAT_001e3b14 != 2) && ((DAT_001e3cf8 & 4) != 0)) {\n          if ((*(byte *)(&DAT_001e3bc8 + ((ulong)(DAT_001e3bf7 >> 3 & 1) + 0xe) * 2) & 0x10) == 0) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1af4,"build_modrm_byte");\n          }\n          DAT_001e3cf8 = DAT_001e3cf8 & 0xfffffffb;\n          FUN_00131f90(0xf0);\n          return (undefined1 *)0x0;\n        }\n        DAT_001e3cf4 = 3;\n        return (undefined1 *)0x0;\n      }\n    }\n    else if (DAT_001e3c28 == 3) {\n      if ((DAT_001e3bed & 0x18) == 8) goto LAB_0013335b;\n    }\n    else if ((DAT_001e3c28 == 4) && (bVar19 == 8)) {\n      if (DAT_001e3c24 == 3) goto LAB_00133ea8;\n      if (DAT_001e3c24 < 4) {\n        if (DAT_001e3c24 != 2) goto LAB_00133dcf;\n        goto LAB_001337ff;\n      }\n      if (DAT_001e3c24 == 4) goto LAB_00133379;\njoined_r0x00133753:\n      if (DAT_001e3c24 != 5) {\nLAB_00133dcf:\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1aa0,"build_modrm_byte");\n      }\n      if (DAT_001e3bef == '\0') {\n        uVar9 = uVar20;\n        uVar22 = 5;\n      }\n      else {\n        if (((DAT_001e3c34 != 2) || (-1 < DAT_001e3bef)) || ((DAT_001e3c38._1_1_ & 0xfc) == 0)) {\n                    \n          FUN_0011dd00("../../gas/config/tc-i386.c",0x1a96,"build_modrm_byte");\n        }\n        if ((DAT_001e3c40._1_1_ & 0xfc) == 0) {\n          if ((DAT_001e3c58._1_1_ & 0xfc) == 0) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1a9c,"build_modrm_byte");\n          }\n          uVar9 = 1;\n          uVar22 = 5;\n        }\n        else {\n          uVar9 = (ulong)DAT_001e3c34;\n          uVar22 = 5;\n        }\n      }\n      goto LAB_001337c1;\n    }" (if "if") (parenthesized_expression "(DAT_001e3c28 == 2)" (( "(") (binary_expression "DAT_001e3c28 == 2" (identifier "DAT_001e3c28") (== "==") (number_literal "2")) () ")")) (compound_statement "{\n      if ((DAT_001e3bed >> 3 & 3) < 2) {\nLAB_0013335b:\n        if (DAT_001e3c24 == 3) {\nLAB_00133ea8:\n          if ((DAT_001e3c34 != 1) &&\n             ((DAT_001e3c34 != 0 ||\n              (((DAT_001e3bed & 0x18) != 8 && ((DAT_001e3c38._3_1_ & 1) == 0)))))) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1a6b,"build_modrm_byte");\n          }\n          uVar9 = (ulong)((DAT_001e3c38._1_1_ & 0xfc) != 0 || (DAT_001e3c38._3_1_ & 1) != 0);\n          uVar22 = 3;\n        }\n        else if (DAT_001e3c24 < 4) {\n          uVar22 = DAT_001e3c24;\n          if (DAT_001e3c24 != 2) goto LAB_00133dcf;\n        }\n        else {\n          if (DAT_001e3c24 != 4) goto joined_r0x00133753;\nLAB_00133379:\n          uVar9 = (ulong)DAT_001e3c34;\n          if (DAT_001e3c34 == 2) {\n            if (((DAT_001e3c38._1_1_ & 4) == 0) || ((DAT_001e3c40._1_1_ & 4) == 0))\n            goto LAB_00133d61;\n          }\n          else {\n            if ((((DAT_001e3bed & 0x18) != 8) || (DAT_001e3c34 != 1)) ||\n               ((((DAT_001e3c38._1_1_ & 4) == 0 && ((DAT_001e3c50._1_1_ & 4) == 0)) &&\n                (DAT_001e3d28 == 0)))) {\nLAB_00133d61:\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1a81,"build_modrm_byte");\n            }\n            uVar9 = (ulong)((DAT_001e3c38._1_1_ & 4) != 0);\n          }\n          uVar22 = 4;\n        }\nLAB_001337c1:\n        if (bVar19 != 8) {\n          uVar15 = (int)uVar9 + 1;\n          uVar18 = (ulong)uVar15;\n          if ((DAT_001e3d28 != 0) && (*(uint *)(DAT_001e3d28 + 4) == uVar15)) {\n            uVar18 = (ulong)((int)uVar9 + 2);\n          }\n          if ((DAT_001e3bed & 0x18) == 8) {\n            uVar20 = uVar9;\n            uVar11 = uVar18;\n            if ((((&DAT_001e3bf6)[uVar9 * 8] & 0x40) == 0) &&\n               (((&DAT_001e3bf6)[uVar18 * 8] & 0x40) != 0)) {\n              uVar20 = uVar18;\n              uVar11 = uVar9;\n            }\n            uVar15 = (int)uVar18 + 1;\n            uVar18 = (ulong)uVar15;\n            uVar9 = *(ulong *)((long)&DAT_001e3bc0 + (uVar11 + 6) * 8 + 4);\n            if ((uVar22 <= uVar15) ||\n               ((((uVar9 & 1) == 0 ||\n                 ((-1 < (char)((uVar9 & 0xfffffffff7ffffff) >> 0x18) &&\n                  (((&DAT_001e3bc8)[(uVar11 + 6) * 2] & 2) == 0)))) &&\n                (((uVar9 & 4) == 0 &&\n                 ((DAT_00153a50 != (int)(uVar9 & 0xfffffffff7ffffff) ||\n                  (DAT_00153a54 != (&DAT_001e3bc8)[(uVar11 + 6) * 2])))))))) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1ac9,"build_modrm_byte");\n            }\n            DAT_001e3d18 = (&DAT_001e3c60)[uVar11];\n            uVar9 = uVar20;\n          }\n        }\nLAB_001337ff:\n        DAT_001e3cf4 = 3;\n        if (((*(byte *)((long)&DAT_001e3bc0 + (uVar18 + 6) * 8 + 7) & 8) == 0) &&\n           ((*(ulong *)((long)&DAT_001e3bc0 + (uVar18 + 6) * 8 + 4) & 0x5f0000) == 0)) {\n          DAT_001e3cf0 = (uint)*(byte *)((&DAT_001e3c60)[uVar18] + 0x11);\n          DAT_001e3cec = (uint)*(byte *)((&DAT_001e3c60)[uVar9] + 0x11);\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar18] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 4;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 4;\n          }\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 1;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 1;\n          }\n        }\n        else {\n          DAT_001e3cf0 = (uint)*(byte *)((&DAT_001e3c60)[uVar9] + 0x11);\n          DAT_001e3cec = (uint)*(byte *)((&DAT_001e3c60)[uVar18] + 0x11);\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar18] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 1;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 1;\n          }\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 4;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 4;\n          }\n        }\n        if ((DAT_001e3b14 != 2) && ((DAT_001e3cf8 & 4) != 0)) {\n          if ((*(byte *)(&DAT_001e3bc8 + ((ulong)(DAT_001e3bf7 >> 3 & 1) + 0xe) * 2) & 0x10) == 0) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1af4,"build_modrm_byte");\n          }\n          DAT_001e3cf8 = DAT_001e3cf8 & 0xfffffffb;\n          FUN_00131f90(0xf0);\n          return (undefined1 *)0x0;\n        }\n        DAT_001e3cf4 = 3;\n        return (undefined1 *)0x0;\n      }\n    }" ({ "{") (if_statement "if ((DAT_001e3bed >> 3 & 3) < 2) {\nLAB_0013335b:\n        if (DAT_001e3c24 == 3) {\nLAB_00133ea8:\n          if ((DAT_001e3c34 != 1) &&\n             ((DAT_001e3c34 != 0 ||\n              (((DAT_001e3bed & 0x18) != 8 && ((DAT_001e3c38._3_1_ & 1) == 0)))))) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1a6b,"build_modrm_byte");\n          }\n          uVar9 = (ulong)((DAT_001e3c38._1_1_ & 0xfc) != 0 || (DAT_001e3c38._3_1_ & 1) != 0);\n          uVar22 = 3;\n        }\n        else if (DAT_001e3c24 < 4) {\n          uVar22 = DAT_001e3c24;\n          if (DAT_001e3c24 != 2) goto LAB_00133dcf;\n        }\n        else {\n          if (DAT_001e3c24 != 4) goto joined_r0x00133753;\nLAB_00133379:\n          uVar9 = (ulong)DAT_001e3c34;\n          if (DAT_001e3c34 == 2) {\n            if (((DAT_001e3c38._1_1_ & 4) == 0) || ((DAT_001e3c40._1_1_ & 4) == 0))\n            goto LAB_00133d61;\n          }\n          else {\n            if ((((DAT_001e3bed & 0x18) != 8) || (DAT_001e3c34 != 1)) ||\n               ((((DAT_001e3c38._1_1_ & 4) == 0 && ((DAT_001e3c50._1_1_ & 4) == 0)) &&\n                (DAT_001e3d28 == 0)))) {\nLAB_00133d61:\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1a81,"build_modrm_byte");\n            }\n            uVar9 = (ulong)((DAT_001e3c38._1_1_ & 4) != 0);\n          }\n          uVar22 = 4;\n        }\nLAB_001337c1:\n        if (bVar19 != 8) {\n          uVar15 = (int)uVar9 + 1;\n          uVar18 = (ulong)uVar15;\n          if ((DAT_001e3d28 != 0) && (*(uint *)(DAT_001e3d28 + 4) == uVar15)) {\n            uVar18 = (ulong)((int)uVar9 + 2);\n          }\n          if ((DAT_001e3bed & 0x18) == 8) {\n            uVar20 = uVar9;\n            uVar11 = uVar18;\n            if ((((&DAT_001e3bf6)[uVar9 * 8] & 0x40) == 0) &&\n               (((&DAT_001e3bf6)[uVar18 * 8] & 0x40) != 0)) {\n              uVar20 = uVar18;\n              uVar11 = uVar9;\n            }\n            uVar15 = (int)uVar18 + 1;\n            uVar18 = (ulong)uVar15;\n            uVar9 = *(ulong *)((long)&DAT_001e3bc0 + (uVar11 + 6) * 8 + 4);\n            if ((uVar22 <= uVar15) ||\n               ((((uVar9 & 1) == 0 ||\n                 ((-1 < (char)((uVar9 & 0xfffffffff7ffffff) >> 0x18) &&\n                  (((&DAT_001e3bc8)[(uVar11 + 6) * 2] & 2) == 0)))) &&\n                (((uVar9 & 4) == 0 &&\n                 ((DAT_00153a50 != (int)(uVar9 & 0xfffffffff7ffffff) ||\n                  (DAT_00153a54 != (&DAT_001e3bc8)[(uVar11 + 6) * 2])))))))) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1ac9,"build_modrm_byte");\n            }\n            DAT_001e3d18 = (&DAT_001e3c60)[uVar11];\n            uVar9 = uVar20;\n          }\n        }\nLAB_001337ff:\n        DAT_001e3cf4 = 3;\n        if (((*(byte *)((long)&DAT_001e3bc0 + (uVar18 + 6) * 8 + 7) & 8) == 0) &&\n           ((*(ulong *)((long)&DAT_001e3bc0 + (uVar18 + 6) * 8 + 4) & 0x5f0000) == 0)) {\n          DAT_001e3cf0 = (uint)*(byte *)((&DAT_001e3c60)[uVar18] + 0x11);\n          DAT_001e3cec = (uint)*(byte *)((&DAT_001e3c60)[uVar9] + 0x11);\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar18] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 4;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 4;\n          }\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 1;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 1;\n          }\n        }\n        else {\n          DAT_001e3cf0 = (uint)*(byte *)((&DAT_001e3c60)[uVar9] + 0x11);\n          DAT_001e3cec = (uint)*(byte *)((&DAT_001e3c60)[uVar18] + 0x11);\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar18] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 1;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 1;\n          }\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 4;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 4;\n          }\n        }\n        if ((DAT_001e3b14 != 2) && ((DAT_001e3cf8 & 4) != 0)) {\n          if ((*(byte *)(&DAT_001e3bc8 + ((ulong)(DAT_001e3bf7 >> 3 & 1) + 0xe) * 2) & 0x10) == 0) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1af4,"build_modrm_byte");\n          }\n          DAT_001e3cf8 = DAT_001e3cf8 & 0xfffffffb;\n          FUN_00131f90(0xf0);\n          return (undefined1 *)0x0;\n        }\n        DAT_001e3cf4 = 3;\n        return (undefined1 *)0x0;\n      }" (if "if") (parenthesized_expression "((DAT_001e3bed >> 3 & 3) < 2)" (( "(") (binary_expression "(DAT_001e3bed >> 3 & 3) < 2" (parenthesized_expression "(DAT_001e3bed >> 3 & 3)" (( "(") (binary_expression "DAT_001e3bed >> 3 & 3" (binary_expression "DAT_001e3bed >> 3" (identifier "DAT_001e3bed") (>> ">>") (number_literal "3")) (& "&") (number_literal "3")) () ")")) (< "<") (number_literal "2")) () ")")) (compound_statement "{\nLAB_0013335b:\n        if (DAT_001e3c24 == 3) {\nLAB_00133ea8:\n          if ((DAT_001e3c34 != 1) &&\n             ((DAT_001e3c34 != 0 ||\n              (((DAT_001e3bed & 0x18) != 8 && ((DAT_001e3c38._3_1_ & 1) == 0)))))) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1a6b,"build_modrm_byte");\n          }\n          uVar9 = (ulong)((DAT_001e3c38._1_1_ & 0xfc) != 0 || (DAT_001e3c38._3_1_ & 1) != 0);\n          uVar22 = 3;\n        }\n        else if (DAT_001e3c24 < 4) {\n          uVar22 = DAT_001e3c24;\n          if (DAT_001e3c24 != 2) goto LAB_00133dcf;\n        }\n        else {\n          if (DAT_001e3c24 != 4) goto joined_r0x00133753;\nLAB_00133379:\n          uVar9 = (ulong)DAT_001e3c34;\n          if (DAT_001e3c34 == 2) {\n            if (((DAT_001e3c38._1_1_ & 4) == 0) || ((DAT_001e3c40._1_1_ & 4) == 0))\n            goto LAB_00133d61;\n          }\n          else {\n            if ((((DAT_001e3bed & 0x18) != 8) || (DAT_001e3c34 != 1)) ||\n               ((((DAT_001e3c38._1_1_ & 4) == 0 && ((DAT_001e3c50._1_1_ & 4) == 0)) &&\n                (DAT_001e3d28 == 0)))) {\nLAB_00133d61:\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1a81,"build_modrm_byte");\n            }\n            uVar9 = (ulong)((DAT_001e3c38._1_1_ & 4) != 0);\n          }\n          uVar22 = 4;\n        }\nLAB_001337c1:\n        if (bVar19 != 8) {\n          uVar15 = (int)uVar9 + 1;\n          uVar18 = (ulong)uVar15;\n          if ((DAT_001e3d28 != 0) && (*(uint *)(DAT_001e3d28 + 4) == uVar15)) {\n            uVar18 = (ulong)((int)uVar9 + 2);\n          }\n          if ((DAT_001e3bed & 0x18) == 8) {\n            uVar20 = uVar9;\n            uVar11 = uVar18;\n            if ((((&DAT_001e3bf6)[uVar9 * 8] & 0x40) == 0) &&\n               (((&DAT_001e3bf6)[uVar18 * 8] & 0x40) != 0)) {\n              uVar20 = uVar18;\n              uVar11 = uVar9;\n            }\n            uVar15 = (int)uVar18 + 1;\n            uVar18 = (ulong)uVar15;\n            uVar9 = *(ulong *)((long)&DAT_001e3bc0 + (uVar11 + 6) * 8 + 4);\n            if ((uVar22 <= uVar15) ||\n               ((((uVar9 & 1) == 0 ||\n                 ((-1 < (char)((uVar9 & 0xfffffffff7ffffff) >> 0x18) &&\n                  (((&DAT_001e3bc8)[(uVar11 + 6) * 2] & 2) == 0)))) &&\n                (((uVar9 & 4) == 0 &&\n                 ((DAT_00153a50 != (int)(uVar9 & 0xfffffffff7ffffff) ||\n                  (DAT_00153a54 != (&DAT_001e3bc8)[(uVar11 + 6) * 2])))))))) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1ac9,"build_modrm_byte");\n            }\n            DAT_001e3d18 = (&DAT_001e3c60)[uVar11];\n            uVar9 = uVar20;\n          }\n        }\nLAB_001337ff:\n        DAT_001e3cf4 = 3;\n        if (((*(byte *)((long)&DAT_001e3bc0 + (uVar18 + 6) * 8 + 7) & 8) == 0) &&\n           ((*(ulong *)((long)&DAT_001e3bc0 + (uVar18 + 6) * 8 + 4) & 0x5f0000) == 0)) {\n          DAT_001e3cf0 = (uint)*(byte *)((&DAT_001e3c60)[uVar18] + 0x11);\n          DAT_001e3cec = (uint)*(byte *)((&DAT_001e3c60)[uVar9] + 0x11);\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar18] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 4;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 4;\n          }\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 1;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 1;\n          }\n        }\n        else {\n          DAT_001e3cf0 = (uint)*(byte *)((&DAT_001e3c60)[uVar9] + 0x11);\n          DAT_001e3cec = (uint)*(byte *)((&DAT_001e3c60)[uVar18] + 0x11);\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar18] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 1;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 1;\n          }\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 4;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 4;\n          }\n        }\n        if ((DAT_001e3b14 != 2) && ((DAT_001e3cf8 & 4) != 0)) {\n          if ((*(byte *)(&DAT_001e3bc8 + ((ulong)(DAT_001e3bf7 >> 3 & 1) + 0xe) * 2) & 0x10) == 0) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1af4,"build_modrm_byte");\n          }\n          DAT_001e3cf8 = DAT_001e3cf8 & 0xfffffffb;\n          FUN_00131f90(0xf0);\n          return (undefined1 *)0x0;\n        }\n        DAT_001e3cf4 = 3;\n        return (undefined1 *)0x0;\n      }" ({ "{") (labeled_statement "LAB_0013335b:\n        if (DAT_001e3c24 == 3) {\nLAB_00133ea8:\n          if ((DAT_001e3c34 != 1) &&\n             ((DAT_001e3c34 != 0 ||\n              (((DAT_001e3bed & 0x18) != 8 && ((DAT_001e3c38._3_1_ & 1) == 0)))))) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1a6b,"build_modrm_byte");\n          }\n          uVar9 = (ulong)((DAT_001e3c38._1_1_ & 0xfc) != 0 || (DAT_001e3c38._3_1_ & 1) != 0);\n          uVar22 = 3;\n        }\n        else if (DAT_001e3c24 < 4) {\n          uVar22 = DAT_001e3c24;\n          if (DAT_001e3c24 != 2) goto LAB_00133dcf;\n        }\n        else {\n          if (DAT_001e3c24 != 4) goto joined_r0x00133753;\nLAB_00133379:\n          uVar9 = (ulong)DAT_001e3c34;\n          if (DAT_001e3c34 == 2) {\n            if (((DAT_001e3c38._1_1_ & 4) == 0) || ((DAT_001e3c40._1_1_ & 4) == 0))\n            goto LAB_00133d61;\n          }\n          else {\n            if ((((DAT_001e3bed & 0x18) != 8) || (DAT_001e3c34 != 1)) ||\n               ((((DAT_001e3c38._1_1_ & 4) == 0 && ((DAT_001e3c50._1_1_ & 4) == 0)) &&\n                (DAT_001e3d28 == 0)))) {\nLAB_00133d61:\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1a81,"build_modrm_byte");\n            }\n            uVar9 = (ulong)((DAT_001e3c38._1_1_ & 4) != 0);\n          }\n          uVar22 = 4;\n        }" (statement_identifier "LAB_0013335b") (: ":") (if_statement "if (DAT_001e3c24 == 3) {\nLAB_00133ea8:\n          if ((DAT_001e3c34 != 1) &&\n             ((DAT_001e3c34 != 0 ||\n              (((DAT_001e3bed & 0x18) != 8 && ((DAT_001e3c38._3_1_ & 1) == 0)))))) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1a6b,"build_modrm_byte");\n          }\n          uVar9 = (ulong)((DAT_001e3c38._1_1_ & 0xfc) != 0 || (DAT_001e3c38._3_1_ & 1) != 0);\n          uVar22 = 3;\n        }\n        else if (DAT_001e3c24 < 4) {\n          uVar22 = DAT_001e3c24;\n          if (DAT_001e3c24 != 2) goto LAB_00133dcf;\n        }\n        else {\n          if (DAT_001e3c24 != 4) goto joined_r0x00133753;\nLAB_00133379:\n          uVar9 = (ulong)DAT_001e3c34;\n          if (DAT_001e3c34 == 2) {\n            if (((DAT_001e3c38._1_1_ & 4) == 0) || ((DAT_001e3c40._1_1_ & 4) == 0))\n            goto LAB_00133d61;\n          }\n          else {\n            if ((((DAT_001e3bed & 0x18) != 8) || (DAT_001e3c34 != 1)) ||\n               ((((DAT_001e3c38._1_1_ & 4) == 0 && ((DAT_001e3c50._1_1_ & 4) == 0)) &&\n                (DAT_001e3d28 == 0)))) {\nLAB_00133d61:\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1a81,"build_modrm_byte");\n            }\n            uVar9 = (ulong)((DAT_001e3c38._1_1_ & 4) != 0);\n          }\n          uVar22 = 4;\n        }" (if "if") (parenthesized_expression "(DAT_001e3c24 == 3)" (( "(") (binary_expression "DAT_001e3c24 == 3" (identifier "DAT_001e3c24") (== "==") (number_literal "3")) () ")")) (compound_statement "{\nLAB_00133ea8:\n          if ((DAT_001e3c34 != 1) &&\n             ((DAT_001e3c34 != 0 ||\n              (((DAT_001e3bed & 0x18) != 8 && ((DAT_001e3c38._3_1_ & 1) == 0)))))) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1a6b,"build_modrm_byte");\n          }\n          uVar9 = (ulong)((DAT_001e3c38._1_1_ & 0xfc) != 0 || (DAT_001e3c38._3_1_ & 1) != 0);\n          uVar22 = 3;\n        }" ({ "{") (labeled_statement "LAB_00133ea8:\n          if ((DAT_001e3c34 != 1) &&\n             ((DAT_001e3c34 != 0 ||\n              (((DAT_001e3bed & 0x18) != 8 && ((DAT_001e3c38._3_1_ & 1) == 0)))))) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1a6b,"build_modrm_byte");\n          }" (statement_identifier "LAB_00133ea8") (: ":") (if_statement "if ((DAT_001e3c34 != 1) &&\n             ((DAT_001e3c34 != 0 ||\n              (((DAT_001e3bed & 0x18) != 8 && ((DAT_001e3c38._3_1_ & 1) == 0)))))) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1a6b,"build_modrm_byte");\n          }" (if "if") (parenthesized_expression "((DAT_001e3c34 != 1) &&\n             ((DAT_001e3c34 != 0 ||\n              (((DAT_001e3bed & 0x18) != 8 && ((DAT_001e3c38._3_1_ & 1) == 0))))))" (( "(") (binary_expression "(DAT_001e3c34 != 1) &&\n             ((DAT_001e3c34 != 0 ||\n              (((DAT_001e3bed & 0x18) != 8 && ((DAT_001e3c38._3_1_ & 1) == 0)))))" (parenthesized_expression "(DAT_001e3c34 != 1)" (( "(") (binary_expression "DAT_001e3c34 != 1" (identifier "DAT_001e3c34") (!= "!=") (number_literal "1")) () ")")) (&& "&&") (parenthesized_expression "((DAT_001e3c34 != 0 ||\n              (((DAT_001e3bed & 0x18) != 8 && ((DAT_001e3c38._3_1_ & 1) == 0)))))" (( "(") (parenthesized_expression "(DAT_001e3c34 != 0 ||\n              (((DAT_001e3bed & 0x18) != 8 && ((DAT_001e3c38._3_1_ & 1) == 0))))" (( "(") (binary_expression "DAT_001e3c34 != 0 ||\n              (((DAT_001e3bed & 0x18) != 8 && ((DAT_001e3c38._3_1_ & 1) == 0)))" (binary_expression "DAT_001e3c34 != 0" (identifier "DAT_001e3c34") (!= "!=") (number_literal "0")) (|| "||") (parenthesized_expression "(((DAT_001e3bed & 0x18) != 8 && ((DAT_001e3c38._3_1_ & 1) == 0)))" (( "(") (parenthesized_expression "((DAT_001e3bed & 0x18) != 8 && ((DAT_001e3c38._3_1_ & 1) == 0))" (( "(") (binary_expression "(DAT_001e3bed & 0x18) != 8 && ((DAT_001e3c38._3_1_ & 1) == 0)" (binary_expression "(DAT_001e3bed & 0x18) != 8" (parenthesized_expression "(DAT_001e3bed & 0x18)" (( "(") (binary_expression "DAT_001e3bed & 0x18" (identifier "DAT_001e3bed") (& "&") (number_literal "0x18")) () ")")) (!= "!=") (number_literal "8")) (&& "&&") (parenthesized_expression "((DAT_001e3c38._3_1_ & 1) == 0)" (( "(") (binary_expression "(DAT_001e3c38._3_1_ & 1) == 0" (parenthesized_expression "(DAT_001e3c38._3_1_ & 1)" (( "(") (binary_expression "DAT_001e3c38._3_1_ & 1" (field_expression "DAT_001e3c38._3_1_" (identifier "DAT_001e3c38") (. ".") (field_identifier "_3_1_")) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1a6b,"build_modrm_byte");\n          }" ({ "{") (expression_statement "FUN_0011dd00("../../gas/config/tc-i386.c",0x1a6b,"build_modrm_byte");" (call_expression "FUN_0011dd00("../../gas/config/tc-i386.c",0x1a6b,"build_modrm_byte")" (identifier "FUN_0011dd00") (argument_list "("../../gas/config/tc-i386.c",0x1a6b,"build_modrm_byte")" (( "(") (string_literal ""../../gas/config/tc-i386.c"" (" """) (string_content "../../gas/config/tc-i386.c") (" """)) (, ",") (number_literal "0x1a6b") (, ",") (string_literal ""build_modrm_byte"" (" """) (string_content "build_modrm_byte") (" """)) () ")"))) (; ";")) (} "}")))) (expression_statement "uVar9 = (ulong)((DAT_001e3c38._1_1_ & 0xfc) != 0 || (DAT_001e3c38._3_1_ & 1) != 0);" (assignment_expression "uVar9 = (ulong)((DAT_001e3c38._1_1_ & 0xfc) != 0 || (DAT_001e3c38._3_1_ & 1) != 0)" (identifier "uVar9") (= "=") (call_expression "(ulong)((DAT_001e3c38._1_1_ & 0xfc) != 0 || (DAT_001e3c38._3_1_ & 1) != 0)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "((DAT_001e3c38._1_1_ & 0xfc) != 0 || (DAT_001e3c38._3_1_ & 1) != 0)" (( "(") (binary_expression "(DAT_001e3c38._1_1_ & 0xfc) != 0 || (DAT_001e3c38._3_1_ & 1) != 0" (binary_expression "(DAT_001e3c38._1_1_ & 0xfc) != 0" (parenthesized_expression "(DAT_001e3c38._1_1_ & 0xfc)" (( "(") (binary_expression "DAT_001e3c38._1_1_ & 0xfc" (field_expression "DAT_001e3c38._1_1_" (identifier "DAT_001e3c38") (. ".") (field_identifier "_1_1_")) (& "&") (number_literal "0xfc")) () ")")) (!= "!=") (number_literal "0")) (|| "||") (binary_expression "(DAT_001e3c38._3_1_ & 1) != 0" (parenthesized_expression "(DAT_001e3c38._3_1_ & 1)" (( "(") (binary_expression "DAT_001e3c38._3_1_ & 1" (field_expression "DAT_001e3c38._3_1_" (identifier "DAT_001e3c38") (. ".") (field_identifier "_3_1_")) (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0"))) () ")")))) (; ";")) (expression_statement "uVar22 = 3;" (assignment_expression "uVar22 = 3" (identifier "uVar22") (= "=") (number_literal "3")) (; ";")) (} "}")) (else_clause "else if (DAT_001e3c24 < 4) {\n          uVar22 = DAT_001e3c24;\n          if (DAT_001e3c24 != 2) goto LAB_00133dcf;\n        }\n        else {\n          if (DAT_001e3c24 != 4) goto joined_r0x00133753;\nLAB_00133379:\n          uVar9 = (ulong)DAT_001e3c34;\n          if (DAT_001e3c34 == 2) {\n            if (((DAT_001e3c38._1_1_ & 4) == 0) || ((DAT_001e3c40._1_1_ & 4) == 0))\n            goto LAB_00133d61;\n          }\n          else {\n            if ((((DAT_001e3bed & 0x18) != 8) || (DAT_001e3c34 != 1)) ||\n               ((((DAT_001e3c38._1_1_ & 4) == 0 && ((DAT_001e3c50._1_1_ & 4) == 0)) &&\n                (DAT_001e3d28 == 0)))) {\nLAB_00133d61:\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1a81,"build_modrm_byte");\n            }\n            uVar9 = (ulong)((DAT_001e3c38._1_1_ & 4) != 0);\n          }\n          uVar22 = 4;\n        }" (else "else") (if_statement "if (DAT_001e3c24 < 4) {\n          uVar22 = DAT_001e3c24;\n          if (DAT_001e3c24 != 2) goto LAB_00133dcf;\n        }\n        else {\n          if (DAT_001e3c24 != 4) goto joined_r0x00133753;\nLAB_00133379:\n          uVar9 = (ulong)DAT_001e3c34;\n          if (DAT_001e3c34 == 2) {\n            if (((DAT_001e3c38._1_1_ & 4) == 0) || ((DAT_001e3c40._1_1_ & 4) == 0))\n            goto LAB_00133d61;\n          }\n          else {\n            if ((((DAT_001e3bed & 0x18) != 8) || (DAT_001e3c34 != 1)) ||\n               ((((DAT_001e3c38._1_1_ & 4) == 0 && ((DAT_001e3c50._1_1_ & 4) == 0)) &&\n                (DAT_001e3d28 == 0)))) {\nLAB_00133d61:\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1a81,"build_modrm_byte");\n            }\n            uVar9 = (ulong)((DAT_001e3c38._1_1_ & 4) != 0);\n          }\n          uVar22 = 4;\n        }" (if "if") (parenthesized_expression "(DAT_001e3c24 < 4)" (( "(") (binary_expression "DAT_001e3c24 < 4" (identifier "DAT_001e3c24") (< "<") (number_literal "4")) () ")")) (compound_statement "{\n          uVar22 = DAT_001e3c24;\n          if (DAT_001e3c24 != 2) goto LAB_00133dcf;\n        }" ({ "{") (expression_statement "uVar22 = DAT_001e3c24;" (assignment_expression "uVar22 = DAT_001e3c24" (identifier "uVar22") (= "=") (identifier "DAT_001e3c24")) (; ";")) (if_statement "if (DAT_001e3c24 != 2) goto LAB_00133dcf;" (if "if") (parenthesized_expression "(DAT_001e3c24 != 2)" (( "(") (binary_expression "DAT_001e3c24 != 2" (identifier "DAT_001e3c24") (!= "!=") (number_literal "2")) () ")")) (goto_statement "goto LAB_00133dcf;" (goto "goto") (statement_identifier "LAB_00133dcf") (; ";"))) (} "}")) (else_clause "else {\n          if (DAT_001e3c24 != 4) goto joined_r0x00133753;\nLAB_00133379:\n          uVar9 = (ulong)DAT_001e3c34;\n          if (DAT_001e3c34 == 2) {\n            if (((DAT_001e3c38._1_1_ & 4) == 0) || ((DAT_001e3c40._1_1_ & 4) == 0))\n            goto LAB_00133d61;\n          }\n          else {\n            if ((((DAT_001e3bed & 0x18) != 8) || (DAT_001e3c34 != 1)) ||\n               ((((DAT_001e3c38._1_1_ & 4) == 0 && ((DAT_001e3c50._1_1_ & 4) == 0)) &&\n                (DAT_001e3d28 == 0)))) {\nLAB_00133d61:\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1a81,"build_modrm_byte");\n            }\n            uVar9 = (ulong)((DAT_001e3c38._1_1_ & 4) != 0);\n          }\n          uVar22 = 4;\n        }" (else "else") (compound_statement "{\n          if (DAT_001e3c24 != 4) goto joined_r0x00133753;\nLAB_00133379:\n          uVar9 = (ulong)DAT_001e3c34;\n          if (DAT_001e3c34 == 2) {\n            if (((DAT_001e3c38._1_1_ & 4) == 0) || ((DAT_001e3c40._1_1_ & 4) == 0))\n            goto LAB_00133d61;\n          }\n          else {\n            if ((((DAT_001e3bed & 0x18) != 8) || (DAT_001e3c34 != 1)) ||\n               ((((DAT_001e3c38._1_1_ & 4) == 0 && ((DAT_001e3c50._1_1_ & 4) == 0)) &&\n                (DAT_001e3d28 == 0)))) {\nLAB_00133d61:\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1a81,"build_modrm_byte");\n            }\n            uVar9 = (ulong)((DAT_001e3c38._1_1_ & 4) != 0);\n          }\n          uVar22 = 4;\n        }" ({ "{") (if_statement "if (DAT_001e3c24 != 4) goto joined_r0x00133753;" (if "if") (parenthesized_expression "(DAT_001e3c24 != 4)" (( "(") (binary_expression "DAT_001e3c24 != 4" (identifier "DAT_001e3c24") (!= "!=") (number_literal "4")) () ")")) (goto_statement "goto joined_r0x00133753;" (goto "goto") (statement_identifier "joined_r0x00133753") (; ";"))) (labeled_statement "LAB_00133379:\n          uVar9 = (ulong)DAT_001e3c34;" (statement_identifier "LAB_00133379") (: ":") (expression_statement "uVar9 = (ulong)DAT_001e3c34;" (assignment_expression "uVar9 = (ulong)DAT_001e3c34" (identifier "uVar9") (= "=") (cast_expression "(ulong)DAT_001e3c34" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "DAT_001e3c34"))) (; ";"))) (if_statement "if (DAT_001e3c34 == 2) {\n            if (((DAT_001e3c38._1_1_ & 4) == 0) || ((DAT_001e3c40._1_1_ & 4) == 0))\n            goto LAB_00133d61;\n          }\n          else {\n            if ((((DAT_001e3bed & 0x18) != 8) || (DAT_001e3c34 != 1)) ||\n               ((((DAT_001e3c38._1_1_ & 4) == 0 && ((DAT_001e3c50._1_1_ & 4) == 0)) &&\n                (DAT_001e3d28 == 0)))) {\nLAB_00133d61:\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1a81,"build_modrm_byte");\n            }\n            uVar9 = (ulong)((DAT_001e3c38._1_1_ & 4) != 0);\n          }" (if "if") (parenthesized_expression "(DAT_001e3c34 == 2)" (( "(") (binary_expression "DAT_001e3c34 == 2" (identifier "DAT_001e3c34") (== "==") (number_literal "2")) () ")")) (compound_statement "{\n            if (((DAT_001e3c38._1_1_ & 4) == 0) || ((DAT_001e3c40._1_1_ & 4) == 0))\n            goto LAB_00133d61;\n          }" ({ "{") (if_statement "if (((DAT_001e3c38._1_1_ & 4) == 0) || ((DAT_001e3c40._1_1_ & 4) == 0))\n            goto LAB_00133d61;" (if "if") (parenthesized_expression "(((DAT_001e3c38._1_1_ & 4) == 0) || ((DAT_001e3c40._1_1_ & 4) == 0))" (( "(") (binary_expression "((DAT_001e3c38._1_1_ & 4) == 0) || ((DAT_001e3c40._1_1_ & 4) == 0)" (parenthesized_expression "((DAT_001e3c38._1_1_ & 4) == 0)" (( "(") (binary_expression "(DAT_001e3c38._1_1_ & 4) == 0" (parenthesized_expression "(DAT_001e3c38._1_1_ & 4)" (( "(") (binary_expression "DAT_001e3c38._1_1_ & 4" (field_expression "DAT_001e3c38._1_1_" (identifier "DAT_001e3c38") (. ".") (field_identifier "_1_1_")) (& "&") (number_literal "4")) () ")")) (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "((DAT_001e3c40._1_1_ & 4) == 0)" (( "(") (binary_expression "(DAT_001e3c40._1_1_ & 4) == 0" (parenthesized_expression "(DAT_001e3c40._1_1_ & 4)" (( "(") (binary_expression "DAT_001e3c40._1_1_ & 4" (field_expression "DAT_001e3c40._1_1_" (identifier "DAT_001e3c40") (. ".") (field_identifier "_1_1_")) (& "&") (number_literal "4")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) (goto_statement "goto LAB_00133d61;" (goto "goto") (statement_identifier "LAB_00133d61") (; ";"))) (} "}")) (else_clause "else {\n            if ((((DAT_001e3bed & 0x18) != 8) || (DAT_001e3c34 != 1)) ||\n               ((((DAT_001e3c38._1_1_ & 4) == 0 && ((DAT_001e3c50._1_1_ & 4) == 0)) &&\n                (DAT_001e3d28 == 0)))) {\nLAB_00133d61:\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1a81,"build_modrm_byte");\n            }\n            uVar9 = (ulong)((DAT_001e3c38._1_1_ & 4) != 0);\n          }" (else "else") (compound_statement "{\n            if ((((DAT_001e3bed & 0x18) != 8) || (DAT_001e3c34 != 1)) ||\n               ((((DAT_001e3c38._1_1_ & 4) == 0 && ((DAT_001e3c50._1_1_ & 4) == 0)) &&\n                (DAT_001e3d28 == 0)))) {\nLAB_00133d61:\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1a81,"build_modrm_byte");\n            }\n            uVar9 = (ulong)((DAT_001e3c38._1_1_ & 4) != 0);\n          }" ({ "{") (if_statement "if ((((DAT_001e3bed & 0x18) != 8) || (DAT_001e3c34 != 1)) ||\n               ((((DAT_001e3c38._1_1_ & 4) == 0 && ((DAT_001e3c50._1_1_ & 4) == 0)) &&\n                (DAT_001e3d28 == 0)))) {\nLAB_00133d61:\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1a81,"build_modrm_byte");\n            }" (if "if") (parenthesized_expression "((((DAT_001e3bed & 0x18) != 8) || (DAT_001e3c34 != 1)) ||\n               ((((DAT_001e3c38._1_1_ & 4) == 0 && ((DAT_001e3c50._1_1_ & 4) == 0)) &&\n                (DAT_001e3d28 == 0))))" (( "(") (binary_expression "(((DAT_001e3bed & 0x18) != 8) || (DAT_001e3c34 != 1)) ||\n               ((((DAT_001e3c38._1_1_ & 4) == 0 && ((DAT_001e3c50._1_1_ & 4) == 0)) &&\n                (DAT_001e3d28 == 0)))" (parenthesized_expression "(((DAT_001e3bed & 0x18) != 8) || (DAT_001e3c34 != 1))" (( "(") (binary_expression "((DAT_001e3bed & 0x18) != 8) || (DAT_001e3c34 != 1)" (parenthesized_expression "((DAT_001e3bed & 0x18) != 8)" (( "(") (binary_expression "(DAT_001e3bed & 0x18) != 8" (parenthesized_expression "(DAT_001e3bed & 0x18)" (( "(") (binary_expression "DAT_001e3bed & 0x18" (identifier "DAT_001e3bed") (& "&") (number_literal "0x18")) () ")")) (!= "!=") (number_literal "8")) () ")")) (|| "||") (parenthesized_expression "(DAT_001e3c34 != 1)" (( "(") (binary_expression "DAT_001e3c34 != 1" (identifier "DAT_001e3c34") (!= "!=") (number_literal "1")) () ")"))) () ")")) (|| "||") (parenthesized_expression "((((DAT_001e3c38._1_1_ & 4) == 0 && ((DAT_001e3c50._1_1_ & 4) == 0)) &&\n                (DAT_001e3d28 == 0)))" (( "(") (parenthesized_expression "(((DAT_001e3c38._1_1_ & 4) == 0 && ((DAT_001e3c50._1_1_ & 4) == 0)) &&\n                (DAT_001e3d28 == 0))" (( "(") (binary_expression "((DAT_001e3c38._1_1_ & 4) == 0 && ((DAT_001e3c50._1_1_ & 4) == 0)) &&\n                (DAT_001e3d28 == 0)" (parenthesized_expression "((DAT_001e3c38._1_1_ & 4) == 0 && ((DAT_001e3c50._1_1_ & 4) == 0))" (( "(") (binary_expression "(DAT_001e3c38._1_1_ & 4) == 0 && ((DAT_001e3c50._1_1_ & 4) == 0)" (binary_expression "(DAT_001e3c38._1_1_ & 4) == 0" (parenthesized_expression "(DAT_001e3c38._1_1_ & 4)" (( "(") (binary_expression "DAT_001e3c38._1_1_ & 4" (field_expression "DAT_001e3c38._1_1_" (identifier "DAT_001e3c38") (. ".") (field_identifier "_1_1_")) (& "&") (number_literal "4")) () ")")) (== "==") (number_literal "0")) (&& "&&") (parenthesized_expression "((DAT_001e3c50._1_1_ & 4) == 0)" (( "(") (binary_expression "(DAT_001e3c50._1_1_ & 4) == 0" (parenthesized_expression "(DAT_001e3c50._1_1_ & 4)" (( "(") (binary_expression "DAT_001e3c50._1_1_ & 4" (field_expression "DAT_001e3c50._1_1_" (identifier "DAT_001e3c50") (. ".") (field_identifier "_1_1_")) (& "&") (number_literal "4")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(DAT_001e3d28 == 0)" (( "(") (binary_expression "DAT_001e3d28 == 0" (identifier "DAT_001e3d28") (== "==") (number_literal "0")) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\nLAB_00133d61:\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1a81,"build_modrm_byte");\n            }" ({ "{") (labeled_statement "LAB_00133d61:\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1a81,"build_modrm_byte");" (statement_identifier "LAB_00133d61") (: ":") (expression_statement "FUN_0011dd00("../../gas/config/tc-i386.c",0x1a81,"build_modrm_byte");" (call_expression "FUN_0011dd00("../../gas/config/tc-i386.c",0x1a81,"build_modrm_byte")" (identifier "FUN_0011dd00") (argument_list "("../../gas/config/tc-i386.c",0x1a81,"build_modrm_byte")" (( "(") (string_literal ""../../gas/config/tc-i386.c"" (" """) (string_content "../../gas/config/tc-i386.c") (" """)) (, ",") (number_literal "0x1a81") (, ",") (string_literal ""build_modrm_byte"" (" """) (string_content "build_modrm_byte") (" """)) () ")"))) (; ";"))) (} "}"))) (expression_statement "uVar9 = (ulong)((DAT_001e3c38._1_1_ & 4) != 0);" (assignment_expression "uVar9 = (ulong)((DAT_001e3c38._1_1_ & 4) != 0)" (identifier "uVar9") (= "=") (call_expression "(ulong)((DAT_001e3c38._1_1_ & 4) != 0)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "((DAT_001e3c38._1_1_ & 4) != 0)" (( "(") (binary_expression "(DAT_001e3c38._1_1_ & 4) != 0" (parenthesized_expression "(DAT_001e3c38._1_1_ & 4)" (( "(") (binary_expression "DAT_001e3c38._1_1_ & 4" (field_expression "DAT_001e3c38._1_1_" (identifier "DAT_001e3c38") (. ".") (field_identifier "_1_1_")) (& "&") (number_literal "4")) () ")")) (!= "!=") (number_literal "0")) () ")")))) (; ";")) (} "}")))) (expression_statement "uVar22 = 4;" (assignment_expression "uVar22 = 4" (identifier "uVar22") (= "=") (number_literal "4")) (; ";")) (} "}"))))))) (labeled_statement "LAB_001337c1:\n        if (bVar19 != 8) {\n          uVar15 = (int)uVar9 + 1;\n          uVar18 = (ulong)uVar15;\n          if ((DAT_001e3d28 != 0) && (*(uint *)(DAT_001e3d28 + 4) == uVar15)) {\n            uVar18 = (ulong)((int)uVar9 + 2);\n          }\n          if ((DAT_001e3bed & 0x18) == 8) {\n            uVar20 = uVar9;\n            uVar11 = uVar18;\n            if ((((&DAT_001e3bf6)[uVar9 * 8] & 0x40) == 0) &&\n               (((&DAT_001e3bf6)[uVar18 * 8] & 0x40) != 0)) {\n              uVar20 = uVar18;\n              uVar11 = uVar9;\n            }\n            uVar15 = (int)uVar18 + 1;\n            uVar18 = (ulong)uVar15;\n            uVar9 = *(ulong *)((long)&DAT_001e3bc0 + (uVar11 + 6) * 8 + 4);\n            if ((uVar22 <= uVar15) ||\n               ((((uVar9 & 1) == 0 ||\n                 ((-1 < (char)((uVar9 & 0xfffffffff7ffffff) >> 0x18) &&\n                  (((&DAT_001e3bc8)[(uVar11 + 6) * 2] & 2) == 0)))) &&\n                (((uVar9 & 4) == 0 &&\n                 ((DAT_00153a50 != (int)(uVar9 & 0xfffffffff7ffffff) ||\n                  (DAT_00153a54 != (&DAT_001e3bc8)[(uVar11 + 6) * 2])))))))) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1ac9,"build_modrm_byte");\n            }\n            DAT_001e3d18 = (&DAT_001e3c60)[uVar11];\n            uVar9 = uVar20;\n          }\n        }" (statement_identifier "LAB_001337c1") (: ":") (if_statement "if (bVar19 != 8) {\n          uVar15 = (int)uVar9 + 1;\n          uVar18 = (ulong)uVar15;\n          if ((DAT_001e3d28 != 0) && (*(uint *)(DAT_001e3d28 + 4) == uVar15)) {\n            uVar18 = (ulong)((int)uVar9 + 2);\n          }\n          if ((DAT_001e3bed & 0x18) == 8) {\n            uVar20 = uVar9;\n            uVar11 = uVar18;\n            if ((((&DAT_001e3bf6)[uVar9 * 8] & 0x40) == 0) &&\n               (((&DAT_001e3bf6)[uVar18 * 8] & 0x40) != 0)) {\n              uVar20 = uVar18;\n              uVar11 = uVar9;\n            }\n            uVar15 = (int)uVar18 + 1;\n            uVar18 = (ulong)uVar15;\n            uVar9 = *(ulong *)((long)&DAT_001e3bc0 + (uVar11 + 6) * 8 + 4);\n            if ((uVar22 <= uVar15) ||\n               ((((uVar9 & 1) == 0 ||\n                 ((-1 < (char)((uVar9 & 0xfffffffff7ffffff) >> 0x18) &&\n                  (((&DAT_001e3bc8)[(uVar11 + 6) * 2] & 2) == 0)))) &&\n                (((uVar9 & 4) == 0 &&\n                 ((DAT_00153a50 != (int)(uVar9 & 0xfffffffff7ffffff) ||\n                  (DAT_00153a54 != (&DAT_001e3bc8)[(uVar11 + 6) * 2])))))))) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1ac9,"build_modrm_byte");\n            }\n            DAT_001e3d18 = (&DAT_001e3c60)[uVar11];\n            uVar9 = uVar20;\n          }\n        }" (if "if") (parenthesized_expression "(bVar19 != 8)" (( "(") (binary_expression "bVar19 != 8" (identifier "bVar19") (!= "!=") (number_literal "8")) () ")")) (compound_statement "{\n          uVar15 = (int)uVar9 + 1;\n          uVar18 = (ulong)uVar15;\n          if ((DAT_001e3d28 != 0) && (*(uint *)(DAT_001e3d28 + 4) == uVar15)) {\n            uVar18 = (ulong)((int)uVar9 + 2);\n          }\n          if ((DAT_001e3bed & 0x18) == 8) {\n            uVar20 = uVar9;\n            uVar11 = uVar18;\n            if ((((&DAT_001e3bf6)[uVar9 * 8] & 0x40) == 0) &&\n               (((&DAT_001e3bf6)[uVar18 * 8] & 0x40) != 0)) {\n              uVar20 = uVar18;\n              uVar11 = uVar9;\n            }\n            uVar15 = (int)uVar18 + 1;\n            uVar18 = (ulong)uVar15;\n            uVar9 = *(ulong *)((long)&DAT_001e3bc0 + (uVar11 + 6) * 8 + 4);\n            if ((uVar22 <= uVar15) ||\n               ((((uVar9 & 1) == 0 ||\n                 ((-1 < (char)((uVar9 & 0xfffffffff7ffffff) >> 0x18) &&\n                  (((&DAT_001e3bc8)[(uVar11 + 6) * 2] & 2) == 0)))) &&\n                (((uVar9 & 4) == 0 &&\n                 ((DAT_00153a50 != (int)(uVar9 & 0xfffffffff7ffffff) ||\n                  (DAT_00153a54 != (&DAT_001e3bc8)[(uVar11 + 6) * 2])))))))) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1ac9,"build_modrm_byte");\n            }\n            DAT_001e3d18 = (&DAT_001e3c60)[uVar11];\n            uVar9 = uVar20;\n          }\n        }" ({ "{") (expression_statement "uVar15 = (int)uVar9 + 1;" (assignment_expression "uVar15 = (int)uVar9 + 1" (identifier "uVar15") (= "=") (binary_expression "(int)uVar9 + 1" (cast_expression "(int)uVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar9")) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "uVar18 = (ulong)uVar15;" (assignment_expression "uVar18 = (ulong)uVar15" (identifier "uVar18") (= "=") (cast_expression "(ulong)uVar15" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar15"))) (; ";")) (if_statement "if ((DAT_001e3d28 != 0) && (*(uint *)(DAT_001e3d28 + 4) == uVar15)) {\n            uVar18 = (ulong)((int)uVar9 + 2);\n          }" (if "if") (parenthesized_expression "((DAT_001e3d28 != 0) && (*(uint *)(DAT_001e3d28 + 4) == uVar15))" (( "(") (binary_expression "(DAT_001e3d28 != 0) && (*(uint *)(DAT_001e3d28 + 4) == uVar15)" (parenthesized_expression "(DAT_001e3d28 != 0)" (( "(") (binary_expression "DAT_001e3d28 != 0" (identifier "DAT_001e3d28") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(*(uint *)(DAT_001e3d28 + 4) == uVar15)" (( "(") (binary_expression "*(uint *)(DAT_001e3d28 + 4) == uVar15" (pointer_expression "*(uint *)(DAT_001e3d28 + 4)" (* "*") (cast_expression "(uint *)(DAT_001e3d28 + 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_001e3d28 + 4)" (( "(") (binary_expression "DAT_001e3d28 + 4" (identifier "DAT_001e3d28") (+ "+") (number_literal "4")) () ")")))) (== "==") (identifier "uVar15")) () ")"))) () ")")) (compound_statement "{\n            uVar18 = (ulong)((int)uVar9 + 2);\n          }" ({ "{") (expression_statement "uVar18 = (ulong)((int)uVar9 + 2);" (assignment_expression "uVar18 = (ulong)((int)uVar9 + 2)" (identifier "uVar18") (= "=") (call_expression "(ulong)((int)uVar9 + 2)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "((int)uVar9 + 2)" (( "(") (binary_expression "(int)uVar9 + 2" (cast_expression "(int)uVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar9")) (+ "+") (number_literal "2")) () ")")))) (; ";")) (} "}"))) (if_statement "if ((DAT_001e3bed & 0x18) == 8) {\n            uVar20 = uVar9;\n            uVar11 = uVar18;\n            if ((((&DAT_001e3bf6)[uVar9 * 8] & 0x40) == 0) &&\n               (((&DAT_001e3bf6)[uVar18 * 8] & 0x40) != 0)) {\n              uVar20 = uVar18;\n              uVar11 = uVar9;\n            }\n            uVar15 = (int)uVar18 + 1;\n            uVar18 = (ulong)uVar15;\n            uVar9 = *(ulong *)((long)&DAT_001e3bc0 + (uVar11 + 6) * 8 + 4);\n            if ((uVar22 <= uVar15) ||\n               ((((uVar9 & 1) == 0 ||\n                 ((-1 < (char)((uVar9 & 0xfffffffff7ffffff) >> 0x18) &&\n                  (((&DAT_001e3bc8)[(uVar11 + 6) * 2] & 2) == 0)))) &&\n                (((uVar9 & 4) == 0 &&\n                 ((DAT_00153a50 != (int)(uVar9 & 0xfffffffff7ffffff) ||\n                  (DAT_00153a54 != (&DAT_001e3bc8)[(uVar11 + 6) * 2])))))))) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1ac9,"build_modrm_byte");\n            }\n            DAT_001e3d18 = (&DAT_001e3c60)[uVar11];\n            uVar9 = uVar20;\n          }" (if "if") (parenthesized_expression "((DAT_001e3bed & 0x18) == 8)" (( "(") (binary_expression "(DAT_001e3bed & 0x18) == 8" (parenthesized_expression "(DAT_001e3bed & 0x18)" (( "(") (binary_expression "DAT_001e3bed & 0x18" (identifier "DAT_001e3bed") (& "&") (number_literal "0x18")) () ")")) (== "==") (number_literal "8")) () ")")) (compound_statement "{\n            uVar20 = uVar9;\n            uVar11 = uVar18;\n            if ((((&DAT_001e3bf6)[uVar9 * 8] & 0x40) == 0) &&\n               (((&DAT_001e3bf6)[uVar18 * 8] & 0x40) != 0)) {\n              uVar20 = uVar18;\n              uVar11 = uVar9;\n            }\n            uVar15 = (int)uVar18 + 1;\n            uVar18 = (ulong)uVar15;\n            uVar9 = *(ulong *)((long)&DAT_001e3bc0 + (uVar11 + 6) * 8 + 4);\n            if ((uVar22 <= uVar15) ||\n               ((((uVar9 & 1) == 0 ||\n                 ((-1 < (char)((uVar9 & 0xfffffffff7ffffff) >> 0x18) &&\n                  (((&DAT_001e3bc8)[(uVar11 + 6) * 2] & 2) == 0)))) &&\n                (((uVar9 & 4) == 0 &&\n                 ((DAT_00153a50 != (int)(uVar9 & 0xfffffffff7ffffff) ||\n                  (DAT_00153a54 != (&DAT_001e3bc8)[(uVar11 + 6) * 2])))))))) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1ac9,"build_modrm_byte");\n            }\n            DAT_001e3d18 = (&DAT_001e3c60)[uVar11];\n            uVar9 = uVar20;\n          }" ({ "{") (expression_statement "uVar20 = uVar9;" (assignment_expression "uVar20 = uVar9" (identifier "uVar20") (= "=") (identifier "uVar9")) (; ";")) (expression_statement "uVar11 = uVar18;" (assignment_expression "uVar11 = uVar18" (identifier "uVar11") (= "=") (identifier "uVar18")) (; ";")) (if_statement "if ((((&DAT_001e3bf6)[uVar9 * 8] & 0x40) == 0) &&\n               (((&DAT_001e3bf6)[uVar18 * 8] & 0x40) != 0)) {\n              uVar20 = uVar18;\n              uVar11 = uVar9;\n            }" (if "if") (parenthesized_expression "((((&DAT_001e3bf6)[uVar9 * 8] & 0x40) == 0) &&\n               (((&DAT_001e3bf6)[uVar18 * 8] & 0x40) != 0))" (( "(") (binary_expression "(((&DAT_001e3bf6)[uVar9 * 8] & 0x40) == 0) &&\n               (((&DAT_001e3bf6)[uVar18 * 8] & 0x40) != 0)" (parenthesized_expression "(((&DAT_001e3bf6)[uVar9 * 8] & 0x40) == 0)" (( "(") (binary_expression "((&DAT_001e3bf6)[uVar9 * 8] & 0x40) == 0" (parenthesized_expression "((&DAT_001e3bf6)[uVar9 * 8] & 0x40)" (( "(") (binary_expression "(&DAT_001e3bf6)[uVar9 * 8] & 0x40" (subscript_expression "(&DAT_001e3bf6)[uVar9 * 8]" (parenthesized_expression "(&DAT_001e3bf6)" (( "(") (pointer_expression "&DAT_001e3bf6" (& "&") (identifier "DAT_001e3bf6")) () ")")) ([ "[") (binary_expression "uVar9 * 8" (identifier "uVar9") (* "*") (number_literal "8")) (] "]")) (& "&") (number_literal "0x40")) () ")")) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(((&DAT_001e3bf6)[uVar18 * 8] & 0x40) != 0)" (( "(") (binary_expression "((&DAT_001e3bf6)[uVar18 * 8] & 0x40) != 0" (parenthesized_expression "((&DAT_001e3bf6)[uVar18 * 8] & 0x40)" (( "(") (binary_expression "(&DAT_001e3bf6)[uVar18 * 8] & 0x40" (subscript_expression "(&DAT_001e3bf6)[uVar18 * 8]" (parenthesized_expression "(&DAT_001e3bf6)" (( "(") (pointer_expression "&DAT_001e3bf6" (& "&") (identifier "DAT_001e3bf6")) () ")")) ([ "[") (binary_expression "uVar18 * 8" (identifier "uVar18") (* "*") (number_literal "8")) (] "]")) (& "&") (number_literal "0x40")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n              uVar20 = uVar18;\n              uVar11 = uVar9;\n            }" ({ "{") (expression_statement "uVar20 = uVar18;" (assignment_expression "uVar20 = uVar18" (identifier "uVar20") (= "=") (identifier "uVar18")) (; ";")) (expression_statement "uVar11 = uVar9;" (assignment_expression "uVar11 = uVar9" (identifier "uVar11") (= "=") (identifier "uVar9")) (; ";")) (} "}"))) (expression_statement "uVar15 = (int)uVar18 + 1;" (assignment_expression "uVar15 = (int)uVar18 + 1" (identifier "uVar15") (= "=") (binary_expression "(int)uVar18 + 1" (cast_expression "(int)uVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar18")) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "uVar18 = (ulong)uVar15;" (assignment_expression "uVar18 = (ulong)uVar15" (identifier "uVar18") (= "=") (cast_expression "(ulong)uVar15" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar15"))) (; ";")) (expression_statement "uVar9 = *(ulong *)((long)&DAT_001e3bc0 + (uVar11 + 6) * 8 + 4);" (assignment_expression "uVar9 = *(ulong *)((long)&DAT_001e3bc0 + (uVar11 + 6) * 8 + 4)" (identifier "uVar9") (= "=") (pointer_expression "*(ulong *)((long)&DAT_001e3bc0 + (uVar11 + 6) * 8 + 4)" (* "*") (cast_expression "(ulong *)((long)&DAT_001e3bc0 + (uVar11 + 6) * 8 + 4)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)&DAT_001e3bc0 + (uVar11 + 6) * 8 + 4)" (( "(") (binary_expression "(long)&DAT_001e3bc0 + (uVar11 + 6) * 8 + 4" (binary_expression "(long)&DAT_001e3bc0 + (uVar11 + 6) * 8" (cast_expression "(long)&DAT_001e3bc0" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (pointer_expression "&DAT_001e3bc0" (& "&") (identifier "DAT_001e3bc0"))) (+ "+") (binary_expression "(uVar11 + 6) * 8" (parenthesized_expression "(uVar11 + 6)" (( "(") (binary_expression "uVar11 + 6" (identifier "uVar11") (+ "+") (number_literal "6")) () ")")) (* "*") (number_literal "8"))) (+ "+") (number_literal "4")) () ")"))))) (; ";")) (if_statement "if ((uVar22 <= uVar15) ||\n               ((((uVar9 & 1) == 0 ||\n                 ((-1 < (char)((uVar9 & 0xfffffffff7ffffff) >> 0x18) &&\n                  (((&DAT_001e3bc8)[(uVar11 + 6) * 2] & 2) == 0)))) &&\n                (((uVar9 & 4) == 0 &&\n                 ((DAT_00153a50 != (int)(uVar9 & 0xfffffffff7ffffff) ||\n                  (DAT_00153a54 != (&DAT_001e3bc8)[(uVar11 + 6) * 2])))))))) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1ac9,"build_modrm_byte");\n            }" (if "if") (parenthesized_expression "((uVar22 <= uVar15) ||\n               ((((uVar9 & 1) == 0 ||\n                 ((-1 < (char)((uVar9 & 0xfffffffff7ffffff) >> 0x18) &&\n                  (((&DAT_001e3bc8)[(uVar11 + 6) * 2] & 2) == 0)))) &&\n                (((uVar9 & 4) == 0 &&\n                 ((DAT_00153a50 != (int)(uVar9 & 0xfffffffff7ffffff) ||\n                  (DAT_00153a54 != (&DAT_001e3bc8)[(uVar11 + 6) * 2]))))))))" (( "(") (binary_expression "(uVar22 <= uVar15) ||\n               ((((uVar9 & 1) == 0 ||\n                 ((-1 < (char)((uVar9 & 0xfffffffff7ffffff) >> 0x18) &&\n                  (((&DAT_001e3bc8)[(uVar11 + 6) * 2] & 2) == 0)))) &&\n                (((uVar9 & 4) == 0 &&\n                 ((DAT_00153a50 != (int)(uVar9 & 0xfffffffff7ffffff) ||\n                  (DAT_00153a54 != (&DAT_001e3bc8)[(uVar11 + 6) * 2])))))))" (parenthesized_expression "(uVar22 <= uVar15)" (( "(") (binary_expression "uVar22 <= uVar15" (identifier "uVar22") (<= "<=") (identifier "uVar15")) () ")")) (|| "||") (parenthesized_expression "((((uVar9 & 1) == 0 ||\n                 ((-1 < (char)((uVar9 & 0xfffffffff7ffffff) >> 0x18) &&\n                  (((&DAT_001e3bc8)[(uVar11 + 6) * 2] & 2) == 0)))) &&\n                (((uVar9 & 4) == 0 &&\n                 ((DAT_00153a50 != (int)(uVar9 & 0xfffffffff7ffffff) ||\n                  (DAT_00153a54 != (&DAT_001e3bc8)[(uVar11 + 6) * 2])))))))" (( "(") (parenthesized_expression "(((uVar9 & 1) == 0 ||\n                 ((-1 < (char)((uVar9 & 0xfffffffff7ffffff) >> 0x18) &&\n                  (((&DAT_001e3bc8)[(uVar11 + 6) * 2] & 2) == 0)))) &&\n                (((uVar9 & 4) == 0 &&\n                 ((DAT_00153a50 != (int)(uVar9 & 0xfffffffff7ffffff) ||\n                  (DAT_00153a54 != (&DAT_001e3bc8)[(uVar11 + 6) * 2]))))))" (( "(") (binary_expression "((uVar9 & 1) == 0 ||\n                 ((-1 < (char)((uVar9 & 0xfffffffff7ffffff) >> 0x18) &&\n                  (((&DAT_001e3bc8)[(uVar11 + 6) * 2] & 2) == 0)))) &&\n                (((uVar9 & 4) == 0 &&\n                 ((DAT_00153a50 != (int)(uVar9 & 0xfffffffff7ffffff) ||\n                  (DAT_00153a54 != (&DAT_001e3bc8)[(uVar11 + 6) * 2])))))" (parenthesized_expression "((uVar9 & 1) == 0 ||\n                 ((-1 < (char)((uVar9 & 0xfffffffff7ffffff) >> 0x18) &&\n                  (((&DAT_001e3bc8)[(uVar11 + 6) * 2] & 2) == 0))))" (( "(") (binary_expression "(uVar9 & 1) == 0 ||\n                 ((-1 < (char)((uVar9 & 0xfffffffff7ffffff) >> 0x18) &&\n                  (((&DAT_001e3bc8)[(uVar11 + 6) * 2] & 2) == 0)))" (binary_expression "(uVar9 & 1) == 0" (parenthesized_expression "(uVar9 & 1)" (( "(") (binary_expression "uVar9 & 1" (identifier "uVar9") (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) (|| "||") (parenthesized_expression "((-1 < (char)((uVar9 & 0xfffffffff7ffffff) >> 0x18) &&\n                  (((&DAT_001e3bc8)[(uVar11 + 6) * 2] & 2) == 0)))" (( "(") (parenthesized_expression "(-1 < (char)((uVar9 & 0xfffffffff7ffffff) >> 0x18) &&\n                  (((&DAT_001e3bc8)[(uVar11 + 6) * 2] & 2) == 0))" (( "(") (binary_expression "-1 < (char)((uVar9 & 0xfffffffff7ffffff) >> 0x18) &&\n                  (((&DAT_001e3bc8)[(uVar11 + 6) * 2] & 2) == 0)" (binary_expression "-1 < (char)((uVar9 & 0xfffffffff7ffffff) >> 0x18)" (number_literal "-1") (< "<") (cast_expression "(char)((uVar9 & 0xfffffffff7ffffff) >> 0x18)" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (parenthesized_expression "((uVar9 & 0xfffffffff7ffffff) >> 0x18)" (( "(") (binary_expression "(uVar9 & 0xfffffffff7ffffff) >> 0x18" (parenthesized_expression "(uVar9 & 0xfffffffff7ffffff)" (( "(") (binary_expression "uVar9 & 0xfffffffff7ffffff" (identifier "uVar9") (& "&") (number_literal "0xfffffffff7ffffff")) () ")")) (>> ">>") (number_literal "0x18")) () ")")))) (&& "&&") (parenthesized_expression "(((&DAT_001e3bc8)[(uVar11 + 6) * 2] & 2) == 0)" (( "(") (binary_expression "((&DAT_001e3bc8)[(uVar11 + 6) * 2] & 2) == 0" (parenthesized_expression "((&DAT_001e3bc8)[(uVar11 + 6) * 2] & 2)" (( "(") (binary_expression "(&DAT_001e3bc8)[(uVar11 + 6) * 2] & 2" (subscript_expression "(&DAT_001e3bc8)[(uVar11 + 6) * 2]" (parenthesized_expression "(&DAT_001e3bc8)" (( "(") (pointer_expression "&DAT_001e3bc8" (& "&") (identifier "DAT_001e3bc8")) () ")")) ([ "[") (binary_expression "(uVar11 + 6) * 2" (parenthesized_expression "(uVar11 + 6)" (( "(") (binary_expression "uVar11 + 6" (identifier "uVar11") (+ "+") (number_literal "6")) () ")")) (* "*") (number_literal "2")) (] "]")) (& "&") (number_literal "2")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(((uVar9 & 4) == 0 &&\n                 ((DAT_00153a50 != (int)(uVar9 & 0xfffffffff7ffffff) ||\n                  (DAT_00153a54 != (&DAT_001e3bc8)[(uVar11 + 6) * 2])))))" (( "(") (parenthesized_expression "((uVar9 & 4) == 0 &&\n                 ((DAT_00153a50 != (int)(uVar9 & 0xfffffffff7ffffff) ||\n                  (DAT_00153a54 != (&DAT_001e3bc8)[(uVar11 + 6) * 2]))))" (( "(") (binary_expression "(uVar9 & 4) == 0 &&\n                 ((DAT_00153a50 != (int)(uVar9 & 0xfffffffff7ffffff) ||\n                  (DAT_00153a54 != (&DAT_001e3bc8)[(uVar11 + 6) * 2])))" (binary_expression "(uVar9 & 4) == 0" (parenthesized_expression "(uVar9 & 4)" (( "(") (binary_expression "uVar9 & 4" (identifier "uVar9") (& "&") (number_literal "4")) () ")")) (== "==") (number_literal "0")) (&& "&&") (parenthesized_expression "((DAT_00153a50 != (int)(uVar9 & 0xfffffffff7ffffff) ||\n                  (DAT_00153a54 != (&DAT_001e3bc8)[(uVar11 + 6) * 2])))" (( "(") (parenthesized_expression "(DAT_00153a50 != (int)(uVar9 & 0xfffffffff7ffffff) ||\n                  (DAT_00153a54 != (&DAT_001e3bc8)[(uVar11 + 6) * 2]))" (( "(") (binary_expression "DAT_00153a50 != (int)(uVar9 & 0xfffffffff7ffffff) ||\n                  (DAT_00153a54 != (&DAT_001e3bc8)[(uVar11 + 6) * 2])" (binary_expression "DAT_00153a50 != (int)(uVar9 & 0xfffffffff7ffffff)" (identifier "DAT_00153a50") (!= "!=") (cast_expression "(int)(uVar9 & 0xfffffffff7ffffff)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(uVar9 & 0xfffffffff7ffffff)" (( "(") (binary_expression "uVar9 & 0xfffffffff7ffffff" (identifier "uVar9") (& "&") (number_literal "0xfffffffff7ffffff")) () ")")))) (|| "||") (parenthesized_expression "(DAT_00153a54 != (&DAT_001e3bc8)[(uVar11 + 6) * 2])" (( "(") (binary_expression "DAT_00153a54 != (&DAT_001e3bc8)[(uVar11 + 6) * 2]" (identifier "DAT_00153a54") (!= "!=") (subscript_expression "(&DAT_001e3bc8)[(uVar11 + 6) * 2]" (parenthesized_expression "(&DAT_001e3bc8)" (( "(") (pointer_expression "&DAT_001e3bc8" (& "&") (identifier "DAT_001e3bc8")) () ")")) ([ "[") (binary_expression "(uVar11 + 6) * 2" (parenthesized_expression "(uVar11 + 6)" (( "(") (binary_expression "uVar11 + 6" (identifier "uVar11") (+ "+") (number_literal "6")) () ")")) (* "*") (number_literal "2")) (] "]"))) () ")"))) () ")")) () ")"))) () ")")) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1ac9,"build_modrm_byte");\n            }" ({ "{") (expression_statement "FUN_0011dd00("../../gas/config/tc-i386.c",0x1ac9,"build_modrm_byte");" (call_expression "FUN_0011dd00("../../gas/config/tc-i386.c",0x1ac9,"build_modrm_byte")" (identifier "FUN_0011dd00") (argument_list "("../../gas/config/tc-i386.c",0x1ac9,"build_modrm_byte")" (( "(") (string_literal ""../../gas/config/tc-i386.c"" (" """) (string_content "../../gas/config/tc-i386.c") (" """)) (, ",") (number_literal "0x1ac9") (, ",") (string_literal ""build_modrm_byte"" (" """) (string_content "build_modrm_byte") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "DAT_001e3d18 = (&DAT_001e3c60)[uVar11];" (assignment_expression "DAT_001e3d18 = (&DAT_001e3c60)[uVar11]" (identifier "DAT_001e3d18") (= "=") (subscript_expression "(&DAT_001e3c60)[uVar11]" (parenthesized_expression "(&DAT_001e3c60)" (( "(") (pointer_expression "&DAT_001e3c60" (& "&") (identifier "DAT_001e3c60")) () ")")) ([ "[") (identifier "uVar11") (] "]"))) (; ";")) (expression_statement "uVar9 = uVar20;" (assignment_expression "uVar9 = uVar20" (identifier "uVar9") (= "=") (identifier "uVar20")) (; ";")) (} "}"))) (} "}")))) (labeled_statement "LAB_001337ff:\n        DAT_001e3cf4 = 3;" (statement_identifier "LAB_001337ff") (: ":") (expression_statement "DAT_001e3cf4 = 3;" (assignment_expression "DAT_001e3cf4 = 3" (identifier "DAT_001e3cf4") (= "=") (number_literal "3")) (; ";"))) (if_statement "if (((*(byte *)((long)&DAT_001e3bc0 + (uVar18 + 6) * 8 + 7) & 8) == 0) &&\n           ((*(ulong *)((long)&DAT_001e3bc0 + (uVar18 + 6) * 8 + 4) & 0x5f0000) == 0)) {\n          DAT_001e3cf0 = (uint)*(byte *)((&DAT_001e3c60)[uVar18] + 0x11);\n          DAT_001e3cec = (uint)*(byte *)((&DAT_001e3c60)[uVar9] + 0x11);\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar18] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 4;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 4;\n          }\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 1;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 1;\n          }\n        }\n        else {\n          DAT_001e3cf0 = (uint)*(byte *)((&DAT_001e3c60)[uVar9] + 0x11);\n          DAT_001e3cec = (uint)*(byte *)((&DAT_001e3c60)[uVar18] + 0x11);\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar18] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 1;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 1;\n          }\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 4;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 4;\n          }\n        }" (if "if") (parenthesized_expression "(((*(byte *)((long)&DAT_001e3bc0 + (uVar18 + 6) * 8 + 7) & 8) == 0) &&\n           ((*(ulong *)((long)&DAT_001e3bc0 + (uVar18 + 6) * 8 + 4) & 0x5f0000) == 0))" (( "(") (binary_expression "((*(byte *)((long)&DAT_001e3bc0 + (uVar18 + 6) * 8 + 7) & 8) == 0) &&\n           ((*(ulong *)((long)&DAT_001e3bc0 + (uVar18 + 6) * 8 + 4) & 0x5f0000) == 0)" (parenthesized_expression "((*(byte *)((long)&DAT_001e3bc0 + (uVar18 + 6) * 8 + 7) & 8) == 0)" (( "(") (binary_expression "(*(byte *)((long)&DAT_001e3bc0 + (uVar18 + 6) * 8 + 7) & 8) == 0" (parenthesized_expression "(*(byte *)((long)&DAT_001e3bc0 + (uVar18 + 6) * 8 + 7) & 8)" (( "(") (binary_expression "*(byte *)((long)&DAT_001e3bc0 + (uVar18 + 6) * 8 + 7) & 8" (pointer_expression "*(byte *)((long)&DAT_001e3bc0 + (uVar18 + 6) * 8 + 7)" (* "*") (cast_expression "(byte *)((long)&DAT_001e3bc0 + (uVar18 + 6) * 8 + 7)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)&DAT_001e3bc0 + (uVar18 + 6) * 8 + 7)" (( "(") (binary_expression "(long)&DAT_001e3bc0 + (uVar18 + 6) * 8 + 7" (binary_expression "(long)&DAT_001e3bc0 + (uVar18 + 6) * 8" (cast_expression "(long)&DAT_001e3bc0" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (pointer_expression "&DAT_001e3bc0" (& "&") (identifier "DAT_001e3bc0"))) (+ "+") (binary_expression "(uVar18 + 6) * 8" (parenthesized_expression "(uVar18 + 6)" (( "(") (binary_expression "uVar18 + 6" (identifier "uVar18") (+ "+") (number_literal "6")) () ")")) (* "*") (number_literal "8"))) (+ "+") (number_literal "7")) () ")")))) (& "&") (number_literal "8")) () ")")) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "((*(ulong *)((long)&DAT_001e3bc0 + (uVar18 + 6) * 8 + 4) & 0x5f0000) == 0)" (( "(") (binary_expression "(*(ulong *)((long)&DAT_001e3bc0 + (uVar18 + 6) * 8 + 4) & 0x5f0000) == 0" (parenthesized_expression "(*(ulong *)((long)&DAT_001e3bc0 + (uVar18 + 6) * 8 + 4) & 0x5f0000)" (( "(") (binary_expression "*(ulong *)((long)&DAT_001e3bc0 + (uVar18 + 6) * 8 + 4) & 0x5f0000" (pointer_expression "*(ulong *)((long)&DAT_001e3bc0 + (uVar18 + 6) * 8 + 4)" (* "*") (cast_expression "(ulong *)((long)&DAT_001e3bc0 + (uVar18 + 6) * 8 + 4)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)&DAT_001e3bc0 + (uVar18 + 6) * 8 + 4)" (( "(") (binary_expression "(long)&DAT_001e3bc0 + (uVar18 + 6) * 8 + 4" (binary_expression "(long)&DAT_001e3bc0 + (uVar18 + 6) * 8" (cast_expression "(long)&DAT_001e3bc0" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (pointer_expression "&DAT_001e3bc0" (& "&") (identifier "DAT_001e3bc0"))) (+ "+") (binary_expression "(uVar18 + 6) * 8" (parenthesized_expression "(uVar18 + 6)" (( "(") (binary_expression "uVar18 + 6" (identifier "uVar18") (+ "+") (number_literal "6")) () ")")) (* "*") (number_literal "8"))) (+ "+") (number_literal "4")) () ")")))) (& "&") (number_literal "0x5f0000")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n          DAT_001e3cf0 = (uint)*(byte *)((&DAT_001e3c60)[uVar18] + 0x11);\n          DAT_001e3cec = (uint)*(byte *)((&DAT_001e3c60)[uVar9] + 0x11);\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar18] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 4;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 4;\n          }\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 1;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 1;\n          }\n        }" ({ "{") (expression_statement "DAT_001e3cf0 = (uint)*(byte *)((&DAT_001e3c60)[uVar18] + 0x11);" (assignment_expression "DAT_001e3cf0 = (uint)*(byte *)((&DAT_001e3c60)[uVar18] + 0x11)" (identifier "DAT_001e3cf0") (= "=") (binary_expression "(uint)*(byte *)((&DAT_001e3c60)[uVar18] + 0x11)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(byte *)((&DAT_001e3c60)[uVar18] + 0x11)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((&DAT_001e3c60)[uVar18] + 0x11)" (( "(") (binary_expression "(&DAT_001e3c60)[uVar18] + 0x11" (subscript_expression "(&DAT_001e3c60)[uVar18]" (parenthesized_expression "(&DAT_001e3c60)" (( "(") (pointer_expression "&DAT_001e3c60" (& "&") (identifier "DAT_001e3c60")) () ")")) ([ "[") (identifier "uVar18") (] "]")) (+ "+") (number_literal "0x11")) () ")"))))) (; ";")) (expression_statement "DAT_001e3cec = (uint)*(byte *)((&DAT_001e3c60)[uVar9] + 0x11);" (assignment_expression "DAT_001e3cec = (uint)*(byte *)((&DAT_001e3c60)[uVar9] + 0x11)" (identifier "DAT_001e3cec") (= "=") (binary_expression "(uint)*(byte *)((&DAT_001e3c60)[uVar9] + 0x11)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(byte *)((&DAT_001e3c60)[uVar9] + 0x11)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((&DAT_001e3c60)[uVar9] + 0x11)" (( "(") (binary_expression "(&DAT_001e3c60)[uVar9] + 0x11" (subscript_expression "(&DAT_001e3c60)[uVar9]" (parenthesized_expression "(&DAT_001e3c60)" (( "(") (pointer_expression "&DAT_001e3c60" (& "&") (identifier "DAT_001e3c60")) () ")")) ([ "[") (identifier "uVar9") (] "]")) (+ "+") (number_literal "0x11")) () ")"))))) (; ";")) (expression_statement "bVar21 = *(byte *)((&DAT_001e3c60)[uVar18] + 0x10);" (assignment_expression "bVar21 = *(byte *)((&DAT_001e3c60)[uVar18] + 0x10)" (identifier "bVar21") (= "=") (pointer_expression "*(byte *)((&DAT_001e3c60)[uVar18] + 0x10)" (* "*") (cast_expression "(byte *)((&DAT_001e3c60)[uVar18] + 0x10)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((&DAT_001e3c60)[uVar18] + 0x10)" (( "(") (binary_expression "(&DAT_001e3c60)[uVar18] + 0x10" (subscript_expression "(&DAT_001e3c60)[uVar18]" (parenthesized_expression "(&DAT_001e3c60)" (( "(") (pointer_expression "&DAT_001e3c60" (& "&") (identifier "DAT_001e3c60")) () ")")) ([ "[") (identifier "uVar18") (] "]")) (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (if_statement "if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 4;\n          }" (if "if") (parenthesized_expression "((bVar21 & 1) != 0)" (( "(") (binary_expression "(bVar21 & 1) != 0" (parenthesized_expression "(bVar21 & 1)" (( "(") (binary_expression "bVar21 & 1" (identifier "bVar21") (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            DAT_001e3cf8 = DAT_001e3cf8 | 4;\n          }" ({ "{") (expression_statement "DAT_001e3cf8 = DAT_001e3cf8 | 4;" (assignment_expression "DAT_001e3cf8 = DAT_001e3cf8 | 4" (identifier "DAT_001e3cf8") (= "=") (binary_expression "DAT_001e3cf8 | 4" (identifier "DAT_001e3cf8") (| "|") (number_literal "4"))) (; ";")) (} "}"))) (if_statement "if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 4;\n          }" (if "if") (parenthesized_expression "((bVar21 & 4) != 0)" (( "(") (binary_expression "(bVar21 & 4) != 0" (parenthesized_expression "(bVar21 & 4)" (( "(") (binary_expression "bVar21 & 4" (identifier "bVar21") (& "&") (number_literal "4")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            DAT_001e3cfc = DAT_001e3cfc | 4;\n          }" ({ "{") (expression_statement "DAT_001e3cfc = DAT_001e3cfc | 4;" (assignment_expression "DAT_001e3cfc = DAT_001e3cfc | 4" (identifier "DAT_001e3cfc") (= "=") (binary_expression "DAT_001e3cfc | 4" (identifier "DAT_001e3cfc") (| "|") (number_literal "4"))) (; ";")) (} "}"))) (expression_statement "bVar21 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10);" (assignment_expression "bVar21 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10)" (identifier "bVar21") (= "=") (pointer_expression "*(byte *)((&DAT_001e3c60)[uVar9] + 0x10)" (* "*") (cast_expression "(byte *)((&DAT_001e3c60)[uVar9] + 0x10)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((&DAT_001e3c60)[uVar9] + 0x10)" (( "(") (binary_expression "(&DAT_001e3c60)[uVar9] + 0x10" (subscript_expression "(&DAT_001e3c60)[uVar9]" (parenthesized_expression "(&DAT_001e3c60)" (( "(") (pointer_expression "&DAT_001e3c60" (& "&") (identifier "DAT_001e3c60")) () ")")) ([ "[") (identifier "uVar9") (] "]")) (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (if_statement "if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 1;\n          }" (if "if") (parenthesized_expression "((bVar21 & 1) != 0)" (( "(") (binary_expression "(bVar21 & 1) != 0" (parenthesized_expression "(bVar21 & 1)" (( "(") (binary_expression "bVar21 & 1" (identifier "bVar21") (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            DAT_001e3cf8 = DAT_001e3cf8 | 1;\n          }" ({ "{") (expression_statement "DAT_001e3cf8 = DAT_001e3cf8 | 1;" (assignment_expression "DAT_001e3cf8 = DAT_001e3cf8 | 1" (identifier "DAT_001e3cf8") (= "=") (binary_expression "DAT_001e3cf8 | 1" (identifier "DAT_001e3cf8") (| "|") (number_literal "1"))) (; ";")) (} "}"))) (if_statement "if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 1;\n          }" (if "if") (parenthesized_expression "((bVar21 & 4) != 0)" (( "(") (binary_expression "(bVar21 & 4) != 0" (parenthesized_expression "(bVar21 & 4)" (( "(") (binary_expression "bVar21 & 4" (identifier "bVar21") (& "&") (number_literal "4")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            DAT_001e3cfc = DAT_001e3cfc | 1;\n          }" ({ "{") (expression_statement "DAT_001e3cfc = DAT_001e3cfc | 1;" (assignment_expression "DAT_001e3cfc = DAT_001e3cfc | 1" (identifier "DAT_001e3cfc") (= "=") (binary_expression "DAT_001e3cfc | 1" (identifier "DAT_001e3cfc") (| "|") (number_literal "1"))) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n          DAT_001e3cf0 = (uint)*(byte *)((&DAT_001e3c60)[uVar9] + 0x11);\n          DAT_001e3cec = (uint)*(byte *)((&DAT_001e3c60)[uVar18] + 0x11);\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar18] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 1;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 1;\n          }\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 4;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 4;\n          }\n        }" (else "else") (compound_statement "{\n          DAT_001e3cf0 = (uint)*(byte *)((&DAT_001e3c60)[uVar9] + 0x11);\n          DAT_001e3cec = (uint)*(byte *)((&DAT_001e3c60)[uVar18] + 0x11);\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar18] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 1;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 1;\n          }\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 4;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 4;\n          }\n        }" ({ "{") (expression_statement "DAT_001e3cf0 = (uint)*(byte *)((&DAT_001e3c60)[uVar9] + 0x11);" (assignment_expression "DAT_001e3cf0 = (uint)*(byte *)((&DAT_001e3c60)[uVar9] + 0x11)" (identifier "DAT_001e3cf0") (= "=") (binary_expression "(uint)*(byte *)((&DAT_001e3c60)[uVar9] + 0x11)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(byte *)((&DAT_001e3c60)[uVar9] + 0x11)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((&DAT_001e3c60)[uVar9] + 0x11)" (( "(") (binary_expression "(&DAT_001e3c60)[uVar9] + 0x11" (subscript_expression "(&DAT_001e3c60)[uVar9]" (parenthesized_expression "(&DAT_001e3c60)" (( "(") (pointer_expression "&DAT_001e3c60" (& "&") (identifier "DAT_001e3c60")) () ")")) ([ "[") (identifier "uVar9") (] "]")) (+ "+") (number_literal "0x11")) () ")"))))) (; ";")) (expression_statement "DAT_001e3cec = (uint)*(byte *)((&DAT_001e3c60)[uVar18] + 0x11);" (assignment_expression "DAT_001e3cec = (uint)*(byte *)((&DAT_001e3c60)[uVar18] + 0x11)" (identifier "DAT_001e3cec") (= "=") (binary_expression "(uint)*(byte *)((&DAT_001e3c60)[uVar18] + 0x11)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(byte *)((&DAT_001e3c60)[uVar18] + 0x11)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((&DAT_001e3c60)[uVar18] + 0x11)" (( "(") (binary_expression "(&DAT_001e3c60)[uVar18] + 0x11" (subscript_expression "(&DAT_001e3c60)[uVar18]" (parenthesized_expression "(&DAT_001e3c60)" (( "(") (pointer_expression "&DAT_001e3c60" (& "&") (identifier "DAT_001e3c60")) () ")")) ([ "[") (identifier "uVar18") (] "]")) (+ "+") (number_literal "0x11")) () ")"))))) (; ";")) (expression_statement "bVar21 = *(byte *)((&DAT_001e3c60)[uVar18] + 0x10);" (assignment_expression "bVar21 = *(byte *)((&DAT_001e3c60)[uVar18] + 0x10)" (identifier "bVar21") (= "=") (pointer_expression "*(byte *)((&DAT_001e3c60)[uVar18] + 0x10)" (* "*") (cast_expression "(byte *)((&DAT_001e3c60)[uVar18] + 0x10)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((&DAT_001e3c60)[uVar18] + 0x10)" (( "(") (binary_expression "(&DAT_001e3c60)[uVar18] + 0x10" (subscript_expression "(&DAT_001e3c60)[uVar18]" (parenthesized_expression "(&DAT_001e3c60)" (( "(") (pointer_expression "&DAT_001e3c60" (& "&") (identifier "DAT_001e3c60")) () ")")) ([ "[") (identifier "uVar18") (] "]")) (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (if_statement "if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 1;\n          }" (if "if") (parenthesized_expression "((bVar21 & 1) != 0)" (( "(") (binary_expression "(bVar21 & 1) != 0" (parenthesized_expression "(bVar21 & 1)" (( "(") (binary_expression "bVar21 & 1" (identifier "bVar21") (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            DAT_001e3cf8 = DAT_001e3cf8 | 1;\n          }" ({ "{") (expression_statement "DAT_001e3cf8 = DAT_001e3cf8 | 1;" (assignment_expression "DAT_001e3cf8 = DAT_001e3cf8 | 1" (identifier "DAT_001e3cf8") (= "=") (binary_expression "DAT_001e3cf8 | 1" (identifier "DAT_001e3cf8") (| "|") (number_literal "1"))) (; ";")) (} "}"))) (if_statement "if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 1;\n          }" (if "if") (parenthesized_expression "((bVar21 & 4) != 0)" (( "(") (binary_expression "(bVar21 & 4) != 0" (parenthesized_expression "(bVar21 & 4)" (( "(") (binary_expression "bVar21 & 4" (identifier "bVar21") (& "&") (number_literal "4")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            DAT_001e3cfc = DAT_001e3cfc | 1;\n          }" ({ "{") (expression_statement "DAT_001e3cfc = DAT_001e3cfc | 1;" (assignment_expression "DAT_001e3cfc = DAT_001e3cfc | 1" (identifier "DAT_001e3cfc") (= "=") (binary_expression "DAT_001e3cfc | 1" (identifier "DAT_001e3cfc") (| "|") (number_literal "1"))) (; ";")) (} "}"))) (expression_statement "bVar21 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10);" (assignment_expression "bVar21 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10)" (identifier "bVar21") (= "=") (pointer_expression "*(byte *)((&DAT_001e3c60)[uVar9] + 0x10)" (* "*") (cast_expression "(byte *)((&DAT_001e3c60)[uVar9] + 0x10)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((&DAT_001e3c60)[uVar9] + 0x10)" (( "(") (binary_expression "(&DAT_001e3c60)[uVar9] + 0x10" (subscript_expression "(&DAT_001e3c60)[uVar9]" (parenthesized_expression "(&DAT_001e3c60)" (( "(") (pointer_expression "&DAT_001e3c60" (& "&") (identifier "DAT_001e3c60")) () ")")) ([ "[") (identifier "uVar9") (] "]")) (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (if_statement "if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 4;\n          }" (if "if") (parenthesized_expression "((bVar21 & 1) != 0)" (( "(") (binary_expression "(bVar21 & 1) != 0" (parenthesized_expression "(bVar21 & 1)" (( "(") (binary_expression "bVar21 & 1" (identifier "bVar21") (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            DAT_001e3cf8 = DAT_001e3cf8 | 4;\n          }" ({ "{") (expression_statement "DAT_001e3cf8 = DAT_001e3cf8 | 4;" (assignment_expression "DAT_001e3cf8 = DAT_001e3cf8 | 4" (identifier "DAT_001e3cf8") (= "=") (binary_expression "DAT_001e3cf8 | 4" (identifier "DAT_001e3cf8") (| "|") (number_literal "4"))) (; ";")) (} "}"))) (if_statement "if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 4;\n          }" (if "if") (parenthesized_expression "((bVar21 & 4) != 0)" (( "(") (binary_expression "(bVar21 & 4) != 0" (parenthesized_expression "(bVar21 & 4)" (( "(") (binary_expression "bVar21 & 4" (identifier "bVar21") (& "&") (number_literal "4")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            DAT_001e3cfc = DAT_001e3cfc | 4;\n          }" ({ "{") (expression_statement "DAT_001e3cfc = DAT_001e3cfc | 4;" (assignment_expression "DAT_001e3cfc = DAT_001e3cfc | 4" (identifier "DAT_001e3cfc") (= "=") (binary_expression "DAT_001e3cfc | 4" (identifier "DAT_001e3cfc") (| "|") (number_literal "4"))) (; ";")) (} "}"))) (} "}")))) (if_statement "if ((DAT_001e3b14 != 2) && ((DAT_001e3cf8 & 4) != 0)) {\n          if ((*(byte *)(&DAT_001e3bc8 + ((ulong)(DAT_001e3bf7 >> 3 & 1) + 0xe) * 2) & 0x10) == 0) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1af4,"build_modrm_byte");\n          }\n          DAT_001e3cf8 = DAT_001e3cf8 & 0xfffffffb;\n          FUN_00131f90(0xf0);\n          return (undefined1 *)0x0;\n        }" (if "if") (parenthesized_expression "((DAT_001e3b14 != 2) && ((DAT_001e3cf8 & 4) != 0))" (( "(") (binary_expression "(DAT_001e3b14 != 2) && ((DAT_001e3cf8 & 4) != 0)" (parenthesized_expression "(DAT_001e3b14 != 2)" (( "(") (binary_expression "DAT_001e3b14 != 2" (identifier "DAT_001e3b14") (!= "!=") (number_literal "2")) () ")")) (&& "&&") (parenthesized_expression "((DAT_001e3cf8 & 4) != 0)" (( "(") (binary_expression "(DAT_001e3cf8 & 4) != 0" (parenthesized_expression "(DAT_001e3cf8 & 4)" (( "(") (binary_expression "DAT_001e3cf8 & 4" (identifier "DAT_001e3cf8") (& "&") (number_literal "4")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n          if ((*(byte *)(&DAT_001e3bc8 + ((ulong)(DAT_001e3bf7 >> 3 & 1) + 0xe) * 2) & 0x10) == 0) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1af4,"build_modrm_byte");\n          }\n          DAT_001e3cf8 = DAT_001e3cf8 & 0xfffffffb;\n          FUN_00131f90(0xf0);\n          return (undefined1 *)0x0;\n        }" ({ "{") (if_statement "if ((*(byte *)(&DAT_001e3bc8 + ((ulong)(DAT_001e3bf7 >> 3 & 1) + 0xe) * 2) & 0x10) == 0) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1af4,"build_modrm_byte");\n          }" (if "if") (parenthesized_expression "((*(byte *)(&DAT_001e3bc8 + ((ulong)(DAT_001e3bf7 >> 3 & 1) + 0xe) * 2) & 0x10) == 0)" (( "(") (binary_expression "(*(byte *)(&DAT_001e3bc8 + ((ulong)(DAT_001e3bf7 >> 3 & 1) + 0xe) * 2) & 0x10) == 0" (parenthesized_expression "(*(byte *)(&DAT_001e3bc8 + ((ulong)(DAT_001e3bf7 >> 3 & 1) + 0xe) * 2) & 0x10)" (( "(") (binary_expression "*(byte *)(&DAT_001e3bc8 + ((ulong)(DAT_001e3bf7 >> 3 & 1) + 0xe) * 2) & 0x10" (pointer_expression "*(byte *)(&DAT_001e3bc8 + ((ulong)(DAT_001e3bf7 >> 3 & 1) + 0xe) * 2)" (* "*") (cast_expression "(byte *)(&DAT_001e3bc8 + ((ulong)(DAT_001e3bf7 >> 3 & 1) + 0xe) * 2)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_001e3bc8 + ((ulong)(DAT_001e3bf7 >> 3 & 1) + 0xe) * 2)" (( "(") (binary_expression "&DAT_001e3bc8 + ((ulong)(DAT_001e3bf7 >> 3 & 1) + 0xe) * 2" (pointer_expression "&DAT_001e3bc8" (& "&") (identifier "DAT_001e3bc8")) (+ "+") (binary_expression "((ulong)(DAT_001e3bf7 >> 3 & 1) + 0xe) * 2" (parenthesized_expression "((ulong)(DAT_001e3bf7 >> 3 & 1) + 0xe)" (( "(") (binary_expression "(ulong)(DAT_001e3bf7 >> 3 & 1) + 0xe" (call_expression "(ulong)(DAT_001e3bf7 >> 3 & 1)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(DAT_001e3bf7 >> 3 & 1)" (( "(") (binary_expression "DAT_001e3bf7 >> 3 & 1" (binary_expression "DAT_001e3bf7 >> 3" (identifier "DAT_001e3bf7") (>> ">>") (number_literal "3")) (& "&") (number_literal "1")) () ")"))) (+ "+") (number_literal "0xe")) () ")")) (* "*") (number_literal "2"))) () ")")))) (& "&") (number_literal "0x10")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1af4,"build_modrm_byte");\n          }" ({ "{") (expression_statement "FUN_0011dd00("../../gas/config/tc-i386.c",0x1af4,"build_modrm_byte");" (call_expression "FUN_0011dd00("../../gas/config/tc-i386.c",0x1af4,"build_modrm_byte")" (identifier "FUN_0011dd00") (argument_list "("../../gas/config/tc-i386.c",0x1af4,"build_modrm_byte")" (( "(") (string_literal ""../../gas/config/tc-i386.c"" (" """) (string_content "../../gas/config/tc-i386.c") (" """)) (, ",") (number_literal "0x1af4") (, ",") (string_literal ""build_modrm_byte"" (" """) (string_content "build_modrm_byte") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "DAT_001e3cf8 = DAT_001e3cf8 & 0xfffffffb;" (assignment_expression "DAT_001e3cf8 = DAT_001e3cf8 & 0xfffffffb" (identifier "DAT_001e3cf8") (= "=") (binary_expression "DAT_001e3cf8 & 0xfffffffb" (identifier "DAT_001e3cf8") (& "&") (number_literal "0xfffffffb"))) (; ";")) (expression_statement "FUN_00131f90(0xf0);" (call_expression "FUN_00131f90(0xf0)" (identifier "FUN_00131f90") (argument_list "(0xf0)" (( "(") (number_literal "0xf0") () ")"))) (; ";")) (return_statement "return (undefined1 *)0x0;" (return "return") (cast_expression "(undefined1 *)0x0" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")) (; ";")) (} "}"))) (expression_statement "DAT_001e3cf4 = 3;" (assignment_expression "DAT_001e3cf4 = 3" (identifier "DAT_001e3cf4") (= "=") (number_literal "3")) (; ";")) (return_statement "return (undefined1 *)0x0;" (return "return") (cast_expression "(undefined1 *)0x0" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")) (; ";")) (} "}"))) (} "}")) (else_clause "else if (DAT_001e3c28 == 3) {\n      if ((DAT_001e3bed & 0x18) == 8) goto LAB_0013335b;\n    }\n    else if ((DAT_001e3c28 == 4) && (bVar19 == 8)) {\n      if (DAT_001e3c24 == 3) goto LAB_00133ea8;\n      if (DAT_001e3c24 < 4) {\n        if (DAT_001e3c24 != 2) goto LAB_00133dcf;\n        goto LAB_001337ff;\n      }\n      if (DAT_001e3c24 == 4) goto LAB_00133379;\njoined_r0x00133753:\n      if (DAT_001e3c24 != 5) {\nLAB_00133dcf:\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1aa0,"build_modrm_byte");\n      }\n      if (DAT_001e3bef == '\0') {\n        uVar9 = uVar20;\n        uVar22 = 5;\n      }\n      else {\n        if (((DAT_001e3c34 != 2) || (-1 < DAT_001e3bef)) || ((DAT_001e3c38._1_1_ & 0xfc) == 0)) {\n                    \n          FUN_0011dd00("../../gas/config/tc-i386.c",0x1a96,"build_modrm_byte");\n        }\n        if ((DAT_001e3c40._1_1_ & 0xfc) == 0) {\n          if ((DAT_001e3c58._1_1_ & 0xfc) == 0) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1a9c,"build_modrm_byte");\n          }\n          uVar9 = 1;\n          uVar22 = 5;\n        }\n        else {\n          uVar9 = (ulong)DAT_001e3c34;\n          uVar22 = 5;\n        }\n      }\n      goto LAB_001337c1;\n    }" (else "else") (if_statement "if (DAT_001e3c28 == 3) {\n      if ((DAT_001e3bed & 0x18) == 8) goto LAB_0013335b;\n    }\n    else if ((DAT_001e3c28 == 4) && (bVar19 == 8)) {\n      if (DAT_001e3c24 == 3) goto LAB_00133ea8;\n      if (DAT_001e3c24 < 4) {\n        if (DAT_001e3c24 != 2) goto LAB_00133dcf;\n        goto LAB_001337ff;\n      }\n      if (DAT_001e3c24 == 4) goto LAB_00133379;\njoined_r0x00133753:\n      if (DAT_001e3c24 != 5) {\nLAB_00133dcf:\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1aa0,"build_modrm_byte");\n      }\n      if (DAT_001e3bef == '\0') {\n        uVar9 = uVar20;\n        uVar22 = 5;\n      }\n      else {\n        if (((DAT_001e3c34 != 2) || (-1 < DAT_001e3bef)) || ((DAT_001e3c38._1_1_ & 0xfc) == 0)) {\n                    \n          FUN_0011dd00("../../gas/config/tc-i386.c",0x1a96,"build_modrm_byte");\n        }\n        if ((DAT_001e3c40._1_1_ & 0xfc) == 0) {\n          if ((DAT_001e3c58._1_1_ & 0xfc) == 0) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1a9c,"build_modrm_byte");\n          }\n          uVar9 = 1;\n          uVar22 = 5;\n        }\n        else {\n          uVar9 = (ulong)DAT_001e3c34;\n          uVar22 = 5;\n        }\n      }\n      goto LAB_001337c1;\n    }" (if "if") (parenthesized_expression "(DAT_001e3c28 == 3)" (( "(") (binary_expression "DAT_001e3c28 == 3" (identifier "DAT_001e3c28") (== "==") (number_literal "3")) () ")")) (compound_statement "{\n      if ((DAT_001e3bed & 0x18) == 8) goto LAB_0013335b;\n    }" ({ "{") (if_statement "if ((DAT_001e3bed & 0x18) == 8) goto LAB_0013335b;" (if "if") (parenthesized_expression "((DAT_001e3bed & 0x18) == 8)" (( "(") (binary_expression "(DAT_001e3bed & 0x18) == 8" (parenthesized_expression "(DAT_001e3bed & 0x18)" (( "(") (binary_expression "DAT_001e3bed & 0x18" (identifier "DAT_001e3bed") (& "&") (number_literal "0x18")) () ")")) (== "==") (number_literal "8")) () ")")) (goto_statement "goto LAB_0013335b;" (goto "goto") (statement_identifier "LAB_0013335b") (; ";"))) (} "}")) (else_clause "else if ((DAT_001e3c28 == 4) && (bVar19 == 8)) {\n      if (DAT_001e3c24 == 3) goto LAB_00133ea8;\n      if (DAT_001e3c24 < 4) {\n        if (DAT_001e3c24 != 2) goto LAB_00133dcf;\n        goto LAB_001337ff;\n      }\n      if (DAT_001e3c24 == 4) goto LAB_00133379;\njoined_r0x00133753:\n      if (DAT_001e3c24 != 5) {\nLAB_00133dcf:\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1aa0,"build_modrm_byte");\n      }\n      if (DAT_001e3bef == '\0') {\n        uVar9 = uVar20;\n        uVar22 = 5;\n      }\n      else {\n        if (((DAT_001e3c34 != 2) || (-1 < DAT_001e3bef)) || ((DAT_001e3c38._1_1_ & 0xfc) == 0)) {\n                    \n          FUN_0011dd00("../../gas/config/tc-i386.c",0x1a96,"build_modrm_byte");\n        }\n        if ((DAT_001e3c40._1_1_ & 0xfc) == 0) {\n          if ((DAT_001e3c58._1_1_ & 0xfc) == 0) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1a9c,"build_modrm_byte");\n          }\n          uVar9 = 1;\n          uVar22 = 5;\n        }\n        else {\n          uVar9 = (ulong)DAT_001e3c34;\n          uVar22 = 5;\n        }\n      }\n      goto LAB_001337c1;\n    }" (else "else") (if_statement "if ((DAT_001e3c28 == 4) && (bVar19 == 8)) {\n      if (DAT_001e3c24 == 3) goto LAB_00133ea8;\n      if (DAT_001e3c24 < 4) {\n        if (DAT_001e3c24 != 2) goto LAB_00133dcf;\n        goto LAB_001337ff;\n      }\n      if (DAT_001e3c24 == 4) goto LAB_00133379;\njoined_r0x00133753:\n      if (DAT_001e3c24 != 5) {\nLAB_00133dcf:\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1aa0,"build_modrm_byte");\n      }\n      if (DAT_001e3bef == '\0') {\n        uVar9 = uVar20;\n        uVar22 = 5;\n      }\n      else {\n        if (((DAT_001e3c34 != 2) || (-1 < DAT_001e3bef)) || ((DAT_001e3c38._1_1_ & 0xfc) == 0)) {\n                    \n          FUN_0011dd00("../../gas/config/tc-i386.c",0x1a96,"build_modrm_byte");\n        }\n        if ((DAT_001e3c40._1_1_ & 0xfc) == 0) {\n          if ((DAT_001e3c58._1_1_ & 0xfc) == 0) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1a9c,"build_modrm_byte");\n          }\n          uVar9 = 1;\n          uVar22 = 5;\n        }\n        else {\n          uVar9 = (ulong)DAT_001e3c34;\n          uVar22 = 5;\n        }\n      }\n      goto LAB_001337c1;\n    }" (if "if") (parenthesized_expression "((DAT_001e3c28 == 4) && (bVar19 == 8))" (( "(") (binary_expression "(DAT_001e3c28 == 4) && (bVar19 == 8)" (parenthesized_expression "(DAT_001e3c28 == 4)" (( "(") (binary_expression "DAT_001e3c28 == 4" (identifier "DAT_001e3c28") (== "==") (number_literal "4")) () ")")) (&& "&&") (parenthesized_expression "(bVar19 == 8)" (( "(") (binary_expression "bVar19 == 8" (identifier "bVar19") (== "==") (number_literal "8")) () ")"))) () ")")) (compound_statement "{\n      if (DAT_001e3c24 == 3) goto LAB_00133ea8;\n      if (DAT_001e3c24 < 4) {\n        if (DAT_001e3c24 != 2) goto LAB_00133dcf;\n        goto LAB_001337ff;\n      }\n      if (DAT_001e3c24 == 4) goto LAB_00133379;\njoined_r0x00133753:\n      if (DAT_001e3c24 != 5) {\nLAB_00133dcf:\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1aa0,"build_modrm_byte");\n      }\n      if (DAT_001e3bef == '\0') {\n        uVar9 = uVar20;\n        uVar22 = 5;\n      }\n      else {\n        if (((DAT_001e3c34 != 2) || (-1 < DAT_001e3bef)) || ((DAT_001e3c38._1_1_ & 0xfc) == 0)) {\n                    \n          FUN_0011dd00("../../gas/config/tc-i386.c",0x1a96,"build_modrm_byte");\n        }\n        if ((DAT_001e3c40._1_1_ & 0xfc) == 0) {\n          if ((DAT_001e3c58._1_1_ & 0xfc) == 0) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1a9c,"build_modrm_byte");\n          }\n          uVar9 = 1;\n          uVar22 = 5;\n        }\n        else {\n          uVar9 = (ulong)DAT_001e3c34;\n          uVar22 = 5;\n        }\n      }\n      goto LAB_001337c1;\n    }" ({ "{") (if_statement "if (DAT_001e3c24 == 3) goto LAB_00133ea8;" (if "if") (parenthesized_expression "(DAT_001e3c24 == 3)" (( "(") (binary_expression "DAT_001e3c24 == 3" (identifier "DAT_001e3c24") (== "==") (number_literal "3")) () ")")) (goto_statement "goto LAB_00133ea8;" (goto "goto") (statement_identifier "LAB_00133ea8") (; ";"))) (if_statement "if (DAT_001e3c24 < 4) {\n        if (DAT_001e3c24 != 2) goto LAB_00133dcf;\n        goto LAB_001337ff;\n      }" (if "if") (parenthesized_expression "(DAT_001e3c24 < 4)" (( "(") (binary_expression "DAT_001e3c24 < 4" (identifier "DAT_001e3c24") (< "<") (number_literal "4")) () ")")) (compound_statement "{\n        if (DAT_001e3c24 != 2) goto LAB_00133dcf;\n        goto LAB_001337ff;\n      }" ({ "{") (if_statement "if (DAT_001e3c24 != 2) goto LAB_00133dcf;" (if "if") (parenthesized_expression "(DAT_001e3c24 != 2)" (( "(") (binary_expression "DAT_001e3c24 != 2" (identifier "DAT_001e3c24") (!= "!=") (number_literal "2")) () ")")) (goto_statement "goto LAB_00133dcf;" (goto "goto") (statement_identifier "LAB_00133dcf") (; ";"))) (goto_statement "goto LAB_001337ff;" (goto "goto") (statement_identifier "LAB_001337ff") (; ";")) (} "}"))) (if_statement "if (DAT_001e3c24 == 4) goto LAB_00133379;" (if "if") (parenthesized_expression "(DAT_001e3c24 == 4)" (( "(") (binary_expression "DAT_001e3c24 == 4" (identifier "DAT_001e3c24") (== "==") (number_literal "4")) () ")")) (goto_statement "goto LAB_00133379;" (goto "goto") (statement_identifier "LAB_00133379") (; ";"))) (labeled_statement "joined_r0x00133753:\n      if (DAT_001e3c24 != 5) {\nLAB_00133dcf:\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1aa0,"build_modrm_byte");\n      }" (statement_identifier "joined_r0x00133753") (: ":") (if_statement "if (DAT_001e3c24 != 5) {\nLAB_00133dcf:\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1aa0,"build_modrm_byte");\n      }" (if "if") (parenthesized_expression "(DAT_001e3c24 != 5)" (( "(") (binary_expression "DAT_001e3c24 != 5" (identifier "DAT_001e3c24") (!= "!=") (number_literal "5")) () ")")) (compound_statement "{\nLAB_00133dcf:\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1aa0,"build_modrm_byte");\n      }" ({ "{") (labeled_statement "LAB_00133dcf:\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1aa0,"build_modrm_byte");" (statement_identifier "LAB_00133dcf") (: ":") (expression_statement "FUN_0011dd00("../../gas/config/tc-i386.c",0x1aa0,"build_modrm_byte");" (call_expression "FUN_0011dd00("../../gas/config/tc-i386.c",0x1aa0,"build_modrm_byte")" (identifier "FUN_0011dd00") (argument_list "("../../gas/config/tc-i386.c",0x1aa0,"build_modrm_byte")" (( "(") (string_literal ""../../gas/config/tc-i386.c"" (" """) (string_content "../../gas/config/tc-i386.c") (" """)) (, ",") (number_literal "0x1aa0") (, ",") (string_literal ""build_modrm_byte"" (" """) (string_content "build_modrm_byte") (" """)) () ")"))) (; ";"))) (} "}")))) (if_statement "if (DAT_001e3bef == '\0') {\n        uVar9 = uVar20;\n        uVar22 = 5;\n      }\n      else {\n        if (((DAT_001e3c34 != 2) || (-1 < DAT_001e3bef)) || ((DAT_001e3c38._1_1_ & 0xfc) == 0)) {\n                    \n          FUN_0011dd00("../../gas/config/tc-i386.c",0x1a96,"build_modrm_byte");\n        }\n        if ((DAT_001e3c40._1_1_ & 0xfc) == 0) {\n          if ((DAT_001e3c58._1_1_ & 0xfc) == 0) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1a9c,"build_modrm_byte");\n          }\n          uVar9 = 1;\n          uVar22 = 5;\n        }\n        else {\n          uVar9 = (ulong)DAT_001e3c34;\n          uVar22 = 5;\n        }\n      }" (if "if") (parenthesized_expression "(DAT_001e3bef == '\0')" (( "(") (binary_expression "DAT_001e3bef == '\0'" (identifier "DAT_001e3bef") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n        uVar9 = uVar20;\n        uVar22 = 5;\n      }" ({ "{") (expression_statement "uVar9 = uVar20;" (assignment_expression "uVar9 = uVar20" (identifier "uVar9") (= "=") (identifier "uVar20")) (; ";")) (expression_statement "uVar22 = 5;" (assignment_expression "uVar22 = 5" (identifier "uVar22") (= "=") (number_literal "5")) (; ";")) (} "}")) (else_clause "else {\n        if (((DAT_001e3c34 != 2) || (-1 < DAT_001e3bef)) || ((DAT_001e3c38._1_1_ & 0xfc) == 0)) {\n                    \n          FUN_0011dd00("../../gas/config/tc-i386.c",0x1a96,"build_modrm_byte");\n        }\n        if ((DAT_001e3c40._1_1_ & 0xfc) == 0) {\n          if ((DAT_001e3c58._1_1_ & 0xfc) == 0) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1a9c,"build_modrm_byte");\n          }\n          uVar9 = 1;\n          uVar22 = 5;\n        }\n        else {\n          uVar9 = (ulong)DAT_001e3c34;\n          uVar22 = 5;\n        }\n      }" (else "else") (compound_statement "{\n        if (((DAT_001e3c34 != 2) || (-1 < DAT_001e3bef)) || ((DAT_001e3c38._1_1_ & 0xfc) == 0)) {\n                    \n          FUN_0011dd00("../../gas/config/tc-i386.c",0x1a96,"build_modrm_byte");\n        }\n        if ((DAT_001e3c40._1_1_ & 0xfc) == 0) {\n          if ((DAT_001e3c58._1_1_ & 0xfc) == 0) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1a9c,"build_modrm_byte");\n          }\n          uVar9 = 1;\n          uVar22 = 5;\n        }\n        else {\n          uVar9 = (ulong)DAT_001e3c34;\n          uVar22 = 5;\n        }\n      }" ({ "{") (if_statement "if (((DAT_001e3c34 != 2) || (-1 < DAT_001e3bef)) || ((DAT_001e3c38._1_1_ & 0xfc) == 0)) {\n                    \n          FUN_0011dd00("../../gas/config/tc-i386.c",0x1a96,"build_modrm_byte");\n        }" (if "if") (parenthesized_expression "(((DAT_001e3c34 != 2) || (-1 < DAT_001e3bef)) || ((DAT_001e3c38._1_1_ & 0xfc) == 0))" (( "(") (binary_expression "((DAT_001e3c34 != 2) || (-1 < DAT_001e3bef)) || ((DAT_001e3c38._1_1_ & 0xfc) == 0)" (parenthesized_expression "((DAT_001e3c34 != 2) || (-1 < DAT_001e3bef))" (( "(") (binary_expression "(DAT_001e3c34 != 2) || (-1 < DAT_001e3bef)" (parenthesized_expression "(DAT_001e3c34 != 2)" (( "(") (binary_expression "DAT_001e3c34 != 2" (identifier "DAT_001e3c34") (!= "!=") (number_literal "2")) () ")")) (|| "||") (parenthesized_expression "(-1 < DAT_001e3bef)" (( "(") (binary_expression "-1 < DAT_001e3bef" (number_literal "-1") (< "<") (identifier "DAT_001e3bef")) () ")"))) () ")")) (|| "||") (parenthesized_expression "((DAT_001e3c38._1_1_ & 0xfc) == 0)" (( "(") (binary_expression "(DAT_001e3c38._1_1_ & 0xfc) == 0" (parenthesized_expression "(DAT_001e3c38._1_1_ & 0xfc)" (( "(") (binary_expression "DAT_001e3c38._1_1_ & 0xfc" (field_expression "DAT_001e3c38._1_1_" (identifier "DAT_001e3c38") (. ".") (field_identifier "_1_1_")) (& "&") (number_literal "0xfc")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n                    \n          FUN_0011dd00("../../gas/config/tc-i386.c",0x1a96,"build_modrm_byte");\n        }" ({ "{") (expression_statement "FUN_0011dd00("../../gas/config/tc-i386.c",0x1a96,"build_modrm_byte");" (call_expression "FUN_0011dd00("../../gas/config/tc-i386.c",0x1a96,"build_modrm_byte")" (identifier "FUN_0011dd00") (argument_list "("../../gas/config/tc-i386.c",0x1a96,"build_modrm_byte")" (( "(") (string_literal ""../../gas/config/tc-i386.c"" (" """) (string_content "../../gas/config/tc-i386.c") (" """)) (, ",") (number_literal "0x1a96") (, ",") (string_literal ""build_modrm_byte"" (" """) (string_content "build_modrm_byte") (" """)) () ")"))) (; ";")) (} "}"))) (if_statement "if ((DAT_001e3c40._1_1_ & 0xfc) == 0) {\n          if ((DAT_001e3c58._1_1_ & 0xfc) == 0) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1a9c,"build_modrm_byte");\n          }\n          uVar9 = 1;\n          uVar22 = 5;\n        }\n        else {\n          uVar9 = (ulong)DAT_001e3c34;\n          uVar22 = 5;\n        }" (if "if") (parenthesized_expression "((DAT_001e3c40._1_1_ & 0xfc) == 0)" (( "(") (binary_expression "(DAT_001e3c40._1_1_ & 0xfc) == 0" (parenthesized_expression "(DAT_001e3c40._1_1_ & 0xfc)" (( "(") (binary_expression "DAT_001e3c40._1_1_ & 0xfc" (field_expression "DAT_001e3c40._1_1_" (identifier "DAT_001e3c40") (. ".") (field_identifier "_1_1_")) (& "&") (number_literal "0xfc")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          if ((DAT_001e3c58._1_1_ & 0xfc) == 0) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1a9c,"build_modrm_byte");\n          }\n          uVar9 = 1;\n          uVar22 = 5;\n        }" ({ "{") (if_statement "if ((DAT_001e3c58._1_1_ & 0xfc) == 0) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1a9c,"build_modrm_byte");\n          }" (if "if") (parenthesized_expression "((DAT_001e3c58._1_1_ & 0xfc) == 0)" (( "(") (binary_expression "(DAT_001e3c58._1_1_ & 0xfc) == 0" (parenthesized_expression "(DAT_001e3c58._1_1_ & 0xfc)" (( "(") (binary_expression "DAT_001e3c58._1_1_ & 0xfc" (field_expression "DAT_001e3c58._1_1_" (identifier "DAT_001e3c58") (. ".") (field_identifier "_1_1_")) (& "&") (number_literal "0xfc")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1a9c,"build_modrm_byte");\n          }" ({ "{") (expression_statement "FUN_0011dd00("../../gas/config/tc-i386.c",0x1a9c,"build_modrm_byte");" (call_expression "FUN_0011dd00("../../gas/config/tc-i386.c",0x1a9c,"build_modrm_byte")" (identifier "FUN_0011dd00") (argument_list "("../../gas/config/tc-i386.c",0x1a9c,"build_modrm_byte")" (( "(") (string_literal ""../../gas/config/tc-i386.c"" (" """) (string_content "../../gas/config/tc-i386.c") (" """)) (, ",") (number_literal "0x1a9c") (, ",") (string_literal ""build_modrm_byte"" (" """) (string_content "build_modrm_byte") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "uVar9 = 1;" (assignment_expression "uVar9 = 1" (identifier "uVar9") (= "=") (number_literal "1")) (; ";")) (expression_statement "uVar22 = 5;" (assignment_expression "uVar22 = 5" (identifier "uVar22") (= "=") (number_literal "5")) (; ";")) (} "}")) (else_clause "else {\n          uVar9 = (ulong)DAT_001e3c34;\n          uVar22 = 5;\n        }" (else "else") (compound_statement "{\n          uVar9 = (ulong)DAT_001e3c34;\n          uVar22 = 5;\n        }" ({ "{") (expression_statement "uVar9 = (ulong)DAT_001e3c34;" (assignment_expression "uVar9 = (ulong)DAT_001e3c34" (identifier "uVar9") (= "=") (cast_expression "(ulong)DAT_001e3c34" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "DAT_001e3c34"))) (; ";")) (expression_statement "uVar22 = 5;" (assignment_expression "uVar22 = 5" (identifier "uVar22") (= "=") (number_literal "5")) (; ";")) (} "}")))) (} "}")))) (goto_statement "goto LAB_001337c1;" (goto "goto") (statement_identifier "LAB_001337c1") (; ";")) (} "}"))))))) (expression_statement "uVar22 = 0xffffffff;" (assignment_expression "uVar22 = 0xffffffff" (identifier "uVar22") (= "=") (number_literal "0xffffffff")) (; ";")) (expression_statement "puVar10 = (undefined1 *)0x0;" (assignment_expression "puVar10 = (undefined1 *)0x0" (identifier "puVar10") (= "=") (cast_expression "(undefined1 *)0x0" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (} "}")) (else_clause "else {\n    if (DAT_001e3c24 == 0) {\nLAB_0013303b:\n                    \n      FUN_0011dd00("../../gas/config/tc-i386.c",0x1b05,"build_modrm_byte");\n    }\n    if ((DAT_001e3c38._2_1_ & 0x5f) == 0) {\n      uVar9 = 1;\n      do {\n        uVar20 = uVar9 & 0xffffffff;\n        if (DAT_001e3c24 <= (uint)uVar9) goto LAB_0013303b;\n        puVar3 = &DAT_001e3c38 + uVar9;\n        uVar9 = uVar9 + 1;\n      } while ((*puVar3 & 0x5f0000) == 0);\n    }\n    else {\n      uVar20 = 0;\n    }\n    bVar21 = bVar21 & 0x30;\n    uVar22 = (uint)uVar20;\n    if (bVar21 == 0) {\nLAB_0013313d:\n      if (lVar13 != 0) goto LAB_00133146;\nLAB_00133448:\n      lVar13 = DAT_001e3cb8;\n      DAT_001e3cf4 = 0;\n      if (DAT_001e3c2c == 0) {\n        if (DAT_001e3cb8 == 0) {\n          iVar16 = 1;\n          goto LAB_00133cae;\n        }\n        if (bVar21 == 0) {\n          iVar16 = 1;\n          goto LAB_00133af0;\n        }\n        goto LAB_00133a60;\n      }\n      if (DAT_001e3cb8 != 0) {\n        if (bVar21 == 0) {\n          iVar16 = 0;\nLAB_00133af0:\n          uVar15 = (uint)*(byte *)(DAT_001e3cb8 + 0x11);\n          DAT_001e3cec = 4;\n          if ((byte)(*(byte *)(DAT_001e3cb8 + 0x11) + 4) < 2) {\n            uVar15 = 4;\n          }\n          _DAT_001e3d00 = CONCAT44(uVar15,5);\n          DAT_001e3d08 = DAT_001e3cc0;\n          lVar2 = uVar20 * 8;\n          bVar21 = *(byte *)((long)&DAT_001e3c38 + lVar2 + 2);\n          bVar24 = DAT_001e3b14 == 2;\n          *(byte *)((long)&DAT_001e3c38 + lVar2 + 2) = bVar21 & 0xec;\n          if ((bVar24) && (DAT_001e3ce6 == '\0')) {\n            *(byte *)((long)&DAT_001e3c38 + lVar2 + 2) = bVar21 & 0xe0 | 8;\n          }\n          else {\n            *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) =\n                 *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xf3 | 4;\n          }\n          puVar10 = ds;\n          if ((*(byte *)(lVar13 + 0x10) & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 2;\n          }\n          goto LAB_00133b80;\n        }\n        goto LAB_00133424;\n      }\n      iVar16 = 0;\nLAB_00133cae:\n      if (bVar21 != 0) {\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1b33,"build_modrm_byte");\n      }\n      if (DAT_001e3b14 == 2) {\n        DAT_001e3cec = 4;\n        uVar17 = (uint)(DAT_001e3ce6 == '\0');\n        uVar15 = (uint)(DAT_001e3ce6 != '\0');\n        _DAT_001e3d00 = 0x400000005;\n        iVar8 = 0;\n      }\n      else if ((DAT_001e3b14 == 1) == (DAT_001e3ce6 != '\0')) {\n        DAT_001e3cec = 5;\n        uVar17 = 0;\n        uVar15 = 1;\n        iVar8 = 0;\n      }\n      else {\n        DAT_001e3cec = 6;\n        uVar17 = 0;\n        uVar15 = 0;\n        iVar8 = 1;\n      }\n      uVar23 = ~DAT_00153a64;\n      *(uint *)(&DAT_001e3c38 + uVar20) =\n           iVar8 << 0x11 | uVar15 << 0x12 | uVar17 << 0x13 |\n           ~DAT_00153a60 & *(uint *)(&DAT_001e3c38 + uVar20);\n      puVar10 = ds;\n      puVar1 = (uint *)((long)&DAT_001e3c38 + uVar20 * 8 + 4);\n      *puVar1 = *puVar1 & uVar23;\nLAB_00133b80:\n      if (iVar16 != 0) goto LAB_00133a67;\n    }\n    else {\n      cVar6 = *(char *)(DAT_001e3cb8 + 0x11);\n      if ((byte)(cVar6 + 4U) < 2) {\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1b0b,"build_modrm_byte");\n      }\n      DAT_001e3cec = 4;\n      if (DAT_001e3cb0 == 0) {\n        _DAT_001e3d00 = 5;\n        DAT_001e3d08 = DAT_001e3cc0;\n        lVar4 = uVar20 * 8;\n        bVar7 = *(byte *)((long)&DAT_001e3c38 + lVar4 + 2);\n        bVar24 = DAT_001e3b14 == 2;\n        *(byte *)((long)&DAT_001e3c38 + lVar4 + 2) = bVar7 & 0xec;\n        if ((bVar24) && (DAT_001e3ce6 == '\0')) {\n          *(byte *)((long)&DAT_001e3c38 + lVar4 + 2) = bVar7 & 0xe0 | 8;\n        }\n        else {\n          *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) =\n               *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xf3 | 4;\n        }\n      }\n      _DAT_001e3d00 = (ulong)CONCAT14(cVar6,_DAT_001e3d00);\n      if ((*(byte *)(lVar2 + 0x10) & 1) != 0) {\n        DAT_001e3cf8 = DAT_001e3cf8 | 2;\n      }\n      if ((*(byte *)(lVar2 + 0x10) & 4) == 0) goto LAB_0013313d;\n      DAT_001e3cfc = DAT_001e3cfc | 2;\n      if (lVar13 == 0) goto LAB_00133448;\nLAB_00133146:\n      bVar7 = *(byte *)(lVar13 + 0x11);\n      if (bVar7 < 0xfe) {\n        if ((*(byte *)(lVar13 + 0xb) & 0x40) == 0) {\n          if ((DAT_001e3b14 == 2) &&\n             ((*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f) != 0)) {\n            lVar2 = (uVar20 + 0xe) * 8;\n            bVar14 = *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2);\n            bVar12 = bVar14 & 0xe1;\n            *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar14 & 0xed;\n            if (DAT_001e3ce6 == '\0') {\n              *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar12 | 8;\n            }\n            else {\n              *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar12 | 4;\n            }\n          }\n          if (bVar21 == 0) {\n            DAT_001e3cec = (uint)bVar7;\n          }\n          if ((*(byte *)(lVar13 + 0x10) & 1) == 0) {\n            puVar10 = ss;\n            if (1 < (byte)(bVar7 - 4)) {\n              puVar10 = ds;\n            }\n          }\n          else {\n            DAT_001e3cf8 = DAT_001e3cf8 | 1;\n            puVar10 = ds;\n          }\n          _DAT_001e3d00 = CONCAT44(DAT_001e3d04,(uint)bVar7);\n          iVar16 = 0;\n          if ((bVar7 == 5) && (iVar16 = 0, DAT_001e3c2c == 0)) {\n            iVar16 = 1;\n            pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n            *pbVar5 = *pbVar5 | 1;\n          }\n          iVar8 = DAT_001e3d40;\n          DAT_001e3d08 = DAT_001e3cc0;\n          if (DAT_001e3cb8 == 0) {\n            if (bVar21 != 0) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1bbf,"build_modrm_byte");\n            }\n            _DAT_001e3d00 = CONCAT44(4,_DAT_001e3d00);\n          }\n          else if (bVar21 == 0) {\n            DAT_001e3cec = 4;\n            uVar15 = (uint)*(byte *)(DAT_001e3cb8 + 0x11);\n            if ((byte)(*(byte *)(DAT_001e3cb8 + 0x11) + 4) < 2) {\n              uVar15 = 4;\n            }\n            _DAT_001e3d00 = CONCAT44(uVar15,_DAT_001e3d00);\n            if ((*(byte *)(DAT_001e3cb8 + 0x10) & 1) != 0) {\n              DAT_001e3cf8 = DAT_001e3cf8 | 2;\n            }\n          }\n          if (DAT_001e3c2c == 0) {\n            if ((iVar16 == 0) && (iVar16 = iVar8, DAT_001e3d40 != 0)) {\n              if (DAT_001e3d40 == 1) {\n                pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n                *pbVar5 = *pbVar5 | 1;\n              }\n              else {\n                pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n                *pbVar5 = *pbVar5 | 4;\n                iVar16 = 1;\n              }\n            }\n          }\n          else if (((&DAT_001e3c9c)[uVar20] == 0x179) || ((&DAT_001e3c9c)[uVar20] == 0x195)) {\n            DAT_001e3cf4 = 0;\n            goto LAB_00133b80;\n          }\n        }\n        else {\n          if (bVar21 != 0) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1b7c,"build_modrm_byte");\n          }\n          if (bVar7 == 3) {\n            if (DAT_001e3cb8 != 0) {\n              DAT_001e3cec = *(byte *)(DAT_001e3cb8 + 0x11) - 6;\n              goto LAB_0013317e;\n            }\n            DAT_001e3cec = 7;\n            puVar10 = ds;\n            iVar16 = 0;\n          }\n          else if (bVar7 == 5) {\n            if (DAT_001e3cb8 == 0) {\n              puVar10 = ss;\n              DAT_001e3cec = 6;\n              iVar16 = 0;\n              if ((*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f) == 0) {\n                pbVar5 = (byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2);\n                *pbVar5 = *pbVar5 | 1;\n                iVar16 = 1;\n              }\n            }\n            else {\n              DAT_001e3cec = *(byte *)(DAT_001e3cb8 + 0x11) - 4;\n              puVar10 = ss;\n              iVar16 = 0;\n            }\n          }\n          else {\n            DAT_001e3cec = bVar7 - 2;\nLAB_0013317e:\n            iVar16 = 0;\n            puVar10 = ds;\n          }\n        }\n        DAT_001e3cf4 = 1;\n        if (((ulong)(&DAT_001e3c38)[uVar20] >> 0x10 & 1) == 0) {\n          DAT_001e3cf4 = (uint)(((&DAT_001e3c38)[uVar20] & 0xe0000) != 0) * 2;\n        }\n        goto LAB_00133b80;\n      }\n      if (bVar21 != 0) {\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1b6f,"build_modrm_byte");\n      }\n      DAT_001e3cec = 5;\n      *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) =\n           *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xe0 | 8;\n      uVar15 = DAT_001e3c2c;\n      (&DAT_001e3c88)[uVar20] = (&DAT_001e3c88)[uVar20] | 1;\n      if (uVar15 != 0) {\nLAB_00133424:\n        puVar10 = ds;\n        goto LAB_00133089;\n      }\nLAB_00133a60:\n      puVar10 = ds;\nLAB_00133a67:\n      if ((&DAT_001e3bc0)[uVar20 + 0x14] != 0) {\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1bed,"build_modrm_byte");\n      }\n      uVar9 = (ulong)DAT_001e3c2c;\n      DAT_001e3c2c = DAT_001e3c2c + 1;\n      lVar13 = uVar9 * 0x20;\n      (&DAT_001e3bc0)[uVar20 + 0x14] = &DAT_001e3b60 + lVar13;\n      (&DAT_001e3b78)[lVar13] = 2;\n      *(undefined8 *)(&DAT_001e3b70 + lVar13) = 0;\n      *(undefined8 *)(&DAT_001e3b60 + lVar13) = 0;\n      *(undefined8 *)(&DAT_001e3b68 + lVar13) = 0;\n    }\n    bVar14 = DAT_001e3bee & 0xc;\n  }" (else "else") (compound_statement "{\n    if (DAT_001e3c24 == 0) {\nLAB_0013303b:\n                    \n      FUN_0011dd00("../../gas/config/tc-i386.c",0x1b05,"build_modrm_byte");\n    }\n    if ((DAT_001e3c38._2_1_ & 0x5f) == 0) {\n      uVar9 = 1;\n      do {\n        uVar20 = uVar9 & 0xffffffff;\n        if (DAT_001e3c24 <= (uint)uVar9) goto LAB_0013303b;\n        puVar3 = &DAT_001e3c38 + uVar9;\n        uVar9 = uVar9 + 1;\n      } while ((*puVar3 & 0x5f0000) == 0);\n    }\n    else {\n      uVar20 = 0;\n    }\n    bVar21 = bVar21 & 0x30;\n    uVar22 = (uint)uVar20;\n    if (bVar21 == 0) {\nLAB_0013313d:\n      if (lVar13 != 0) goto LAB_00133146;\nLAB_00133448:\n      lVar13 = DAT_001e3cb8;\n      DAT_001e3cf4 = 0;\n      if (DAT_001e3c2c == 0) {\n        if (DAT_001e3cb8 == 0) {\n          iVar16 = 1;\n          goto LAB_00133cae;\n        }\n        if (bVar21 == 0) {\n          iVar16 = 1;\n          goto LAB_00133af0;\n        }\n        goto LAB_00133a60;\n      }\n      if (DAT_001e3cb8 != 0) {\n        if (bVar21 == 0) {\n          iVar16 = 0;\nLAB_00133af0:\n          uVar15 = (uint)*(byte *)(DAT_001e3cb8 + 0x11);\n          DAT_001e3cec = 4;\n          if ((byte)(*(byte *)(DAT_001e3cb8 + 0x11) + 4) < 2) {\n            uVar15 = 4;\n          }\n          _DAT_001e3d00 = CONCAT44(uVar15,5);\n          DAT_001e3d08 = DAT_001e3cc0;\n          lVar2 = uVar20 * 8;\n          bVar21 = *(byte *)((long)&DAT_001e3c38 + lVar2 + 2);\n          bVar24 = DAT_001e3b14 == 2;\n          *(byte *)((long)&DAT_001e3c38 + lVar2 + 2) = bVar21 & 0xec;\n          if ((bVar24) && (DAT_001e3ce6 == '\0')) {\n            *(byte *)((long)&DAT_001e3c38 + lVar2 + 2) = bVar21 & 0xe0 | 8;\n          }\n          else {\n            *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) =\n                 *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xf3 | 4;\n          }\n          puVar10 = ds;\n          if ((*(byte *)(lVar13 + 0x10) & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 2;\n          }\n          goto LAB_00133b80;\n        }\n        goto LAB_00133424;\n      }\n      iVar16 = 0;\nLAB_00133cae:\n      if (bVar21 != 0) {\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1b33,"build_modrm_byte");\n      }\n      if (DAT_001e3b14 == 2) {\n        DAT_001e3cec = 4;\n        uVar17 = (uint)(DAT_001e3ce6 == '\0');\n        uVar15 = (uint)(DAT_001e3ce6 != '\0');\n        _DAT_001e3d00 = 0x400000005;\n        iVar8 = 0;\n      }\n      else if ((DAT_001e3b14 == 1) == (DAT_001e3ce6 != '\0')) {\n        DAT_001e3cec = 5;\n        uVar17 = 0;\n        uVar15 = 1;\n        iVar8 = 0;\n      }\n      else {\n        DAT_001e3cec = 6;\n        uVar17 = 0;\n        uVar15 = 0;\n        iVar8 = 1;\n      }\n      uVar23 = ~DAT_00153a64;\n      *(uint *)(&DAT_001e3c38 + uVar20) =\n           iVar8 << 0x11 | uVar15 << 0x12 | uVar17 << 0x13 |\n           ~DAT_00153a60 & *(uint *)(&DAT_001e3c38 + uVar20);\n      puVar10 = ds;\n      puVar1 = (uint *)((long)&DAT_001e3c38 + uVar20 * 8 + 4);\n      *puVar1 = *puVar1 & uVar23;\nLAB_00133b80:\n      if (iVar16 != 0) goto LAB_00133a67;\n    }\n    else {\n      cVar6 = *(char *)(DAT_001e3cb8 + 0x11);\n      if ((byte)(cVar6 + 4U) < 2) {\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1b0b,"build_modrm_byte");\n      }\n      DAT_001e3cec = 4;\n      if (DAT_001e3cb0 == 0) {\n        _DAT_001e3d00 = 5;\n        DAT_001e3d08 = DAT_001e3cc0;\n        lVar4 = uVar20 * 8;\n        bVar7 = *(byte *)((long)&DAT_001e3c38 + lVar4 + 2);\n        bVar24 = DAT_001e3b14 == 2;\n        *(byte *)((long)&DAT_001e3c38 + lVar4 + 2) = bVar7 & 0xec;\n        if ((bVar24) && (DAT_001e3ce6 == '\0')) {\n          *(byte *)((long)&DAT_001e3c38 + lVar4 + 2) = bVar7 & 0xe0 | 8;\n        }\n        else {\n          *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) =\n               *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xf3 | 4;\n        }\n      }\n      _DAT_001e3d00 = (ulong)CONCAT14(cVar6,_DAT_001e3d00);\n      if ((*(byte *)(lVar2 + 0x10) & 1) != 0) {\n        DAT_001e3cf8 = DAT_001e3cf8 | 2;\n      }\n      if ((*(byte *)(lVar2 + 0x10) & 4) == 0) goto LAB_0013313d;\n      DAT_001e3cfc = DAT_001e3cfc | 2;\n      if (lVar13 == 0) goto LAB_00133448;\nLAB_00133146:\n      bVar7 = *(byte *)(lVar13 + 0x11);\n      if (bVar7 < 0xfe) {\n        if ((*(byte *)(lVar13 + 0xb) & 0x40) == 0) {\n          if ((DAT_001e3b14 == 2) &&\n             ((*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f) != 0)) {\n            lVar2 = (uVar20 + 0xe) * 8;\n            bVar14 = *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2);\n            bVar12 = bVar14 & 0xe1;\n            *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar14 & 0xed;\n            if (DAT_001e3ce6 == '\0') {\n              *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar12 | 8;\n            }\n            else {\n              *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar12 | 4;\n            }\n          }\n          if (bVar21 == 0) {\n            DAT_001e3cec = (uint)bVar7;\n          }\n          if ((*(byte *)(lVar13 + 0x10) & 1) == 0) {\n            puVar10 = ss;\n            if (1 < (byte)(bVar7 - 4)) {\n              puVar10 = ds;\n            }\n          }\n          else {\n            DAT_001e3cf8 = DAT_001e3cf8 | 1;\n            puVar10 = ds;\n          }\n          _DAT_001e3d00 = CONCAT44(DAT_001e3d04,(uint)bVar7);\n          iVar16 = 0;\n          if ((bVar7 == 5) && (iVar16 = 0, DAT_001e3c2c == 0)) {\n            iVar16 = 1;\n            pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n            *pbVar5 = *pbVar5 | 1;\n          }\n          iVar8 = DAT_001e3d40;\n          DAT_001e3d08 = DAT_001e3cc0;\n          if (DAT_001e3cb8 == 0) {\n            if (bVar21 != 0) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1bbf,"build_modrm_byte");\n            }\n            _DAT_001e3d00 = CONCAT44(4,_DAT_001e3d00);\n          }\n          else if (bVar21 == 0) {\n            DAT_001e3cec = 4;\n            uVar15 = (uint)*(byte *)(DAT_001e3cb8 + 0x11);\n            if ((byte)(*(byte *)(DAT_001e3cb8 + 0x11) + 4) < 2) {\n              uVar15 = 4;\n            }\n            _DAT_001e3d00 = CONCAT44(uVar15,_DAT_001e3d00);\n            if ((*(byte *)(DAT_001e3cb8 + 0x10) & 1) != 0) {\n              DAT_001e3cf8 = DAT_001e3cf8 | 2;\n            }\n          }\n          if (DAT_001e3c2c == 0) {\n            if ((iVar16 == 0) && (iVar16 = iVar8, DAT_001e3d40 != 0)) {\n              if (DAT_001e3d40 == 1) {\n                pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n                *pbVar5 = *pbVar5 | 1;\n              }\n              else {\n                pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n                *pbVar5 = *pbVar5 | 4;\n                iVar16 = 1;\n              }\n            }\n          }\n          else if (((&DAT_001e3c9c)[uVar20] == 0x179) || ((&DAT_001e3c9c)[uVar20] == 0x195)) {\n            DAT_001e3cf4 = 0;\n            goto LAB_00133b80;\n          }\n        }\n        else {\n          if (bVar21 != 0) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1b7c,"build_modrm_byte");\n          }\n          if (bVar7 == 3) {\n            if (DAT_001e3cb8 != 0) {\n              DAT_001e3cec = *(byte *)(DAT_001e3cb8 + 0x11) - 6;\n              goto LAB_0013317e;\n            }\n            DAT_001e3cec = 7;\n            puVar10 = ds;\n            iVar16 = 0;\n          }\n          else if (bVar7 == 5) {\n            if (DAT_001e3cb8 == 0) {\n              puVar10 = ss;\n              DAT_001e3cec = 6;\n              iVar16 = 0;\n              if ((*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f) == 0) {\n                pbVar5 = (byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2);\n                *pbVar5 = *pbVar5 | 1;\n                iVar16 = 1;\n              }\n            }\n            else {\n              DAT_001e3cec = *(byte *)(DAT_001e3cb8 + 0x11) - 4;\n              puVar10 = ss;\n              iVar16 = 0;\n            }\n          }\n          else {\n            DAT_001e3cec = bVar7 - 2;\nLAB_0013317e:\n            iVar16 = 0;\n            puVar10 = ds;\n          }\n        }\n        DAT_001e3cf4 = 1;\n        if (((ulong)(&DAT_001e3c38)[uVar20] >> 0x10 & 1) == 0) {\n          DAT_001e3cf4 = (uint)(((&DAT_001e3c38)[uVar20] & 0xe0000) != 0) * 2;\n        }\n        goto LAB_00133b80;\n      }\n      if (bVar21 != 0) {\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1b6f,"build_modrm_byte");\n      }\n      DAT_001e3cec = 5;\n      *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) =\n           *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xe0 | 8;\n      uVar15 = DAT_001e3c2c;\n      (&DAT_001e3c88)[uVar20] = (&DAT_001e3c88)[uVar20] | 1;\n      if (uVar15 != 0) {\nLAB_00133424:\n        puVar10 = ds;\n        goto LAB_00133089;\n      }\nLAB_00133a60:\n      puVar10 = ds;\nLAB_00133a67:\n      if ((&DAT_001e3bc0)[uVar20 + 0x14] != 0) {\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1bed,"build_modrm_byte");\n      }\n      uVar9 = (ulong)DAT_001e3c2c;\n      DAT_001e3c2c = DAT_001e3c2c + 1;\n      lVar13 = uVar9 * 0x20;\n      (&DAT_001e3bc0)[uVar20 + 0x14] = &DAT_001e3b60 + lVar13;\n      (&DAT_001e3b78)[lVar13] = 2;\n      *(undefined8 *)(&DAT_001e3b70 + lVar13) = 0;\n      *(undefined8 *)(&DAT_001e3b60 + lVar13) = 0;\n      *(undefined8 *)(&DAT_001e3b68 + lVar13) = 0;\n    }\n    bVar14 = DAT_001e3bee & 0xc;\n  }" ({ "{") (if_statement "if (DAT_001e3c24 == 0) {\nLAB_0013303b:\n                    \n      FUN_0011dd00("../../gas/config/tc-i386.c",0x1b05,"build_modrm_byte");\n    }" (if "if") (parenthesized_expression "(DAT_001e3c24 == 0)" (( "(") (binary_expression "DAT_001e3c24 == 0" (identifier "DAT_001e3c24") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_0013303b:\n                    \n      FUN_0011dd00("../../gas/config/tc-i386.c",0x1b05,"build_modrm_byte");\n    }" ({ "{") (labeled_statement "LAB_0013303b:\n                    \n      FUN_0011dd00("../../gas/config/tc-i386.c",0x1b05,"build_modrm_byte");" (statement_identifier "LAB_0013303b") (: ":") (expression_statement "FUN_0011dd00("../../gas/config/tc-i386.c",0x1b05,"build_modrm_byte");" (call_expression "FUN_0011dd00("../../gas/config/tc-i386.c",0x1b05,"build_modrm_byte")" (identifier "FUN_0011dd00") (argument_list "("../../gas/config/tc-i386.c",0x1b05,"build_modrm_byte")" (( "(") (string_literal ""../../gas/config/tc-i386.c"" (" """) (string_content "../../gas/config/tc-i386.c") (" """)) (, ",") (number_literal "0x1b05") (, ",") (string_literal ""build_modrm_byte"" (" """) (string_content "build_modrm_byte") (" """)) () ")"))) (; ";"))) (} "}"))) (if_statement "if ((DAT_001e3c38._2_1_ & 0x5f) == 0) {\n      uVar9 = 1;\n      do {\n        uVar20 = uVar9 & 0xffffffff;\n        if (DAT_001e3c24 <= (uint)uVar9) goto LAB_0013303b;\n        puVar3 = &DAT_001e3c38 + uVar9;\n        uVar9 = uVar9 + 1;\n      } while ((*puVar3 & 0x5f0000) == 0);\n    }\n    else {\n      uVar20 = 0;\n    }" (if "if") (parenthesized_expression "((DAT_001e3c38._2_1_ & 0x5f) == 0)" (( "(") (binary_expression "(DAT_001e3c38._2_1_ & 0x5f) == 0" (parenthesized_expression "(DAT_001e3c38._2_1_ & 0x5f)" (( "(") (binary_expression "DAT_001e3c38._2_1_ & 0x5f" (field_expression "DAT_001e3c38._2_1_" (identifier "DAT_001e3c38") (. ".") (field_identifier "_2_1_")) (& "&") (number_literal "0x5f")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      uVar9 = 1;\n      do {\n        uVar20 = uVar9 & 0xffffffff;\n        if (DAT_001e3c24 <= (uint)uVar9) goto LAB_0013303b;\n        puVar3 = &DAT_001e3c38 + uVar9;\n        uVar9 = uVar9 + 1;\n      } while ((*puVar3 & 0x5f0000) == 0);\n    }" ({ "{") (expression_statement "uVar9 = 1;" (assignment_expression "uVar9 = 1" (identifier "uVar9") (= "=") (number_literal "1")) (; ";")) (do_statement "do {\n        uVar20 = uVar9 & 0xffffffff;\n        if (DAT_001e3c24 <= (uint)uVar9) goto LAB_0013303b;\n        puVar3 = &DAT_001e3c38 + uVar9;\n        uVar9 = uVar9 + 1;\n      } while ((*puVar3 & 0x5f0000) == 0);" (do "do") (compound_statement "{\n        uVar20 = uVar9 & 0xffffffff;\n        if (DAT_001e3c24 <= (uint)uVar9) goto LAB_0013303b;\n        puVar3 = &DAT_001e3c38 + uVar9;\n        uVar9 = uVar9 + 1;\n      }" ({ "{") (expression_statement "uVar20 = uVar9 & 0xffffffff;" (assignment_expression "uVar20 = uVar9 & 0xffffffff" (identifier "uVar20") (= "=") (binary_expression "uVar9 & 0xffffffff" (identifier "uVar9") (& "&") (number_literal "0xffffffff"))) (; ";")) (if_statement "if (DAT_001e3c24 <= (uint)uVar9) goto LAB_0013303b;" (if "if") (parenthesized_expression "(DAT_001e3c24 <= (uint)uVar9)" (( "(") (binary_expression "DAT_001e3c24 <= (uint)uVar9" (identifier "DAT_001e3c24") (<= "<=") (cast_expression "(uint)uVar9" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar9"))) () ")")) (goto_statement "goto LAB_0013303b;" (goto "goto") (statement_identifier "LAB_0013303b") (; ";"))) (expression_statement "puVar3 = &DAT_001e3c38 + uVar9;" (assignment_expression "puVar3 = &DAT_001e3c38 + uVar9" (identifier "puVar3") (= "=") (binary_expression "&DAT_001e3c38 + uVar9" (pointer_expression "&DAT_001e3c38" (& "&") (identifier "DAT_001e3c38")) (+ "+") (identifier "uVar9"))) (; ";")) (expression_statement "uVar9 = uVar9 + 1;" (assignment_expression "uVar9 = uVar9 + 1" (identifier "uVar9") (= "=") (binary_expression "uVar9 + 1" (identifier "uVar9") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "((*puVar3 & 0x5f0000) == 0)" (( "(") (binary_expression "(*puVar3 & 0x5f0000) == 0" (parenthesized_expression "(*puVar3 & 0x5f0000)" (( "(") (binary_expression "*puVar3 & 0x5f0000" (pointer_expression "*puVar3" (* "*") (identifier "puVar3")) (& "&") (number_literal "0x5f0000")) () ")")) (== "==") (number_literal "0")) () ")")) (; ";")) (} "}")) (else_clause "else {\n      uVar20 = 0;\n    }" (else "else") (compound_statement "{\n      uVar20 = 0;\n    }" ({ "{") (expression_statement "uVar20 = 0;" (assignment_expression "uVar20 = 0" (identifier "uVar20") (= "=") (number_literal "0")) (; ";")) (} "}")))) (expression_statement "bVar21 = bVar21 & 0x30;" (assignment_expression "bVar21 = bVar21 & 0x30" (identifier "bVar21") (= "=") (binary_expression "bVar21 & 0x30" (identifier "bVar21") (& "&") (number_literal "0x30"))) (; ";")) (expression_statement "uVar22 = (uint)uVar20;" (assignment_expression "uVar22 = (uint)uVar20" (identifier "uVar22") (= "=") (cast_expression "(uint)uVar20" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar20"))) (; ";")) (if_statement "if (bVar21 == 0) {\nLAB_0013313d:\n      if (lVar13 != 0) goto LAB_00133146;\nLAB_00133448:\n      lVar13 = DAT_001e3cb8;\n      DAT_001e3cf4 = 0;\n      if (DAT_001e3c2c == 0) {\n        if (DAT_001e3cb8 == 0) {\n          iVar16 = 1;\n          goto LAB_00133cae;\n        }\n        if (bVar21 == 0) {\n          iVar16 = 1;\n          goto LAB_00133af0;\n        }\n        goto LAB_00133a60;\n      }\n      if (DAT_001e3cb8 != 0) {\n        if (bVar21 == 0) {\n          iVar16 = 0;\nLAB_00133af0:\n          uVar15 = (uint)*(byte *)(DAT_001e3cb8 + 0x11);\n          DAT_001e3cec = 4;\n          if ((byte)(*(byte *)(DAT_001e3cb8 + 0x11) + 4) < 2) {\n            uVar15 = 4;\n          }\n          _DAT_001e3d00 = CONCAT44(uVar15,5);\n          DAT_001e3d08 = DAT_001e3cc0;\n          lVar2 = uVar20 * 8;\n          bVar21 = *(byte *)((long)&DAT_001e3c38 + lVar2 + 2);\n          bVar24 = DAT_001e3b14 == 2;\n          *(byte *)((long)&DAT_001e3c38 + lVar2 + 2) = bVar21 & 0xec;\n          if ((bVar24) && (DAT_001e3ce6 == '\0')) {\n            *(byte *)((long)&DAT_001e3c38 + lVar2 + 2) = bVar21 & 0xe0 | 8;\n          }\n          else {\n            *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) =\n                 *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xf3 | 4;\n          }\n          puVar10 = ds;\n          if ((*(byte *)(lVar13 + 0x10) & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 2;\n          }\n          goto LAB_00133b80;\n        }\n        goto LAB_00133424;\n      }\n      iVar16 = 0;\nLAB_00133cae:\n      if (bVar21 != 0) {\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1b33,"build_modrm_byte");\n      }\n      if (DAT_001e3b14 == 2) {\n        DAT_001e3cec = 4;\n        uVar17 = (uint)(DAT_001e3ce6 == '\0');\n        uVar15 = (uint)(DAT_001e3ce6 != '\0');\n        _DAT_001e3d00 = 0x400000005;\n        iVar8 = 0;\n      }\n      else if ((DAT_001e3b14 == 1) == (DAT_001e3ce6 != '\0')) {\n        DAT_001e3cec = 5;\n        uVar17 = 0;\n        uVar15 = 1;\n        iVar8 = 0;\n      }\n      else {\n        DAT_001e3cec = 6;\n        uVar17 = 0;\n        uVar15 = 0;\n        iVar8 = 1;\n      }\n      uVar23 = ~DAT_00153a64;\n      *(uint *)(&DAT_001e3c38 + uVar20) =\n           iVar8 << 0x11 | uVar15 << 0x12 | uVar17 << 0x13 |\n           ~DAT_00153a60 & *(uint *)(&DAT_001e3c38 + uVar20);\n      puVar10 = ds;\n      puVar1 = (uint *)((long)&DAT_001e3c38 + uVar20 * 8 + 4);\n      *puVar1 = *puVar1 & uVar23;\nLAB_00133b80:\n      if (iVar16 != 0) goto LAB_00133a67;\n    }\n    else {\n      cVar6 = *(char *)(DAT_001e3cb8 + 0x11);\n      if ((byte)(cVar6 + 4U) < 2) {\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1b0b,"build_modrm_byte");\n      }\n      DAT_001e3cec = 4;\n      if (DAT_001e3cb0 == 0) {\n        _DAT_001e3d00 = 5;\n        DAT_001e3d08 = DAT_001e3cc0;\n        lVar4 = uVar20 * 8;\n        bVar7 = *(byte *)((long)&DAT_001e3c38 + lVar4 + 2);\n        bVar24 = DAT_001e3b14 == 2;\n        *(byte *)((long)&DAT_001e3c38 + lVar4 + 2) = bVar7 & 0xec;\n        if ((bVar24) && (DAT_001e3ce6 == '\0')) {\n          *(byte *)((long)&DAT_001e3c38 + lVar4 + 2) = bVar7 & 0xe0 | 8;\n        }\n        else {\n          *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) =\n               *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xf3 | 4;\n        }\n      }\n      _DAT_001e3d00 = (ulong)CONCAT14(cVar6,_DAT_001e3d00);\n      if ((*(byte *)(lVar2 + 0x10) & 1) != 0) {\n        DAT_001e3cf8 = DAT_001e3cf8 | 2;\n      }\n      if ((*(byte *)(lVar2 + 0x10) & 4) == 0) goto LAB_0013313d;\n      DAT_001e3cfc = DAT_001e3cfc | 2;\n      if (lVar13 == 0) goto LAB_00133448;\nLAB_00133146:\n      bVar7 = *(byte *)(lVar13 + 0x11);\n      if (bVar7 < 0xfe) {\n        if ((*(byte *)(lVar13 + 0xb) & 0x40) == 0) {\n          if ((DAT_001e3b14 == 2) &&\n             ((*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f) != 0)) {\n            lVar2 = (uVar20 + 0xe) * 8;\n            bVar14 = *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2);\n            bVar12 = bVar14 & 0xe1;\n            *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar14 & 0xed;\n            if (DAT_001e3ce6 == '\0') {\n              *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar12 | 8;\n            }\n            else {\n              *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar12 | 4;\n            }\n          }\n          if (bVar21 == 0) {\n            DAT_001e3cec = (uint)bVar7;\n          }\n          if ((*(byte *)(lVar13 + 0x10) & 1) == 0) {\n            puVar10 = ss;\n            if (1 < (byte)(bVar7 - 4)) {\n              puVar10 = ds;\n            }\n          }\n          else {\n            DAT_001e3cf8 = DAT_001e3cf8 | 1;\n            puVar10 = ds;\n          }\n          _DAT_001e3d00 = CONCAT44(DAT_001e3d04,(uint)bVar7);\n          iVar16 = 0;\n          if ((bVar7 == 5) && (iVar16 = 0, DAT_001e3c2c == 0)) {\n            iVar16 = 1;\n            pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n            *pbVar5 = *pbVar5 | 1;\n          }\n          iVar8 = DAT_001e3d40;\n          DAT_001e3d08 = DAT_001e3cc0;\n          if (DAT_001e3cb8 == 0) {\n            if (bVar21 != 0) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1bbf,"build_modrm_byte");\n            }\n            _DAT_001e3d00 = CONCAT44(4,_DAT_001e3d00);\n          }\n          else if (bVar21 == 0) {\n            DAT_001e3cec = 4;\n            uVar15 = (uint)*(byte *)(DAT_001e3cb8 + 0x11);\n            if ((byte)(*(byte *)(DAT_001e3cb8 + 0x11) + 4) < 2) {\n              uVar15 = 4;\n            }\n            _DAT_001e3d00 = CONCAT44(uVar15,_DAT_001e3d00);\n            if ((*(byte *)(DAT_001e3cb8 + 0x10) & 1) != 0) {\n              DAT_001e3cf8 = DAT_001e3cf8 | 2;\n            }\n          }\n          if (DAT_001e3c2c == 0) {\n            if ((iVar16 == 0) && (iVar16 = iVar8, DAT_001e3d40 != 0)) {\n              if (DAT_001e3d40 == 1) {\n                pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n                *pbVar5 = *pbVar5 | 1;\n              }\n              else {\n                pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n                *pbVar5 = *pbVar5 | 4;\n                iVar16 = 1;\n              }\n            }\n          }\n          else if (((&DAT_001e3c9c)[uVar20] == 0x179) || ((&DAT_001e3c9c)[uVar20] == 0x195)) {\n            DAT_001e3cf4 = 0;\n            goto LAB_00133b80;\n          }\n        }\n        else {\n          if (bVar21 != 0) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1b7c,"build_modrm_byte");\n          }\n          if (bVar7 == 3) {\n            if (DAT_001e3cb8 != 0) {\n              DAT_001e3cec = *(byte *)(DAT_001e3cb8 + 0x11) - 6;\n              goto LAB_0013317e;\n            }\n            DAT_001e3cec = 7;\n            puVar10 = ds;\n            iVar16 = 0;\n          }\n          else if (bVar7 == 5) {\n            if (DAT_001e3cb8 == 0) {\n              puVar10 = ss;\n              DAT_001e3cec = 6;\n              iVar16 = 0;\n              if ((*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f) == 0) {\n                pbVar5 = (byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2);\n                *pbVar5 = *pbVar5 | 1;\n                iVar16 = 1;\n              }\n            }\n            else {\n              DAT_001e3cec = *(byte *)(DAT_001e3cb8 + 0x11) - 4;\n              puVar10 = ss;\n              iVar16 = 0;\n            }\n          }\n          else {\n            DAT_001e3cec = bVar7 - 2;\nLAB_0013317e:\n            iVar16 = 0;\n            puVar10 = ds;\n          }\n        }\n        DAT_001e3cf4 = 1;\n        if (((ulong)(&DAT_001e3c38)[uVar20] >> 0x10 & 1) == 0) {\n          DAT_001e3cf4 = (uint)(((&DAT_001e3c38)[uVar20] & 0xe0000) != 0) * 2;\n        }\n        goto LAB_00133b80;\n      }\n      if (bVar21 != 0) {\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1b6f,"build_modrm_byte");\n      }\n      DAT_001e3cec = 5;\n      *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) =\n           *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xe0 | 8;\n      uVar15 = DAT_001e3c2c;\n      (&DAT_001e3c88)[uVar20] = (&DAT_001e3c88)[uVar20] | 1;\n      if (uVar15 != 0) {\nLAB_00133424:\n        puVar10 = ds;\n        goto LAB_00133089;\n      }\nLAB_00133a60:\n      puVar10 = ds;\nLAB_00133a67:\n      if ((&DAT_001e3bc0)[uVar20 + 0x14] != 0) {\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1bed,"build_modrm_byte");\n      }\n      uVar9 = (ulong)DAT_001e3c2c;\n      DAT_001e3c2c = DAT_001e3c2c + 1;\n      lVar13 = uVar9 * 0x20;\n      (&DAT_001e3bc0)[uVar20 + 0x14] = &DAT_001e3b60 + lVar13;\n      (&DAT_001e3b78)[lVar13] = 2;\n      *(undefined8 *)(&DAT_001e3b70 + lVar13) = 0;\n      *(undefined8 *)(&DAT_001e3b60 + lVar13) = 0;\n      *(undefined8 *)(&DAT_001e3b68 + lVar13) = 0;\n    }" (if "if") (parenthesized_expression "(bVar21 == 0)" (( "(") (binary_expression "bVar21 == 0" (identifier "bVar21") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_0013313d:\n      if (lVar13 != 0) goto LAB_00133146;\nLAB_00133448:\n      lVar13 = DAT_001e3cb8;\n      DAT_001e3cf4 = 0;\n      if (DAT_001e3c2c == 0) {\n        if (DAT_001e3cb8 == 0) {\n          iVar16 = 1;\n          goto LAB_00133cae;\n        }\n        if (bVar21 == 0) {\n          iVar16 = 1;\n          goto LAB_00133af0;\n        }\n        goto LAB_00133a60;\n      }\n      if (DAT_001e3cb8 != 0) {\n        if (bVar21 == 0) {\n          iVar16 = 0;\nLAB_00133af0:\n          uVar15 = (uint)*(byte *)(DAT_001e3cb8 + 0x11);\n          DAT_001e3cec = 4;\n          if ((byte)(*(byte *)(DAT_001e3cb8 + 0x11) + 4) < 2) {\n            uVar15 = 4;\n          }\n          _DAT_001e3d00 = CONCAT44(uVar15,5);\n          DAT_001e3d08 = DAT_001e3cc0;\n          lVar2 = uVar20 * 8;\n          bVar21 = *(byte *)((long)&DAT_001e3c38 + lVar2 + 2);\n          bVar24 = DAT_001e3b14 == 2;\n          *(byte *)((long)&DAT_001e3c38 + lVar2 + 2) = bVar21 & 0xec;\n          if ((bVar24) && (DAT_001e3ce6 == '\0')) {\n            *(byte *)((long)&DAT_001e3c38 + lVar2 + 2) = bVar21 & 0xe0 | 8;\n          }\n          else {\n            *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) =\n                 *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xf3 | 4;\n          }\n          puVar10 = ds;\n          if ((*(byte *)(lVar13 + 0x10) & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 2;\n          }\n          goto LAB_00133b80;\n        }\n        goto LAB_00133424;\n      }\n      iVar16 = 0;\nLAB_00133cae:\n      if (bVar21 != 0) {\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1b33,"build_modrm_byte");\n      }\n      if (DAT_001e3b14 == 2) {\n        DAT_001e3cec = 4;\n        uVar17 = (uint)(DAT_001e3ce6 == '\0');\n        uVar15 = (uint)(DAT_001e3ce6 != '\0');\n        _DAT_001e3d00 = 0x400000005;\n        iVar8 = 0;\n      }\n      else if ((DAT_001e3b14 == 1) == (DAT_001e3ce6 != '\0')) {\n        DAT_001e3cec = 5;\n        uVar17 = 0;\n        uVar15 = 1;\n        iVar8 = 0;\n      }\n      else {\n        DAT_001e3cec = 6;\n        uVar17 = 0;\n        uVar15 = 0;\n        iVar8 = 1;\n      }\n      uVar23 = ~DAT_00153a64;\n      *(uint *)(&DAT_001e3c38 + uVar20) =\n           iVar8 << 0x11 | uVar15 << 0x12 | uVar17 << 0x13 |\n           ~DAT_00153a60 & *(uint *)(&DAT_001e3c38 + uVar20);\n      puVar10 = ds;\n      puVar1 = (uint *)((long)&DAT_001e3c38 + uVar20 * 8 + 4);\n      *puVar1 = *puVar1 & uVar23;\nLAB_00133b80:\n      if (iVar16 != 0) goto LAB_00133a67;\n    }" ({ "{") (labeled_statement "LAB_0013313d:\n      if (lVar13 != 0) goto LAB_00133146;" (statement_identifier "LAB_0013313d") (: ":") (if_statement "if (lVar13 != 0) goto LAB_00133146;" (if "if") (parenthesized_expression "(lVar13 != 0)" (( "(") (binary_expression "lVar13 != 0" (identifier "lVar13") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00133146;" (goto "goto") (statement_identifier "LAB_00133146") (; ";")))) (labeled_statement "LAB_00133448:\n      lVar13 = DAT_001e3cb8;" (statement_identifier "LAB_00133448") (: ":") (expression_statement "lVar13 = DAT_001e3cb8;" (assignment_expression "lVar13 = DAT_001e3cb8" (identifier "lVar13") (= "=") (identifier "DAT_001e3cb8")) (; ";"))) (expression_statement "DAT_001e3cf4 = 0;" (assignment_expression "DAT_001e3cf4 = 0" (identifier "DAT_001e3cf4") (= "=") (number_literal "0")) (; ";")) (if_statement "if (DAT_001e3c2c == 0) {\n        if (DAT_001e3cb8 == 0) {\n          iVar16 = 1;\n          goto LAB_00133cae;\n        }\n        if (bVar21 == 0) {\n          iVar16 = 1;\n          goto LAB_00133af0;\n        }\n        goto LAB_00133a60;\n      }" (if "if") (parenthesized_expression "(DAT_001e3c2c == 0)" (( "(") (binary_expression "DAT_001e3c2c == 0" (identifier "DAT_001e3c2c") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        if (DAT_001e3cb8 == 0) {\n          iVar16 = 1;\n          goto LAB_00133cae;\n        }\n        if (bVar21 == 0) {\n          iVar16 = 1;\n          goto LAB_00133af0;\n        }\n        goto LAB_00133a60;\n      }" ({ "{") (if_statement "if (DAT_001e3cb8 == 0) {\n          iVar16 = 1;\n          goto LAB_00133cae;\n        }" (if "if") (parenthesized_expression "(DAT_001e3cb8 == 0)" (( "(") (binary_expression "DAT_001e3cb8 == 0" (identifier "DAT_001e3cb8") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          iVar16 = 1;\n          goto LAB_00133cae;\n        }" ({ "{") (expression_statement "iVar16 = 1;" (assignment_expression "iVar16 = 1" (identifier "iVar16") (= "=") (number_literal "1")) (; ";")) (goto_statement "goto LAB_00133cae;" (goto "goto") (statement_identifier "LAB_00133cae") (; ";")) (} "}"))) (if_statement "if (bVar21 == 0) {\n          iVar16 = 1;\n          goto LAB_00133af0;\n        }" (if "if") (parenthesized_expression "(bVar21 == 0)" (( "(") (binary_expression "bVar21 == 0" (identifier "bVar21") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          iVar16 = 1;\n          goto LAB_00133af0;\n        }" ({ "{") (expression_statement "iVar16 = 1;" (assignment_expression "iVar16 = 1" (identifier "iVar16") (= "=") (number_literal "1")) (; ";")) (goto_statement "goto LAB_00133af0;" (goto "goto") (statement_identifier "LAB_00133af0") (; ";")) (} "}"))) (goto_statement "goto LAB_00133a60;" (goto "goto") (statement_identifier "LAB_00133a60") (; ";")) (} "}"))) (if_statement "if (DAT_001e3cb8 != 0) {\n        if (bVar21 == 0) {\n          iVar16 = 0;\nLAB_00133af0:\n          uVar15 = (uint)*(byte *)(DAT_001e3cb8 + 0x11);\n          DAT_001e3cec = 4;\n          if ((byte)(*(byte *)(DAT_001e3cb8 + 0x11) + 4) < 2) {\n            uVar15 = 4;\n          }\n          _DAT_001e3d00 = CONCAT44(uVar15,5);\n          DAT_001e3d08 = DAT_001e3cc0;\n          lVar2 = uVar20 * 8;\n          bVar21 = *(byte *)((long)&DAT_001e3c38 + lVar2 + 2);\n          bVar24 = DAT_001e3b14 == 2;\n          *(byte *)((long)&DAT_001e3c38 + lVar2 + 2) = bVar21 & 0xec;\n          if ((bVar24) && (DAT_001e3ce6 == '\0')) {\n            *(byte *)((long)&DAT_001e3c38 + lVar2 + 2) = bVar21 & 0xe0 | 8;\n          }\n          else {\n            *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) =\n                 *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xf3 | 4;\n          }\n          puVar10 = ds;\n          if ((*(byte *)(lVar13 + 0x10) & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 2;\n          }\n          goto LAB_00133b80;\n        }\n        goto LAB_00133424;\n      }" (if "if") (parenthesized_expression "(DAT_001e3cb8 != 0)" (( "(") (binary_expression "DAT_001e3cb8 != 0" (identifier "DAT_001e3cb8") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        if (bVar21 == 0) {\n          iVar16 = 0;\nLAB_00133af0:\n          uVar15 = (uint)*(byte *)(DAT_001e3cb8 + 0x11);\n          DAT_001e3cec = 4;\n          if ((byte)(*(byte *)(DAT_001e3cb8 + 0x11) + 4) < 2) {\n            uVar15 = 4;\n          }\n          _DAT_001e3d00 = CONCAT44(uVar15,5);\n          DAT_001e3d08 = DAT_001e3cc0;\n          lVar2 = uVar20 * 8;\n          bVar21 = *(byte *)((long)&DAT_001e3c38 + lVar2 + 2);\n          bVar24 = DAT_001e3b14 == 2;\n          *(byte *)((long)&DAT_001e3c38 + lVar2 + 2) = bVar21 & 0xec;\n          if ((bVar24) && (DAT_001e3ce6 == '\0')) {\n            *(byte *)((long)&DAT_001e3c38 + lVar2 + 2) = bVar21 & 0xe0 | 8;\n          }\n          else {\n            *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) =\n                 *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xf3 | 4;\n          }\n          puVar10 = ds;\n          if ((*(byte *)(lVar13 + 0x10) & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 2;\n          }\n          goto LAB_00133b80;\n        }\n        goto LAB_00133424;\n      }" ({ "{") (if_statement "if (bVar21 == 0) {\n          iVar16 = 0;\nLAB_00133af0:\n          uVar15 = (uint)*(byte *)(DAT_001e3cb8 + 0x11);\n          DAT_001e3cec = 4;\n          if ((byte)(*(byte *)(DAT_001e3cb8 + 0x11) + 4) < 2) {\n            uVar15 = 4;\n          }\n          _DAT_001e3d00 = CONCAT44(uVar15,5);\n          DAT_001e3d08 = DAT_001e3cc0;\n          lVar2 = uVar20 * 8;\n          bVar21 = *(byte *)((long)&DAT_001e3c38 + lVar2 + 2);\n          bVar24 = DAT_001e3b14 == 2;\n          *(byte *)((long)&DAT_001e3c38 + lVar2 + 2) = bVar21 & 0xec;\n          if ((bVar24) && (DAT_001e3ce6 == '\0')) {\n            *(byte *)((long)&DAT_001e3c38 + lVar2 + 2) = bVar21 & 0xe0 | 8;\n          }\n          else {\n            *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) =\n                 *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xf3 | 4;\n          }\n          puVar10 = ds;\n          if ((*(byte *)(lVar13 + 0x10) & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 2;\n          }\n          goto LAB_00133b80;\n        }" (if "if") (parenthesized_expression "(bVar21 == 0)" (( "(") (binary_expression "bVar21 == 0" (identifier "bVar21") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          iVar16 = 0;\nLAB_00133af0:\n          uVar15 = (uint)*(byte *)(DAT_001e3cb8 + 0x11);\n          DAT_001e3cec = 4;\n          if ((byte)(*(byte *)(DAT_001e3cb8 + 0x11) + 4) < 2) {\n            uVar15 = 4;\n          }\n          _DAT_001e3d00 = CONCAT44(uVar15,5);\n          DAT_001e3d08 = DAT_001e3cc0;\n          lVar2 = uVar20 * 8;\n          bVar21 = *(byte *)((long)&DAT_001e3c38 + lVar2 + 2);\n          bVar24 = DAT_001e3b14 == 2;\n          *(byte *)((long)&DAT_001e3c38 + lVar2 + 2) = bVar21 & 0xec;\n          if ((bVar24) && (DAT_001e3ce6 == '\0')) {\n            *(byte *)((long)&DAT_001e3c38 + lVar2 + 2) = bVar21 & 0xe0 | 8;\n          }\n          else {\n            *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) =\n                 *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xf3 | 4;\n          }\n          puVar10 = ds;\n          if ((*(byte *)(lVar13 + 0x10) & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 2;\n          }\n          goto LAB_00133b80;\n        }" ({ "{") (expression_statement "iVar16 = 0;" (assignment_expression "iVar16 = 0" (identifier "iVar16") (= "=") (number_literal "0")) (; ";")) (labeled_statement "LAB_00133af0:\n          uVar15 = (uint)*(byte *)(DAT_001e3cb8 + 0x11);" (statement_identifier "LAB_00133af0") (: ":") (expression_statement "uVar15 = (uint)*(byte *)(DAT_001e3cb8 + 0x11);" (assignment_expression "uVar15 = (uint)*(byte *)(DAT_001e3cb8 + 0x11)" (identifier "uVar15") (= "=") (binary_expression "(uint)*(byte *)(DAT_001e3cb8 + 0x11)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(byte *)(DAT_001e3cb8 + 0x11)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_001e3cb8 + 0x11)" (( "(") (binary_expression "DAT_001e3cb8 + 0x11" (identifier "DAT_001e3cb8") (+ "+") (number_literal "0x11")) () ")"))))) (; ";"))) (expression_statement "DAT_001e3cec = 4;" (assignment_expression "DAT_001e3cec = 4" (identifier "DAT_001e3cec") (= "=") (number_literal "4")) (; ";")) (if_statement "if ((byte)(*(byte *)(DAT_001e3cb8 + 0x11) + 4) < 2) {\n            uVar15 = 4;\n          }" (if "if") (parenthesized_expression "((byte)(*(byte *)(DAT_001e3cb8 + 0x11) + 4) < 2)" (( "(") (binary_expression "(byte)(*(byte *)(DAT_001e3cb8 + 0x11) + 4) < 2" (call_expression "(byte)(*(byte *)(DAT_001e3cb8 + 0x11) + 4)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(*(byte *)(DAT_001e3cb8 + 0x11) + 4)" (( "(") (binary_expression "*(byte *)(DAT_001e3cb8 + 0x11) + 4" (pointer_expression "*(byte *)(DAT_001e3cb8 + 0x11)" (* "*") (cast_expression "(byte *)(DAT_001e3cb8 + 0x11)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_001e3cb8 + 0x11)" (( "(") (binary_expression "DAT_001e3cb8 + 0x11" (identifier "DAT_001e3cb8") (+ "+") (number_literal "0x11")) () ")")))) (+ "+") (number_literal "4")) () ")"))) (< "<") (number_literal "2")) () ")")) (compound_statement "{\n            uVar15 = 4;\n          }" ({ "{") (expression_statement "uVar15 = 4;" (assignment_expression "uVar15 = 4" (identifier "uVar15") (= "=") (number_literal "4")) (; ";")) (} "}"))) (expression_statement "_DAT_001e3d00 = CONCAT44(uVar15,5);" (assignment_expression "_DAT_001e3d00 = CONCAT44(uVar15,5)" (identifier "_DAT_001e3d00") (= "=") (call_expression "CONCAT44(uVar15,5)" (identifier "CONCAT44") (argument_list "(uVar15,5)" (( "(") (identifier "uVar15") (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "DAT_001e3d08 = DAT_001e3cc0;" (assignment_expression "DAT_001e3d08 = DAT_001e3cc0" (identifier "DAT_001e3d08") (= "=") (identifier "DAT_001e3cc0")) (; ";")) (expression_statement "lVar2 = uVar20 * 8;" (assignment_expression "lVar2 = uVar20 * 8" (identifier "lVar2") (= "=") (binary_expression "uVar20 * 8" (identifier "uVar20") (* "*") (number_literal "8"))) (; ";")) (expression_statement "bVar21 = *(byte *)((long)&DAT_001e3c38 + lVar2 + 2);" (assignment_expression "bVar21 = *(byte *)((long)&DAT_001e3c38 + lVar2 + 2)" (identifier "bVar21") (= "=") (pointer_expression "*(byte *)((long)&DAT_001e3c38 + lVar2 + 2)" (* "*") (cast_expression "(byte *)((long)&DAT_001e3c38 + lVar2 + 2)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)&DAT_001e3c38 + lVar2 + 2)" (( "(") (binary_expression "(long)&DAT_001e3c38 + lVar2 + 2" (binary_expression "(long)&DAT_001e3c38 + lVar2" (cast_expression "(long)&DAT_001e3c38" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (pointer_expression "&DAT_001e3c38" (& "&") (identifier "DAT_001e3c38"))) (+ "+") (identifier "lVar2")) (+ "+") (number_literal "2")) () ")"))))) (; ";")) (expression_statement "bVar24 = DAT_001e3b14 == 2;" (assignment_expression "bVar24 = DAT_001e3b14 == 2" (identifier "bVar24") (= "=") (binary_expression "DAT_001e3b14 == 2" (identifier "DAT_001e3b14") (== "==") (number_literal "2"))) (; ";")) (expression_statement "*(byte *)((long)&DAT_001e3c38 + lVar2 + 2) = bVar21 & 0xec;" (assignment_expression "*(byte *)((long)&DAT_001e3c38 + lVar2 + 2) = bVar21 & 0xec" (pointer_expression "*(byte *)((long)&DAT_001e3c38 + lVar2 + 2)" (* "*") (cast_expression "(byte *)((long)&DAT_001e3c38 + lVar2 + 2)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)&DAT_001e3c38 + lVar2 + 2)" (( "(") (binary_expression "(long)&DAT_001e3c38 + lVar2 + 2" (binary_expression "(long)&DAT_001e3c38 + lVar2" (cast_expression "(long)&DAT_001e3c38" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (pointer_expression "&DAT_001e3c38" (& "&") (identifier "DAT_001e3c38"))) (+ "+") (identifier "lVar2")) (+ "+") (number_literal "2")) () ")")))) (= "=") (binary_expression "bVar21 & 0xec" (identifier "bVar21") (& "&") (number_literal "0xec"))) (; ";")) (if_statement "if ((bVar24) && (DAT_001e3ce6 == '\0')) {\n            *(byte *)((long)&DAT_001e3c38 + lVar2 + 2) = bVar21 & 0xe0 | 8;\n          }\n          else {\n            *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) =\n                 *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xf3 | 4;\n          }" (if "if") (parenthesized_expression "((bVar24) && (DAT_001e3ce6 == '\0'))" (( "(") (binary_expression "(bVar24) && (DAT_001e3ce6 == '\0')" (parenthesized_expression "(bVar24)" (( "(") (identifier "bVar24") () ")")) (&& "&&") (parenthesized_expression "(DAT_001e3ce6 == '\0')" (( "(") (binary_expression "DAT_001e3ce6 == '\0'" (identifier "DAT_001e3ce6") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) (compound_statement "{\n            *(byte *)((long)&DAT_001e3c38 + lVar2 + 2) = bVar21 & 0xe0 | 8;\n          }" ({ "{") (expression_statement "*(byte *)((long)&DAT_001e3c38 + lVar2 + 2) = bVar21 & 0xe0 | 8;" (assignment_expression "*(byte *)((long)&DAT_001e3c38 + lVar2 + 2) = bVar21 & 0xe0 | 8" (pointer_expression "*(byte *)((long)&DAT_001e3c38 + lVar2 + 2)" (* "*") (cast_expression "(byte *)((long)&DAT_001e3c38 + lVar2 + 2)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)&DAT_001e3c38 + lVar2 + 2)" (( "(") (binary_expression "(long)&DAT_001e3c38 + lVar2 + 2" (binary_expression "(long)&DAT_001e3c38 + lVar2" (cast_expression "(long)&DAT_001e3c38" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (pointer_expression "&DAT_001e3c38" (& "&") (identifier "DAT_001e3c38"))) (+ "+") (identifier "lVar2")) (+ "+") (number_literal "2")) () ")")))) (= "=") (binary_expression "bVar21 & 0xe0 | 8" (binary_expression "bVar21 & 0xe0" (identifier "bVar21") (& "&") (number_literal "0xe0")) (| "|") (number_literal "8"))) (; ";")) (} "}")) (else_clause "else {\n            *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) =\n                 *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xf3 | 4;\n          }" (else "else") (compound_statement "{\n            *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) =\n                 *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xf3 | 4;\n          }" ({ "{") (expression_statement "*(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) =\n                 *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xf3 | 4;" (assignment_expression "*(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) =\n                 *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xf3 | 4" (pointer_expression "*(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2)" (* "*") (cast_expression "(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)&DAT_001e3c38 + uVar20 * 8 + 2)" (( "(") (binary_expression "(long)&DAT_001e3c38 + uVar20 * 8 + 2" (binary_expression "(long)&DAT_001e3c38 + uVar20 * 8" (cast_expression "(long)&DAT_001e3c38" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (pointer_expression "&DAT_001e3c38" (& "&") (identifier "DAT_001e3c38"))) (+ "+") (binary_expression "uVar20 * 8" (identifier "uVar20") (* "*") (number_literal "8"))) (+ "+") (number_literal "2")) () ")")))) (= "=") (binary_expression "*(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xf3 | 4" (binary_expression "*(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xf3" (pointer_expression "*(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2)" (* "*") (cast_expression "(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)&DAT_001e3c38 + uVar20 * 8 + 2)" (( "(") (binary_expression "(long)&DAT_001e3c38 + uVar20 * 8 + 2" (binary_expression "(long)&DAT_001e3c38 + uVar20 * 8" (cast_expression "(long)&DAT_001e3c38" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (pointer_expression "&DAT_001e3c38" (& "&") (identifier "DAT_001e3c38"))) (+ "+") (binary_expression "uVar20 * 8" (identifier "uVar20") (* "*") (number_literal "8"))) (+ "+") (number_literal "2")) () ")")))) (& "&") (number_literal "0xf3")) (| "|") (number_literal "4"))) (; ";")) (} "}")))) (expression_statement "puVar10 = ds;" (assignment_expression "puVar10 = ds" (identifier "puVar10") (= "=") (identifier "ds")) (; ";")) (if_statement "if ((*(byte *)(lVar13 + 0x10) & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 2;\n          }" (if "if") (parenthesized_expression "((*(byte *)(lVar13 + 0x10) & 1) != 0)" (( "(") (binary_expression "(*(byte *)(lVar13 + 0x10) & 1) != 0" (parenthesized_expression "(*(byte *)(lVar13 + 0x10) & 1)" (( "(") (binary_expression "*(byte *)(lVar13 + 0x10) & 1" (pointer_expression "*(byte *)(lVar13 + 0x10)" (* "*") (cast_expression "(byte *)(lVar13 + 0x10)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar13 + 0x10)" (( "(") (binary_expression "lVar13 + 0x10" (identifier "lVar13") (+ "+") (number_literal "0x10")) () ")")))) (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            DAT_001e3cf8 = DAT_001e3cf8 | 2;\n          }" ({ "{") (expression_statement "DAT_001e3cf8 = DAT_001e3cf8 | 2;" (assignment_expression "DAT_001e3cf8 = DAT_001e3cf8 | 2" (identifier "DAT_001e3cf8") (= "=") (binary_expression "DAT_001e3cf8 | 2" (identifier "DAT_001e3cf8") (| "|") (number_literal "2"))) (; ";")) (} "}"))) (goto_statement "goto LAB_00133b80;" (goto "goto") (statement_identifier "LAB_00133b80") (; ";")) (} "}"))) (goto_statement "goto LAB_00133424;" (goto "goto") (statement_identifier "LAB_00133424") (; ";")) (} "}"))) (expression_statement "iVar16 = 0;" (assignment_expression "iVar16 = 0" (identifier "iVar16") (= "=") (number_literal "0")) (; ";")) (labeled_statement "LAB_00133cae:\n      if (bVar21 != 0) {\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1b33,"build_modrm_byte");\n      }" (statement_identifier "LAB_00133cae") (: ":") (if_statement "if (bVar21 != 0) {\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1b33,"build_modrm_byte");\n      }" (if "if") (parenthesized_expression "(bVar21 != 0)" (( "(") (binary_expression "bVar21 != 0" (identifier "bVar21") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1b33,"build_modrm_byte");\n      }" ({ "{") (expression_statement "FUN_0011dd00("../../gas/config/tc-i386.c",0x1b33,"build_modrm_byte");" (call_expression "FUN_0011dd00("../../gas/config/tc-i386.c",0x1b33,"build_modrm_byte")" (identifier "FUN_0011dd00") (argument_list "("../../gas/config/tc-i386.c",0x1b33,"build_modrm_byte")" (( "(") (string_literal ""../../gas/config/tc-i386.c"" (" """) (string_content "../../gas/config/tc-i386.c") (" """)) (, ",") (number_literal "0x1b33") (, ",") (string_literal ""build_modrm_byte"" (" """) (string_content "build_modrm_byte") (" """)) () ")"))) (; ";")) (} "}")))) (if_statement "if (DAT_001e3b14 == 2) {\n        DAT_001e3cec = 4;\n        uVar17 = (uint)(DAT_001e3ce6 == '\0');\n        uVar15 = (uint)(DAT_001e3ce6 != '\0');\n        _DAT_001e3d00 = 0x400000005;\n        iVar8 = 0;\n      }\n      else if ((DAT_001e3b14 == 1) == (DAT_001e3ce6 != '\0')) {\n        DAT_001e3cec = 5;\n        uVar17 = 0;\n        uVar15 = 1;\n        iVar8 = 0;\n      }\n      else {\n        DAT_001e3cec = 6;\n        uVar17 = 0;\n        uVar15 = 0;\n        iVar8 = 1;\n      }" (if "if") (parenthesized_expression "(DAT_001e3b14 == 2)" (( "(") (binary_expression "DAT_001e3b14 == 2" (identifier "DAT_001e3b14") (== "==") (number_literal "2")) () ")")) (compound_statement "{\n        DAT_001e3cec = 4;\n        uVar17 = (uint)(DAT_001e3ce6 == '\0');\n        uVar15 = (uint)(DAT_001e3ce6 != '\0');\n        _DAT_001e3d00 = 0x400000005;\n        iVar8 = 0;\n      }" ({ "{") (expression_statement "DAT_001e3cec = 4;" (assignment_expression "DAT_001e3cec = 4" (identifier "DAT_001e3cec") (= "=") (number_literal "4")) (; ";")) (expression_statement "uVar17 = (uint)(DAT_001e3ce6 == '\0');" (assignment_expression "uVar17 = (uint)(DAT_001e3ce6 == '\0')" (identifier "uVar17") (= "=") (call_expression "(uint)(DAT_001e3ce6 == '\0')" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(DAT_001e3ce6 == '\0')" (( "(") (binary_expression "DAT_001e3ce6 == '\0'" (identifier "DAT_001e3ce6") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")))) (; ";")) (expression_statement "uVar15 = (uint)(DAT_001e3ce6 != '\0');" (assignment_expression "uVar15 = (uint)(DAT_001e3ce6 != '\0')" (identifier "uVar15") (= "=") (call_expression "(uint)(DAT_001e3ce6 != '\0')" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(DAT_001e3ce6 != '\0')" (( "(") (binary_expression "DAT_001e3ce6 != '\0'" (identifier "DAT_001e3ce6") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")))) (; ";")) (expression_statement "_DAT_001e3d00 = 0x400000005;" (assignment_expression "_DAT_001e3d00 = 0x400000005" (identifier "_DAT_001e3d00") (= "=") (number_literal "0x400000005")) (; ";")) (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" (identifier "iVar8") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else if ((DAT_001e3b14 == 1) == (DAT_001e3ce6 != '\0')) {\n        DAT_001e3cec = 5;\n        uVar17 = 0;\n        uVar15 = 1;\n        iVar8 = 0;\n      }\n      else {\n        DAT_001e3cec = 6;\n        uVar17 = 0;\n        uVar15 = 0;\n        iVar8 = 1;\n      }" (else "else") (if_statement "if ((DAT_001e3b14 == 1) == (DAT_001e3ce6 != '\0')) {\n        DAT_001e3cec = 5;\n        uVar17 = 0;\n        uVar15 = 1;\n        iVar8 = 0;\n      }\n      else {\n        DAT_001e3cec = 6;\n        uVar17 = 0;\n        uVar15 = 0;\n        iVar8 = 1;\n      }" (if "if") (parenthesized_expression "((DAT_001e3b14 == 1) == (DAT_001e3ce6 != '\0'))" (( "(") (binary_expression "(DAT_001e3b14 == 1) == (DAT_001e3ce6 != '\0')" (parenthesized_expression "(DAT_001e3b14 == 1)" (( "(") (binary_expression "DAT_001e3b14 == 1" (identifier "DAT_001e3b14") (== "==") (number_literal "1")) () ")")) (== "==") (parenthesized_expression "(DAT_001e3ce6 != '\0')" (( "(") (binary_expression "DAT_001e3ce6 != '\0'" (identifier "DAT_001e3ce6") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) (compound_statement "{\n        DAT_001e3cec = 5;\n        uVar17 = 0;\n        uVar15 = 1;\n        iVar8 = 0;\n      }" ({ "{") (expression_statement "DAT_001e3cec = 5;" (assignment_expression "DAT_001e3cec = 5" (identifier "DAT_001e3cec") (= "=") (number_literal "5")) (; ";")) (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" (identifier "uVar17") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar15 = 1;" (assignment_expression "uVar15 = 1" (identifier "uVar15") (= "=") (number_literal "1")) (; ";")) (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" (identifier "iVar8") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n        DAT_001e3cec = 6;\n        uVar17 = 0;\n        uVar15 = 0;\n        iVar8 = 1;\n      }" (else "else") (compound_statement "{\n        DAT_001e3cec = 6;\n        uVar17 = 0;\n        uVar15 = 0;\n        iVar8 = 1;\n      }" ({ "{") (expression_statement "DAT_001e3cec = 6;" (assignment_expression "DAT_001e3cec = 6" (identifier "DAT_001e3cec") (= "=") (number_literal "6")) (; ";")) (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" (identifier "uVar17") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar15 = 0;" (assignment_expression "uVar15 = 0" (identifier "uVar15") (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar8 = 1;" (assignment_expression "iVar8 = 1" (identifier "iVar8") (= "=") (number_literal "1")) (; ";")) (} "}")))))) (expression_statement "uVar23 = ~DAT_00153a64;" (assignment_expression "uVar23 = ~DAT_00153a64" (identifier "uVar23") (= "=") (unary_expression "~DAT_00153a64" (~ "~") (identifier "DAT_00153a64"))) (; ";")) (expression_statement "*(uint *)(&DAT_001e3c38 + uVar20) =\n           iVar8 << 0x11 | uVar15 << 0x12 | uVar17 << 0x13 |\n           ~DAT_00153a60 & *(uint *)(&DAT_001e3c38 + uVar20);" (assignment_expression "*(uint *)(&DAT_001e3c38 + uVar20) =\n           iVar8 << 0x11 | uVar15 << 0x12 | uVar17 << 0x13 |\n           ~DAT_00153a60 & *(uint *)(&DAT_001e3c38 + uVar20)" (pointer_expression "*(uint *)(&DAT_001e3c38 + uVar20)" (* "*") (cast_expression "(uint *)(&DAT_001e3c38 + uVar20)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_001e3c38 + uVar20)" (( "(") (binary_expression "&DAT_001e3c38 + uVar20" (pointer_expression "&DAT_001e3c38" (& "&") (identifier "DAT_001e3c38")) (+ "+") (identifier "uVar20")) () ")")))) (= "=") (binary_expression "iVar8 << 0x11 | uVar15 << 0x12 | uVar17 << 0x13 |\n           ~DAT_00153a60 & *(uint *)(&DAT_001e3c38 + uVar20)" (binary_expression "iVar8 << 0x11 | uVar15 << 0x12 | uVar17 << 0x13" (binary_expression "iVar8 << 0x11 | uVar15 << 0x12" (binary_expression "iVar8 << 0x11" (identifier "iVar8") (<< "<<") (number_literal "0x11")) (| "|") (binary_expression "uVar15 << 0x12" (identifier "uVar15") (<< "<<") (number_literal "0x12"))) (| "|") (binary_expression "uVar17 << 0x13" (identifier "uVar17") (<< "<<") (number_literal "0x13"))) (| "|") (binary_expression "~DAT_00153a60 & *(uint *)(&DAT_001e3c38 + uVar20)" (unary_expression "~DAT_00153a60" (~ "~") (identifier "DAT_00153a60")) (& "&") (pointer_expression "*(uint *)(&DAT_001e3c38 + uVar20)" (* "*") (cast_expression "(uint *)(&DAT_001e3c38 + uVar20)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_001e3c38 + uVar20)" (( "(") (binary_expression "&DAT_001e3c38 + uVar20" (pointer_expression "&DAT_001e3c38" (& "&") (identifier "DAT_001e3c38")) (+ "+") (identifier "uVar20")) () ")"))))))) (; ";")) (expression_statement "puVar10 = ds;" (assignment_expression "puVar10 = ds" (identifier "puVar10") (= "=") (identifier "ds")) (; ";")) (expression_statement "puVar1 = (uint *)((long)&DAT_001e3c38 + uVar20 * 8 + 4);" (assignment_expression "puVar1 = (uint *)((long)&DAT_001e3c38 + uVar20 * 8 + 4)" (identifier "puVar1") (= "=") (cast_expression "(uint *)((long)&DAT_001e3c38 + uVar20 * 8 + 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)&DAT_001e3c38 + uVar20 * 8 + 4)" (( "(") (binary_expression "(long)&DAT_001e3c38 + uVar20 * 8 + 4" (binary_expression "(long)&DAT_001e3c38 + uVar20 * 8" (cast_expression "(long)&DAT_001e3c38" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (pointer_expression "&DAT_001e3c38" (& "&") (identifier "DAT_001e3c38"))) (+ "+") (binary_expression "uVar20 * 8" (identifier "uVar20") (* "*") (number_literal "8"))) (+ "+") (number_literal "4")) () ")")))) (; ";")) (expression_statement "*puVar1 = *puVar1 & uVar23;" (assignment_expression "*puVar1 = *puVar1 & uVar23" (pointer_expression "*puVar1" (* "*") (identifier "puVar1")) (= "=") (binary_expression "*puVar1 & uVar23" (pointer_expression "*puVar1" (* "*") (identifier "puVar1")) (& "&") (identifier "uVar23"))) (; ";")) (labeled_statement "LAB_00133b80:\n      if (iVar16 != 0) goto LAB_00133a67;" (statement_identifier "LAB_00133b80") (: ":") (if_statement "if (iVar16 != 0) goto LAB_00133a67;" (if "if") (parenthesized_expression "(iVar16 != 0)" (( "(") (binary_expression "iVar16 != 0" (identifier "iVar16") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00133a67;" (goto "goto") (statement_identifier "LAB_00133a67") (; ";")))) (} "}")) (else_clause "else {\n      cVar6 = *(char *)(DAT_001e3cb8 + 0x11);\n      if ((byte)(cVar6 + 4U) < 2) {\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1b0b,"build_modrm_byte");\n      }\n      DAT_001e3cec = 4;\n      if (DAT_001e3cb0 == 0) {\n        _DAT_001e3d00 = 5;\n        DAT_001e3d08 = DAT_001e3cc0;\n        lVar4 = uVar20 * 8;\n        bVar7 = *(byte *)((long)&DAT_001e3c38 + lVar4 + 2);\n        bVar24 = DAT_001e3b14 == 2;\n        *(byte *)((long)&DAT_001e3c38 + lVar4 + 2) = bVar7 & 0xec;\n        if ((bVar24) && (DAT_001e3ce6 == '\0')) {\n          *(byte *)((long)&DAT_001e3c38 + lVar4 + 2) = bVar7 & 0xe0 | 8;\n        }\n        else {\n          *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) =\n               *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xf3 | 4;\n        }\n      }\n      _DAT_001e3d00 = (ulong)CONCAT14(cVar6,_DAT_001e3d00);\n      if ((*(byte *)(lVar2 + 0x10) & 1) != 0) {\n        DAT_001e3cf8 = DAT_001e3cf8 | 2;\n      }\n      if ((*(byte *)(lVar2 + 0x10) & 4) == 0) goto LAB_0013313d;\n      DAT_001e3cfc = DAT_001e3cfc | 2;\n      if (lVar13 == 0) goto LAB_00133448;\nLAB_00133146:\n      bVar7 = *(byte *)(lVar13 + 0x11);\n      if (bVar7 < 0xfe) {\n        if ((*(byte *)(lVar13 + 0xb) & 0x40) == 0) {\n          if ((DAT_001e3b14 == 2) &&\n             ((*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f) != 0)) {\n            lVar2 = (uVar20 + 0xe) * 8;\n            bVar14 = *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2);\n            bVar12 = bVar14 & 0xe1;\n            *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar14 & 0xed;\n            if (DAT_001e3ce6 == '\0') {\n              *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar12 | 8;\n            }\n            else {\n              *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar12 | 4;\n            }\n          }\n          if (bVar21 == 0) {\n            DAT_001e3cec = (uint)bVar7;\n          }\n          if ((*(byte *)(lVar13 + 0x10) & 1) == 0) {\n            puVar10 = ss;\n            if (1 < (byte)(bVar7 - 4)) {\n              puVar10 = ds;\n            }\n          }\n          else {\n            DAT_001e3cf8 = DAT_001e3cf8 | 1;\n            puVar10 = ds;\n          }\n          _DAT_001e3d00 = CONCAT44(DAT_001e3d04,(uint)bVar7);\n          iVar16 = 0;\n          if ((bVar7 == 5) && (iVar16 = 0, DAT_001e3c2c == 0)) {\n            iVar16 = 1;\n            pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n            *pbVar5 = *pbVar5 | 1;\n          }\n          iVar8 = DAT_001e3d40;\n          DAT_001e3d08 = DAT_001e3cc0;\n          if (DAT_001e3cb8 == 0) {\n            if (bVar21 != 0) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1bbf,"build_modrm_byte");\n            }\n            _DAT_001e3d00 = CONCAT44(4,_DAT_001e3d00);\n          }\n          else if (bVar21 == 0) {\n            DAT_001e3cec = 4;\n            uVar15 = (uint)*(byte *)(DAT_001e3cb8 + 0x11);\n            if ((byte)(*(byte *)(DAT_001e3cb8 + 0x11) + 4) < 2) {\n              uVar15 = 4;\n            }\n            _DAT_001e3d00 = CONCAT44(uVar15,_DAT_001e3d00);\n            if ((*(byte *)(DAT_001e3cb8 + 0x10) & 1) != 0) {\n              DAT_001e3cf8 = DAT_001e3cf8 | 2;\n            }\n          }\n          if (DAT_001e3c2c == 0) {\n            if ((iVar16 == 0) && (iVar16 = iVar8, DAT_001e3d40 != 0)) {\n              if (DAT_001e3d40 == 1) {\n                pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n                *pbVar5 = *pbVar5 | 1;\n              }\n              else {\n                pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n                *pbVar5 = *pbVar5 | 4;\n                iVar16 = 1;\n              }\n            }\n          }\n          else if (((&DAT_001e3c9c)[uVar20] == 0x179) || ((&DAT_001e3c9c)[uVar20] == 0x195)) {\n            DAT_001e3cf4 = 0;\n            goto LAB_00133b80;\n          }\n        }\n        else {\n          if (bVar21 != 0) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1b7c,"build_modrm_byte");\n          }\n          if (bVar7 == 3) {\n            if (DAT_001e3cb8 != 0) {\n              DAT_001e3cec = *(byte *)(DAT_001e3cb8 + 0x11) - 6;\n              goto LAB_0013317e;\n            }\n            DAT_001e3cec = 7;\n            puVar10 = ds;\n            iVar16 = 0;\n          }\n          else if (bVar7 == 5) {\n            if (DAT_001e3cb8 == 0) {\n              puVar10 = ss;\n              DAT_001e3cec = 6;\n              iVar16 = 0;\n              if ((*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f) == 0) {\n                pbVar5 = (byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2);\n                *pbVar5 = *pbVar5 | 1;\n                iVar16 = 1;\n              }\n            }\n            else {\n              DAT_001e3cec = *(byte *)(DAT_001e3cb8 + 0x11) - 4;\n              puVar10 = ss;\n              iVar16 = 0;\n            }\n          }\n          else {\n            DAT_001e3cec = bVar7 - 2;\nLAB_0013317e:\n            iVar16 = 0;\n            puVar10 = ds;\n          }\n        }\n        DAT_001e3cf4 = 1;\n        if (((ulong)(&DAT_001e3c38)[uVar20] >> 0x10 & 1) == 0) {\n          DAT_001e3cf4 = (uint)(((&DAT_001e3c38)[uVar20] & 0xe0000) != 0) * 2;\n        }\n        goto LAB_00133b80;\n      }\n      if (bVar21 != 0) {\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1b6f,"build_modrm_byte");\n      }\n      DAT_001e3cec = 5;\n      *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) =\n           *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xe0 | 8;\n      uVar15 = DAT_001e3c2c;\n      (&DAT_001e3c88)[uVar20] = (&DAT_001e3c88)[uVar20] | 1;\n      if (uVar15 != 0) {\nLAB_00133424:\n        puVar10 = ds;\n        goto LAB_00133089;\n      }\nLAB_00133a60:\n      puVar10 = ds;\nLAB_00133a67:\n      if ((&DAT_001e3bc0)[uVar20 + 0x14] != 0) {\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1bed,"build_modrm_byte");\n      }\n      uVar9 = (ulong)DAT_001e3c2c;\n      DAT_001e3c2c = DAT_001e3c2c + 1;\n      lVar13 = uVar9 * 0x20;\n      (&DAT_001e3bc0)[uVar20 + 0x14] = &DAT_001e3b60 + lVar13;\n      (&DAT_001e3b78)[lVar13] = 2;\n      *(undefined8 *)(&DAT_001e3b70 + lVar13) = 0;\n      *(undefined8 *)(&DAT_001e3b60 + lVar13) = 0;\n      *(undefined8 *)(&DAT_001e3b68 + lVar13) = 0;\n    }" (else "else") (compound_statement "{\n      cVar6 = *(char *)(DAT_001e3cb8 + 0x11);\n      if ((byte)(cVar6 + 4U) < 2) {\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1b0b,"build_modrm_byte");\n      }\n      DAT_001e3cec = 4;\n      if (DAT_001e3cb0 == 0) {\n        _DAT_001e3d00 = 5;\n        DAT_001e3d08 = DAT_001e3cc0;\n        lVar4 = uVar20 * 8;\n        bVar7 = *(byte *)((long)&DAT_001e3c38 + lVar4 + 2);\n        bVar24 = DAT_001e3b14 == 2;\n        *(byte *)((long)&DAT_001e3c38 + lVar4 + 2) = bVar7 & 0xec;\n        if ((bVar24) && (DAT_001e3ce6 == '\0')) {\n          *(byte *)((long)&DAT_001e3c38 + lVar4 + 2) = bVar7 & 0xe0 | 8;\n        }\n        else {\n          *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) =\n               *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xf3 | 4;\n        }\n      }\n      _DAT_001e3d00 = (ulong)CONCAT14(cVar6,_DAT_001e3d00);\n      if ((*(byte *)(lVar2 + 0x10) & 1) != 0) {\n        DAT_001e3cf8 = DAT_001e3cf8 | 2;\n      }\n      if ((*(byte *)(lVar2 + 0x10) & 4) == 0) goto LAB_0013313d;\n      DAT_001e3cfc = DAT_001e3cfc | 2;\n      if (lVar13 == 0) goto LAB_00133448;\nLAB_00133146:\n      bVar7 = *(byte *)(lVar13 + 0x11);\n      if (bVar7 < 0xfe) {\n        if ((*(byte *)(lVar13 + 0xb) & 0x40) == 0) {\n          if ((DAT_001e3b14 == 2) &&\n             ((*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f) != 0)) {\n            lVar2 = (uVar20 + 0xe) * 8;\n            bVar14 = *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2);\n            bVar12 = bVar14 & 0xe1;\n            *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar14 & 0xed;\n            if (DAT_001e3ce6 == '\0') {\n              *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar12 | 8;\n            }\n            else {\n              *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar12 | 4;\n            }\n          }\n          if (bVar21 == 0) {\n            DAT_001e3cec = (uint)bVar7;\n          }\n          if ((*(byte *)(lVar13 + 0x10) & 1) == 0) {\n            puVar10 = ss;\n            if (1 < (byte)(bVar7 - 4)) {\n              puVar10 = ds;\n            }\n          }\n          else {\n            DAT_001e3cf8 = DAT_001e3cf8 | 1;\n            puVar10 = ds;\n          }\n          _DAT_001e3d00 = CONCAT44(DAT_001e3d04,(uint)bVar7);\n          iVar16 = 0;\n          if ((bVar7 == 5) && (iVar16 = 0, DAT_001e3c2c == 0)) {\n            iVar16 = 1;\n            pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n            *pbVar5 = *pbVar5 | 1;\n          }\n          iVar8 = DAT_001e3d40;\n          DAT_001e3d08 = DAT_001e3cc0;\n          if (DAT_001e3cb8 == 0) {\n            if (bVar21 != 0) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1bbf,"build_modrm_byte");\n            }\n            _DAT_001e3d00 = CONCAT44(4,_DAT_001e3d00);\n          }\n          else if (bVar21 == 0) {\n            DAT_001e3cec = 4;\n            uVar15 = (uint)*(byte *)(DAT_001e3cb8 + 0x11);\n            if ((byte)(*(byte *)(DAT_001e3cb8 + 0x11) + 4) < 2) {\n              uVar15 = 4;\n            }\n            _DAT_001e3d00 = CONCAT44(uVar15,_DAT_001e3d00);\n            if ((*(byte *)(DAT_001e3cb8 + 0x10) & 1) != 0) {\n              DAT_001e3cf8 = DAT_001e3cf8 | 2;\n            }\n          }\n          if (DAT_001e3c2c == 0) {\n            if ((iVar16 == 0) && (iVar16 = iVar8, DAT_001e3d40 != 0)) {\n              if (DAT_001e3d40 == 1) {\n                pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n                *pbVar5 = *pbVar5 | 1;\n              }\n              else {\n                pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n                *pbVar5 = *pbVar5 | 4;\n                iVar16 = 1;\n              }\n            }\n          }\n          else if (((&DAT_001e3c9c)[uVar20] == 0x179) || ((&DAT_001e3c9c)[uVar20] == 0x195)) {\n            DAT_001e3cf4 = 0;\n            goto LAB_00133b80;\n          }\n        }\n        else {\n          if (bVar21 != 0) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1b7c,"build_modrm_byte");\n          }\n          if (bVar7 == 3) {\n            if (DAT_001e3cb8 != 0) {\n              DAT_001e3cec = *(byte *)(DAT_001e3cb8 + 0x11) - 6;\n              goto LAB_0013317e;\n            }\n            DAT_001e3cec = 7;\n            puVar10 = ds;\n            iVar16 = 0;\n          }\n          else if (bVar7 == 5) {\n            if (DAT_001e3cb8 == 0) {\n              puVar10 = ss;\n              DAT_001e3cec = 6;\n              iVar16 = 0;\n              if ((*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f) == 0) {\n                pbVar5 = (byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2);\n                *pbVar5 = *pbVar5 | 1;\n                iVar16 = 1;\n              }\n            }\n            else {\n              DAT_001e3cec = *(byte *)(DAT_001e3cb8 + 0x11) - 4;\n              puVar10 = ss;\n              iVar16 = 0;\n            }\n          }\n          else {\n            DAT_001e3cec = bVar7 - 2;\nLAB_0013317e:\n            iVar16 = 0;\n            puVar10 = ds;\n          }\n        }\n        DAT_001e3cf4 = 1;\n        if (((ulong)(&DAT_001e3c38)[uVar20] >> 0x10 & 1) == 0) {\n          DAT_001e3cf4 = (uint)(((&DAT_001e3c38)[uVar20] & 0xe0000) != 0) * 2;\n        }\n        goto LAB_00133b80;\n      }\n      if (bVar21 != 0) {\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1b6f,"build_modrm_byte");\n      }\n      DAT_001e3cec = 5;\n      *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) =\n           *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xe0 | 8;\n      uVar15 = DAT_001e3c2c;\n      (&DAT_001e3c88)[uVar20] = (&DAT_001e3c88)[uVar20] | 1;\n      if (uVar15 != 0) {\nLAB_00133424:\n        puVar10 = ds;\n        goto LAB_00133089;\n      }\nLAB_00133a60:\n      puVar10 = ds;\nLAB_00133a67:\n      if ((&DAT_001e3bc0)[uVar20 + 0x14] != 0) {\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1bed,"build_modrm_byte");\n      }\n      uVar9 = (ulong)DAT_001e3c2c;\n      DAT_001e3c2c = DAT_001e3c2c + 1;\n      lVar13 = uVar9 * 0x20;\n      (&DAT_001e3bc0)[uVar20 + 0x14] = &DAT_001e3b60 + lVar13;\n      (&DAT_001e3b78)[lVar13] = 2;\n      *(undefined8 *)(&DAT_001e3b70 + lVar13) = 0;\n      *(undefined8 *)(&DAT_001e3b60 + lVar13) = 0;\n      *(undefined8 *)(&DAT_001e3b68 + lVar13) = 0;\n    }" ({ "{") (expression_statement "cVar6 = *(char *)(DAT_001e3cb8 + 0x11);" (assignment_expression "cVar6 = *(char *)(DAT_001e3cb8 + 0x11)" (identifier "cVar6") (= "=") (pointer_expression "*(char *)(DAT_001e3cb8 + 0x11)" (* "*") (cast_expression "(char *)(DAT_001e3cb8 + 0x11)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_001e3cb8 + 0x11)" (( "(") (binary_expression "DAT_001e3cb8 + 0x11" (identifier "DAT_001e3cb8") (+ "+") (number_literal "0x11")) () ")"))))) (; ";")) (if_statement "if ((byte)(cVar6 + 4U) < 2) {\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1b0b,"build_modrm_byte");\n      }" (if "if") (parenthesized_expression "((byte)(cVar6 + 4U) < 2)" (( "(") (binary_expression "(byte)(cVar6 + 4U) < 2" (call_expression "(byte)(cVar6 + 4U)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(cVar6 + 4U)" (( "(") (binary_expression "cVar6 + 4U" (identifier "cVar6") (+ "+") (number_literal "4U")) () ")"))) (< "<") (number_literal "2")) () ")")) (compound_statement "{\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1b0b,"build_modrm_byte");\n      }" ({ "{") (expression_statement "FUN_0011dd00("../../gas/config/tc-i386.c",0x1b0b,"build_modrm_byte");" (call_expression "FUN_0011dd00("../../gas/config/tc-i386.c",0x1b0b,"build_modrm_byte")" (identifier "FUN_0011dd00") (argument_list "("../../gas/config/tc-i386.c",0x1b0b,"build_modrm_byte")" (( "(") (string_literal ""../../gas/config/tc-i386.c"" (" """) (string_content "../../gas/config/tc-i386.c") (" """)) (, ",") (number_literal "0x1b0b") (, ",") (string_literal ""build_modrm_byte"" (" """) (string_content "build_modrm_byte") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "DAT_001e3cec = 4;" (assignment_expression "DAT_001e3cec = 4" (identifier "DAT_001e3cec") (= "=") (number_literal "4")) (; ";")) (if_statement "if (DAT_001e3cb0 == 0) {\n        _DAT_001e3d00 = 5;\n        DAT_001e3d08 = DAT_001e3cc0;\n        lVar4 = uVar20 * 8;\n        bVar7 = *(byte *)((long)&DAT_001e3c38 + lVar4 + 2);\n        bVar24 = DAT_001e3b14 == 2;\n        *(byte *)((long)&DAT_001e3c38 + lVar4 + 2) = bVar7 & 0xec;\n        if ((bVar24) && (DAT_001e3ce6 == '\0')) {\n          *(byte *)((long)&DAT_001e3c38 + lVar4 + 2) = bVar7 & 0xe0 | 8;\n        }\n        else {\n          *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) =\n               *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xf3 | 4;\n        }\n      }" (if "if") (parenthesized_expression "(DAT_001e3cb0 == 0)" (( "(") (binary_expression "DAT_001e3cb0 == 0" (identifier "DAT_001e3cb0") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        _DAT_001e3d00 = 5;\n        DAT_001e3d08 = DAT_001e3cc0;\n        lVar4 = uVar20 * 8;\n        bVar7 = *(byte *)((long)&DAT_001e3c38 + lVar4 + 2);\n        bVar24 = DAT_001e3b14 == 2;\n        *(byte *)((long)&DAT_001e3c38 + lVar4 + 2) = bVar7 & 0xec;\n        if ((bVar24) && (DAT_001e3ce6 == '\0')) {\n          *(byte *)((long)&DAT_001e3c38 + lVar4 + 2) = bVar7 & 0xe0 | 8;\n        }\n        else {\n          *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) =\n               *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xf3 | 4;\n        }\n      }" ({ "{") (expression_statement "_DAT_001e3d00 = 5;" (assignment_expression "_DAT_001e3d00 = 5" (identifier "_DAT_001e3d00") (= "=") (number_literal "5")) (; ";")) (expression_statement "DAT_001e3d08 = DAT_001e3cc0;" (assignment_expression "DAT_001e3d08 = DAT_001e3cc0" (identifier "DAT_001e3d08") (= "=") (identifier "DAT_001e3cc0")) (; ";")) (expression_statement "lVar4 = uVar20 * 8;" (assignment_expression "lVar4 = uVar20 * 8" (identifier "lVar4") (= "=") (binary_expression "uVar20 * 8" (identifier "uVar20") (* "*") (number_literal "8"))) (; ";")) (expression_statement "bVar7 = *(byte *)((long)&DAT_001e3c38 + lVar4 + 2);" (assignment_expression "bVar7 = *(byte *)((long)&DAT_001e3c38 + lVar4 + 2)" (identifier "bVar7") (= "=") (pointer_expression "*(byte *)((long)&DAT_001e3c38 + lVar4 + 2)" (* "*") (cast_expression "(byte *)((long)&DAT_001e3c38 + lVar4 + 2)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)&DAT_001e3c38 + lVar4 + 2)" (( "(") (binary_expression "(long)&DAT_001e3c38 + lVar4 + 2" (binary_expression "(long)&DAT_001e3c38 + lVar4" (cast_expression "(long)&DAT_001e3c38" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (pointer_expression "&DAT_001e3c38" (& "&") (identifier "DAT_001e3c38"))) (+ "+") (identifier "lVar4")) (+ "+") (number_literal "2")) () ")"))))) (; ";")) (expression_statement "bVar24 = DAT_001e3b14 == 2;" (assignment_expression "bVar24 = DAT_001e3b14 == 2" (identifier "bVar24") (= "=") (binary_expression "DAT_001e3b14 == 2" (identifier "DAT_001e3b14") (== "==") (number_literal "2"))) (; ";")) (expression_statement "*(byte *)((long)&DAT_001e3c38 + lVar4 + 2) = bVar7 & 0xec;" (assignment_expression "*(byte *)((long)&DAT_001e3c38 + lVar4 + 2) = bVar7 & 0xec" (pointer_expression "*(byte *)((long)&DAT_001e3c38 + lVar4 + 2)" (* "*") (cast_expression "(byte *)((long)&DAT_001e3c38 + lVar4 + 2)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)&DAT_001e3c38 + lVar4 + 2)" (( "(") (binary_expression "(long)&DAT_001e3c38 + lVar4 + 2" (binary_expression "(long)&DAT_001e3c38 + lVar4" (cast_expression "(long)&DAT_001e3c38" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (pointer_expression "&DAT_001e3c38" (& "&") (identifier "DAT_001e3c38"))) (+ "+") (identifier "lVar4")) (+ "+") (number_literal "2")) () ")")))) (= "=") (binary_expression "bVar7 & 0xec" (identifier "bVar7") (& "&") (number_literal "0xec"))) (; ";")) (if_statement "if ((bVar24) && (DAT_001e3ce6 == '\0')) {\n          *(byte *)((long)&DAT_001e3c38 + lVar4 + 2) = bVar7 & 0xe0 | 8;\n        }\n        else {\n          *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) =\n               *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xf3 | 4;\n        }" (if "if") (parenthesized_expression "((bVar24) && (DAT_001e3ce6 == '\0'))" (( "(") (binary_expression "(bVar24) && (DAT_001e3ce6 == '\0')" (parenthesized_expression "(bVar24)" (( "(") (identifier "bVar24") () ")")) (&& "&&") (parenthesized_expression "(DAT_001e3ce6 == '\0')" (( "(") (binary_expression "DAT_001e3ce6 == '\0'" (identifier "DAT_001e3ce6") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) (compound_statement "{\n          *(byte *)((long)&DAT_001e3c38 + lVar4 + 2) = bVar7 & 0xe0 | 8;\n        }" ({ "{") (expression_statement "*(byte *)((long)&DAT_001e3c38 + lVar4 + 2) = bVar7 & 0xe0 | 8;" (assignment_expression "*(byte *)((long)&DAT_001e3c38 + lVar4 + 2) = bVar7 & 0xe0 | 8" (pointer_expression "*(byte *)((long)&DAT_001e3c38 + lVar4 + 2)" (* "*") (cast_expression "(byte *)((long)&DAT_001e3c38 + lVar4 + 2)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)&DAT_001e3c38 + lVar4 + 2)" (( "(") (binary_expression "(long)&DAT_001e3c38 + lVar4 + 2" (binary_expression "(long)&DAT_001e3c38 + lVar4" (cast_expression "(long)&DAT_001e3c38" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (pointer_expression "&DAT_001e3c38" (& "&") (identifier "DAT_001e3c38"))) (+ "+") (identifier "lVar4")) (+ "+") (number_literal "2")) () ")")))) (= "=") (binary_expression "bVar7 & 0xe0 | 8" (binary_expression "bVar7 & 0xe0" (identifier "bVar7") (& "&") (number_literal "0xe0")) (| "|") (number_literal "8"))) (; ";")) (} "}")) (else_clause "else {\n          *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) =\n               *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xf3 | 4;\n        }" (else "else") (compound_statement "{\n          *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) =\n               *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xf3 | 4;\n        }" ({ "{") (expression_statement "*(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) =\n               *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xf3 | 4;" (assignment_expression "*(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) =\n               *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xf3 | 4" (pointer_expression "*(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2)" (* "*") (cast_expression "(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)&DAT_001e3c38 + uVar20 * 8 + 2)" (( "(") (binary_expression "(long)&DAT_001e3c38 + uVar20 * 8 + 2" (binary_expression "(long)&DAT_001e3c38 + uVar20 * 8" (cast_expression "(long)&DAT_001e3c38" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (pointer_expression "&DAT_001e3c38" (& "&") (identifier "DAT_001e3c38"))) (+ "+") (binary_expression "uVar20 * 8" (identifier "uVar20") (* "*") (number_literal "8"))) (+ "+") (number_literal "2")) () ")")))) (= "=") (binary_expression "*(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xf3 | 4" (binary_expression "*(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xf3" (pointer_expression "*(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2)" (* "*") (cast_expression "(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)&DAT_001e3c38 + uVar20 * 8 + 2)" (( "(") (binary_expression "(long)&DAT_001e3c38 + uVar20 * 8 + 2" (binary_expression "(long)&DAT_001e3c38 + uVar20 * 8" (cast_expression "(long)&DAT_001e3c38" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (pointer_expression "&DAT_001e3c38" (& "&") (identifier "DAT_001e3c38"))) (+ "+") (binary_expression "uVar20 * 8" (identifier "uVar20") (* "*") (number_literal "8"))) (+ "+") (number_literal "2")) () ")")))) (& "&") (number_literal "0xf3")) (| "|") (number_literal "4"))) (; ";")) (} "}")))) (} "}"))) (expression_statement "_DAT_001e3d00 = (ulong)CONCAT14(cVar6,_DAT_001e3d00);" (assignment_expression "_DAT_001e3d00 = (ulong)CONCAT14(cVar6,_DAT_001e3d00)" (identifier "_DAT_001e3d00") (= "=") (cast_expression "(ulong)CONCAT14(cVar6,_DAT_001e3d00)" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (call_expression "CONCAT14(cVar6,_DAT_001e3d00)" (identifier "CONCAT14") (argument_list "(cVar6,_DAT_001e3d00)" (( "(") (identifier "cVar6") (, ",") (identifier "_DAT_001e3d00") () ")"))))) (; ";")) (if_statement "if ((*(byte *)(lVar2 + 0x10) & 1) != 0) {\n        DAT_001e3cf8 = DAT_001e3cf8 | 2;\n      }" (if "if") (parenthesized_expression "((*(byte *)(lVar2 + 0x10) & 1) != 0)" (( "(") (binary_expression "(*(byte *)(lVar2 + 0x10) & 1) != 0" (parenthesized_expression "(*(byte *)(lVar2 + 0x10) & 1)" (( "(") (binary_expression "*(byte *)(lVar2 + 0x10) & 1" (pointer_expression "*(byte *)(lVar2 + 0x10)" (* "*") (cast_expression "(byte *)(lVar2 + 0x10)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar2 + 0x10)" (( "(") (binary_expression "lVar2 + 0x10" (identifier "lVar2") (+ "+") (number_literal "0x10")) () ")")))) (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        DAT_001e3cf8 = DAT_001e3cf8 | 2;\n      }" ({ "{") (expression_statement "DAT_001e3cf8 = DAT_001e3cf8 | 2;" (assignment_expression "DAT_001e3cf8 = DAT_001e3cf8 | 2" (identifier "DAT_001e3cf8") (= "=") (binary_expression "DAT_001e3cf8 | 2" (identifier "DAT_001e3cf8") (| "|") (number_literal "2"))) (; ";")) (} "}"))) (if_statement "if ((*(byte *)(lVar2 + 0x10) & 4) == 0) goto LAB_0013313d;" (if "if") (parenthesized_expression "((*(byte *)(lVar2 + 0x10) & 4) == 0)" (( "(") (binary_expression "(*(byte *)(lVar2 + 0x10) & 4) == 0" (parenthesized_expression "(*(byte *)(lVar2 + 0x10) & 4)" (( "(") (binary_expression "*(byte *)(lVar2 + 0x10) & 4" (pointer_expression "*(byte *)(lVar2 + 0x10)" (* "*") (cast_expression "(byte *)(lVar2 + 0x10)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar2 + 0x10)" (( "(") (binary_expression "lVar2 + 0x10" (identifier "lVar2") (+ "+") (number_literal "0x10")) () ")")))) (& "&") (number_literal "4")) () ")")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0013313d;" (goto "goto") (statement_identifier "LAB_0013313d") (; ";"))) (expression_statement "DAT_001e3cfc = DAT_001e3cfc | 2;" (assignment_expression "DAT_001e3cfc = DAT_001e3cfc | 2" (identifier "DAT_001e3cfc") (= "=") (binary_expression "DAT_001e3cfc | 2" (identifier "DAT_001e3cfc") (| "|") (number_literal "2"))) (; ";")) (if_statement "if (lVar13 == 0) goto LAB_00133448;" (if "if") (parenthesized_expression "(lVar13 == 0)" (( "(") (binary_expression "lVar13 == 0" (identifier "lVar13") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00133448;" (goto "goto") (statement_identifier "LAB_00133448") (; ";"))) (labeled_statement "LAB_00133146:\n      bVar7 = *(byte *)(lVar13 + 0x11);" (statement_identifier "LAB_00133146") (: ":") (expression_statement "bVar7 = *(byte *)(lVar13 + 0x11);" (assignment_expression "bVar7 = *(byte *)(lVar13 + 0x11)" (identifier "bVar7") (= "=") (pointer_expression "*(byte *)(lVar13 + 0x11)" (* "*") (cast_expression "(byte *)(lVar13 + 0x11)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar13 + 0x11)" (( "(") (binary_expression "lVar13 + 0x11" (identifier "lVar13") (+ "+") (number_literal "0x11")) () ")"))))) (; ";"))) (if_statement "if (bVar7 < 0xfe) {\n        if ((*(byte *)(lVar13 + 0xb) & 0x40) == 0) {\n          if ((DAT_001e3b14 == 2) &&\n             ((*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f) != 0)) {\n            lVar2 = (uVar20 + 0xe) * 8;\n            bVar14 = *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2);\n            bVar12 = bVar14 & 0xe1;\n            *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar14 & 0xed;\n            if (DAT_001e3ce6 == '\0') {\n              *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar12 | 8;\n            }\n            else {\n              *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar12 | 4;\n            }\n          }\n          if (bVar21 == 0) {\n            DAT_001e3cec = (uint)bVar7;\n          }\n          if ((*(byte *)(lVar13 + 0x10) & 1) == 0) {\n            puVar10 = ss;\n            if (1 < (byte)(bVar7 - 4)) {\n              puVar10 = ds;\n            }\n          }\n          else {\n            DAT_001e3cf8 = DAT_001e3cf8 | 1;\n            puVar10 = ds;\n          }\n          _DAT_001e3d00 = CONCAT44(DAT_001e3d04,(uint)bVar7);\n          iVar16 = 0;\n          if ((bVar7 == 5) && (iVar16 = 0, DAT_001e3c2c == 0)) {\n            iVar16 = 1;\n            pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n            *pbVar5 = *pbVar5 | 1;\n          }\n          iVar8 = DAT_001e3d40;\n          DAT_001e3d08 = DAT_001e3cc0;\n          if (DAT_001e3cb8 == 0) {\n            if (bVar21 != 0) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1bbf,"build_modrm_byte");\n            }\n            _DAT_001e3d00 = CONCAT44(4,_DAT_001e3d00);\n          }\n          else if (bVar21 == 0) {\n            DAT_001e3cec = 4;\n            uVar15 = (uint)*(byte *)(DAT_001e3cb8 + 0x11);\n            if ((byte)(*(byte *)(DAT_001e3cb8 + 0x11) + 4) < 2) {\n              uVar15 = 4;\n            }\n            _DAT_001e3d00 = CONCAT44(uVar15,_DAT_001e3d00);\n            if ((*(byte *)(DAT_001e3cb8 + 0x10) & 1) != 0) {\n              DAT_001e3cf8 = DAT_001e3cf8 | 2;\n            }\n          }\n          if (DAT_001e3c2c == 0) {\n            if ((iVar16 == 0) && (iVar16 = iVar8, DAT_001e3d40 != 0)) {\n              if (DAT_001e3d40 == 1) {\n                pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n                *pbVar5 = *pbVar5 | 1;\n              }\n              else {\n                pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n                *pbVar5 = *pbVar5 | 4;\n                iVar16 = 1;\n              }\n            }\n          }\n          else if (((&DAT_001e3c9c)[uVar20] == 0x179) || ((&DAT_001e3c9c)[uVar20] == 0x195)) {\n            DAT_001e3cf4 = 0;\n            goto LAB_00133b80;\n          }\n        }\n        else {\n          if (bVar21 != 0) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1b7c,"build_modrm_byte");\n          }\n          if (bVar7 == 3) {\n            if (DAT_001e3cb8 != 0) {\n              DAT_001e3cec = *(byte *)(DAT_001e3cb8 + 0x11) - 6;\n              goto LAB_0013317e;\n            }\n            DAT_001e3cec = 7;\n            puVar10 = ds;\n            iVar16 = 0;\n          }\n          else if (bVar7 == 5) {\n            if (DAT_001e3cb8 == 0) {\n              puVar10 = ss;\n              DAT_001e3cec = 6;\n              iVar16 = 0;\n              if ((*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f) == 0) {\n                pbVar5 = (byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2);\n                *pbVar5 = *pbVar5 | 1;\n                iVar16 = 1;\n              }\n            }\n            else {\n              DAT_001e3cec = *(byte *)(DAT_001e3cb8 + 0x11) - 4;\n              puVar10 = ss;\n              iVar16 = 0;\n            }\n          }\n          else {\n            DAT_001e3cec = bVar7 - 2;\nLAB_0013317e:\n            iVar16 = 0;\n            puVar10 = ds;\n          }\n        }\n        DAT_001e3cf4 = 1;\n        if (((ulong)(&DAT_001e3c38)[uVar20] >> 0x10 & 1) == 0) {\n          DAT_001e3cf4 = (uint)(((&DAT_001e3c38)[uVar20] & 0xe0000) != 0) * 2;\n        }\n        goto LAB_00133b80;\n      }" (if "if") (parenthesized_expression "(bVar7 < 0xfe)" (( "(") (binary_expression "bVar7 < 0xfe" (identifier "bVar7") (< "<") (number_literal "0xfe")) () ")")) (compound_statement "{\n        if ((*(byte *)(lVar13 + 0xb) & 0x40) == 0) {\n          if ((DAT_001e3b14 == 2) &&\n             ((*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f) != 0)) {\n            lVar2 = (uVar20 + 0xe) * 8;\n            bVar14 = *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2);\n            bVar12 = bVar14 & 0xe1;\n            *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar14 & 0xed;\n            if (DAT_001e3ce6 == '\0') {\n              *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar12 | 8;\n            }\n            else {\n              *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar12 | 4;\n            }\n          }\n          if (bVar21 == 0) {\n            DAT_001e3cec = (uint)bVar7;\n          }\n          if ((*(byte *)(lVar13 + 0x10) & 1) == 0) {\n            puVar10 = ss;\n            if (1 < (byte)(bVar7 - 4)) {\n              puVar10 = ds;\n            }\n          }\n          else {\n            DAT_001e3cf8 = DAT_001e3cf8 | 1;\n            puVar10 = ds;\n          }\n          _DAT_001e3d00 = CONCAT44(DAT_001e3d04,(uint)bVar7);\n          iVar16 = 0;\n          if ((bVar7 == 5) && (iVar16 = 0, DAT_001e3c2c == 0)) {\n            iVar16 = 1;\n            pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n            *pbVar5 = *pbVar5 | 1;\n          }\n          iVar8 = DAT_001e3d40;\n          DAT_001e3d08 = DAT_001e3cc0;\n          if (DAT_001e3cb8 == 0) {\n            if (bVar21 != 0) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1bbf,"build_modrm_byte");\n            }\n            _DAT_001e3d00 = CONCAT44(4,_DAT_001e3d00);\n          }\n          else if (bVar21 == 0) {\n            DAT_001e3cec = 4;\n            uVar15 = (uint)*(byte *)(DAT_001e3cb8 + 0x11);\n            if ((byte)(*(byte *)(DAT_001e3cb8 + 0x11) + 4) < 2) {\n              uVar15 = 4;\n            }\n            _DAT_001e3d00 = CONCAT44(uVar15,_DAT_001e3d00);\n            if ((*(byte *)(DAT_001e3cb8 + 0x10) & 1) != 0) {\n              DAT_001e3cf8 = DAT_001e3cf8 | 2;\n            }\n          }\n          if (DAT_001e3c2c == 0) {\n            if ((iVar16 == 0) && (iVar16 = iVar8, DAT_001e3d40 != 0)) {\n              if (DAT_001e3d40 == 1) {\n                pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n                *pbVar5 = *pbVar5 | 1;\n              }\n              else {\n                pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n                *pbVar5 = *pbVar5 | 4;\n                iVar16 = 1;\n              }\n            }\n          }\n          else if (((&DAT_001e3c9c)[uVar20] == 0x179) || ((&DAT_001e3c9c)[uVar20] == 0x195)) {\n            DAT_001e3cf4 = 0;\n            goto LAB_00133b80;\n          }\n        }\n        else {\n          if (bVar21 != 0) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1b7c,"build_modrm_byte");\n          }\n          if (bVar7 == 3) {\n            if (DAT_001e3cb8 != 0) {\n              DAT_001e3cec = *(byte *)(DAT_001e3cb8 + 0x11) - 6;\n              goto LAB_0013317e;\n            }\n            DAT_001e3cec = 7;\n            puVar10 = ds;\n            iVar16 = 0;\n          }\n          else if (bVar7 == 5) {\n            if (DAT_001e3cb8 == 0) {\n              puVar10 = ss;\n              DAT_001e3cec = 6;\n              iVar16 = 0;\n              if ((*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f) == 0) {\n                pbVar5 = (byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2);\n                *pbVar5 = *pbVar5 | 1;\n                iVar16 = 1;\n              }\n            }\n            else {\n              DAT_001e3cec = *(byte *)(DAT_001e3cb8 + 0x11) - 4;\n              puVar10 = ss;\n              iVar16 = 0;\n            }\n          }\n          else {\n            DAT_001e3cec = bVar7 - 2;\nLAB_0013317e:\n            iVar16 = 0;\n            puVar10 = ds;\n          }\n        }\n        DAT_001e3cf4 = 1;\n        if (((ulong)(&DAT_001e3c38)[uVar20] >> 0x10 & 1) == 0) {\n          DAT_001e3cf4 = (uint)(((&DAT_001e3c38)[uVar20] & 0xe0000) != 0) * 2;\n        }\n        goto LAB_00133b80;\n      }" ({ "{") (if_statement "if ((*(byte *)(lVar13 + 0xb) & 0x40) == 0) {\n          if ((DAT_001e3b14 == 2) &&\n             ((*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f) != 0)) {\n            lVar2 = (uVar20 + 0xe) * 8;\n            bVar14 = *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2);\n            bVar12 = bVar14 & 0xe1;\n            *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar14 & 0xed;\n            if (DAT_001e3ce6 == '\0') {\n              *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar12 | 8;\n            }\n            else {\n              *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar12 | 4;\n            }\n          }\n          if (bVar21 == 0) {\n            DAT_001e3cec = (uint)bVar7;\n          }\n          if ((*(byte *)(lVar13 + 0x10) & 1) == 0) {\n            puVar10 = ss;\n            if (1 < (byte)(bVar7 - 4)) {\n              puVar10 = ds;\n            }\n          }\n          else {\n            DAT_001e3cf8 = DAT_001e3cf8 | 1;\n            puVar10 = ds;\n          }\n          _DAT_001e3d00 = CONCAT44(DAT_001e3d04,(uint)bVar7);\n          iVar16 = 0;\n          if ((bVar7 == 5) && (iVar16 = 0, DAT_001e3c2c == 0)) {\n            iVar16 = 1;\n            pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n            *pbVar5 = *pbVar5 | 1;\n          }\n          iVar8 = DAT_001e3d40;\n          DAT_001e3d08 = DAT_001e3cc0;\n          if (DAT_001e3cb8 == 0) {\n            if (bVar21 != 0) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1bbf,"build_modrm_byte");\n            }\n            _DAT_001e3d00 = CONCAT44(4,_DAT_001e3d00);\n          }\n          else if (bVar21 == 0) {\n            DAT_001e3cec = 4;\n            uVar15 = (uint)*(byte *)(DAT_001e3cb8 + 0x11);\n            if ((byte)(*(byte *)(DAT_001e3cb8 + 0x11) + 4) < 2) {\n              uVar15 = 4;\n            }\n            _DAT_001e3d00 = CONCAT44(uVar15,_DAT_001e3d00);\n            if ((*(byte *)(DAT_001e3cb8 + 0x10) & 1) != 0) {\n              DAT_001e3cf8 = DAT_001e3cf8 | 2;\n            }\n          }\n          if (DAT_001e3c2c == 0) {\n            if ((iVar16 == 0) && (iVar16 = iVar8, DAT_001e3d40 != 0)) {\n              if (DAT_001e3d40 == 1) {\n                pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n                *pbVar5 = *pbVar5 | 1;\n              }\n              else {\n                pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n                *pbVar5 = *pbVar5 | 4;\n                iVar16 = 1;\n              }\n            }\n          }\n          else if (((&DAT_001e3c9c)[uVar20] == 0x179) || ((&DAT_001e3c9c)[uVar20] == 0x195)) {\n            DAT_001e3cf4 = 0;\n            goto LAB_00133b80;\n          }\n        }\n        else {\n          if (bVar21 != 0) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1b7c,"build_modrm_byte");\n          }\n          if (bVar7 == 3) {\n            if (DAT_001e3cb8 != 0) {\n              DAT_001e3cec = *(byte *)(DAT_001e3cb8 + 0x11) - 6;\n              goto LAB_0013317e;\n            }\n            DAT_001e3cec = 7;\n            puVar10 = ds;\n            iVar16 = 0;\n          }\n          else if (bVar7 == 5) {\n            if (DAT_001e3cb8 == 0) {\n              puVar10 = ss;\n              DAT_001e3cec = 6;\n              iVar16 = 0;\n              if ((*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f) == 0) {\n                pbVar5 = (byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2);\n                *pbVar5 = *pbVar5 | 1;\n                iVar16 = 1;\n              }\n            }\n            else {\n              DAT_001e3cec = *(byte *)(DAT_001e3cb8 + 0x11) - 4;\n              puVar10 = ss;\n              iVar16 = 0;\n            }\n          }\n          else {\n            DAT_001e3cec = bVar7 - 2;\nLAB_0013317e:\n            iVar16 = 0;\n            puVar10 = ds;\n          }\n        }" (if "if") (parenthesized_expression "((*(byte *)(lVar13 + 0xb) & 0x40) == 0)" (( "(") (binary_expression "(*(byte *)(lVar13 + 0xb) & 0x40) == 0" (parenthesized_expression "(*(byte *)(lVar13 + 0xb) & 0x40)" (( "(") (binary_expression "*(byte *)(lVar13 + 0xb) & 0x40" (pointer_expression "*(byte *)(lVar13 + 0xb)" (* "*") (cast_expression "(byte *)(lVar13 + 0xb)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar13 + 0xb)" (( "(") (binary_expression "lVar13 + 0xb" (identifier "lVar13") (+ "+") (number_literal "0xb")) () ")")))) (& "&") (number_literal "0x40")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          if ((DAT_001e3b14 == 2) &&\n             ((*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f) != 0)) {\n            lVar2 = (uVar20 + 0xe) * 8;\n            bVar14 = *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2);\n            bVar12 = bVar14 & 0xe1;\n            *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar14 & 0xed;\n            if (DAT_001e3ce6 == '\0') {\n              *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar12 | 8;\n            }\n            else {\n              *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar12 | 4;\n            }\n          }\n          if (bVar21 == 0) {\n            DAT_001e3cec = (uint)bVar7;\n          }\n          if ((*(byte *)(lVar13 + 0x10) & 1) == 0) {\n            puVar10 = ss;\n            if (1 < (byte)(bVar7 - 4)) {\n              puVar10 = ds;\n            }\n          }\n          else {\n            DAT_001e3cf8 = DAT_001e3cf8 | 1;\n            puVar10 = ds;\n          }\n          _DAT_001e3d00 = CONCAT44(DAT_001e3d04,(uint)bVar7);\n          iVar16 = 0;\n          if ((bVar7 == 5) && (iVar16 = 0, DAT_001e3c2c == 0)) {\n            iVar16 = 1;\n            pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n            *pbVar5 = *pbVar5 | 1;\n          }\n          iVar8 = DAT_001e3d40;\n          DAT_001e3d08 = DAT_001e3cc0;\n          if (DAT_001e3cb8 == 0) {\n            if (bVar21 != 0) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1bbf,"build_modrm_byte");\n            }\n            _DAT_001e3d00 = CONCAT44(4,_DAT_001e3d00);\n          }\n          else if (bVar21 == 0) {\n            DAT_001e3cec = 4;\n            uVar15 = (uint)*(byte *)(DAT_001e3cb8 + 0x11);\n            if ((byte)(*(byte *)(DAT_001e3cb8 + 0x11) + 4) < 2) {\n              uVar15 = 4;\n            }\n            _DAT_001e3d00 = CONCAT44(uVar15,_DAT_001e3d00);\n            if ((*(byte *)(DAT_001e3cb8 + 0x10) & 1) != 0) {\n              DAT_001e3cf8 = DAT_001e3cf8 | 2;\n            }\n          }\n          if (DAT_001e3c2c == 0) {\n            if ((iVar16 == 0) && (iVar16 = iVar8, DAT_001e3d40 != 0)) {\n              if (DAT_001e3d40 == 1) {\n                pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n                *pbVar5 = *pbVar5 | 1;\n              }\n              else {\n                pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n                *pbVar5 = *pbVar5 | 4;\n                iVar16 = 1;\n              }\n            }\n          }\n          else if (((&DAT_001e3c9c)[uVar20] == 0x179) || ((&DAT_001e3c9c)[uVar20] == 0x195)) {\n            DAT_001e3cf4 = 0;\n            goto LAB_00133b80;\n          }\n        }" ({ "{") (if_statement "if ((DAT_001e3b14 == 2) &&\n             ((*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f) != 0)) {\n            lVar2 = (uVar20 + 0xe) * 8;\n            bVar14 = *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2);\n            bVar12 = bVar14 & 0xe1;\n            *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar14 & 0xed;\n            if (DAT_001e3ce6 == '\0') {\n              *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar12 | 8;\n            }\n            else {\n              *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar12 | 4;\n            }\n          }" (if "if") (parenthesized_expression "((DAT_001e3b14 == 2) &&\n             ((*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f) != 0))" (( "(") (binary_expression "(DAT_001e3b14 == 2) &&\n             ((*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f) != 0)" (parenthesized_expression "(DAT_001e3b14 == 2)" (( "(") (binary_expression "DAT_001e3b14 == 2" (identifier "DAT_001e3b14") (== "==") (number_literal "2")) () ")")) (&& "&&") (parenthesized_expression "((*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f) != 0)" (( "(") (binary_expression "(*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f) != 0" (parenthesized_expression "(*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f)" (( "(") (binary_expression "*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f" (pointer_expression "*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2)" (* "*") (cast_expression "(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2)" (( "(") (binary_expression "(long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2" (binary_expression "(long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8" (cast_expression "(long)&DAT_001e3bc8" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (pointer_expression "&DAT_001e3bc8" (& "&") (identifier "DAT_001e3bc8"))) (+ "+") (binary_expression "(uVar20 + 0xe) * 8" (parenthesized_expression "(uVar20 + 0xe)" (( "(") (binary_expression "uVar20 + 0xe" (identifier "uVar20") (+ "+") (number_literal "0xe")) () ")")) (* "*") (number_literal "8"))) (+ "+") (number_literal "2")) () ")")))) (& "&") (number_literal "0x1f")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n            lVar2 = (uVar20 + 0xe) * 8;\n            bVar14 = *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2);\n            bVar12 = bVar14 & 0xe1;\n            *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar14 & 0xed;\n            if (DAT_001e3ce6 == '\0') {\n              *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar12 | 8;\n            }\n            else {\n              *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar12 | 4;\n            }\n          }" ({ "{") (expression_statement "lVar2 = (uVar20 + 0xe) * 8;" (assignment_expression "lVar2 = (uVar20 + 0xe) * 8" (identifier "lVar2") (= "=") (binary_expression "(uVar20 + 0xe) * 8" (parenthesized_expression "(uVar20 + 0xe)" (( "(") (binary_expression "uVar20 + 0xe" (identifier "uVar20") (+ "+") (number_literal "0xe")) () ")")) (* "*") (number_literal "8"))) (; ";")) (expression_statement "bVar14 = *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2);" (assignment_expression "bVar14 = *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2)" (identifier "bVar14") (= "=") (pointer_expression "*(byte *)((long)&DAT_001e3bc8 + lVar2 + 2)" (* "*") (cast_expression "(byte *)((long)&DAT_001e3bc8 + lVar2 + 2)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)&DAT_001e3bc8 + lVar2 + 2)" (( "(") (binary_expression "(long)&DAT_001e3bc8 + lVar2 + 2" (binary_expression "(long)&DAT_001e3bc8 + lVar2" (cast_expression "(long)&DAT_001e3bc8" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (pointer_expression "&DAT_001e3bc8" (& "&") (identifier "DAT_001e3bc8"))) (+ "+") (identifier "lVar2")) (+ "+") (number_literal "2")) () ")"))))) (; ";")) (expression_statement "bVar12 = bVar14 & 0xe1;" (assignment_expression "bVar12 = bVar14 & 0xe1" (identifier "bVar12") (= "=") (binary_expression "bVar14 & 0xe1" (identifier "bVar14") (& "&") (number_literal "0xe1"))) (; ";")) (expression_statement "*(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar14 & 0xed;" (assignment_expression "*(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar14 & 0xed" (pointer_expression "*(byte *)((long)&DAT_001e3bc8 + lVar2 + 2)" (* "*") (cast_expression "(byte *)((long)&DAT_001e3bc8 + lVar2 + 2)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)&DAT_001e3bc8 + lVar2 + 2)" (( "(") (binary_expression "(long)&DAT_001e3bc8 + lVar2 + 2" (binary_expression "(long)&DAT_001e3bc8 + lVar2" (cast_expression "(long)&DAT_001e3bc8" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (pointer_expression "&DAT_001e3bc8" (& "&") (identifier "DAT_001e3bc8"))) (+ "+") (identifier "lVar2")) (+ "+") (number_literal "2")) () ")")))) (= "=") (binary_expression "bVar14 & 0xed" (identifier "bVar14") (& "&") (number_literal "0xed"))) (; ";")) (if_statement "if (DAT_001e3ce6 == '\0') {\n              *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar12 | 8;\n            }\n            else {\n              *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar12 | 4;\n            }" (if "if") (parenthesized_expression "(DAT_001e3ce6 == '\0')" (( "(") (binary_expression "DAT_001e3ce6 == '\0'" (identifier "DAT_001e3ce6") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n              *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar12 | 8;\n            }" ({ "{") (expression_statement "*(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar12 | 8;" (assignment_expression "*(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar12 | 8" (pointer_expression "*(byte *)((long)&DAT_001e3bc8 + lVar2 + 2)" (* "*") (cast_expression "(byte *)((long)&DAT_001e3bc8 + lVar2 + 2)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)&DAT_001e3bc8 + lVar2 + 2)" (( "(") (binary_expression "(long)&DAT_001e3bc8 + lVar2 + 2" (binary_expression "(long)&DAT_001e3bc8 + lVar2" (cast_expression "(long)&DAT_001e3bc8" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (pointer_expression "&DAT_001e3bc8" (& "&") (identifier "DAT_001e3bc8"))) (+ "+") (identifier "lVar2")) (+ "+") (number_literal "2")) () ")")))) (= "=") (binary_expression "bVar12 | 8" (identifier "bVar12") (| "|") (number_literal "8"))) (; ";")) (} "}")) (else_clause "else {\n              *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar12 | 4;\n            }" (else "else") (compound_statement "{\n              *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar12 | 4;\n            }" ({ "{") (expression_statement "*(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar12 | 4;" (assignment_expression "*(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar12 | 4" (pointer_expression "*(byte *)((long)&DAT_001e3bc8 + lVar2 + 2)" (* "*") (cast_expression "(byte *)((long)&DAT_001e3bc8 + lVar2 + 2)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)&DAT_001e3bc8 + lVar2 + 2)" (( "(") (binary_expression "(long)&DAT_001e3bc8 + lVar2 + 2" (binary_expression "(long)&DAT_001e3bc8 + lVar2" (cast_expression "(long)&DAT_001e3bc8" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (pointer_expression "&DAT_001e3bc8" (& "&") (identifier "DAT_001e3bc8"))) (+ "+") (identifier "lVar2")) (+ "+") (number_literal "2")) () ")")))) (= "=") (binary_expression "bVar12 | 4" (identifier "bVar12") (| "|") (number_literal "4"))) (; ";")) (} "}")))) (} "}"))) (if_statement "if (bVar21 == 0) {\n            DAT_001e3cec = (uint)bVar7;\n          }" (if "if") (parenthesized_expression "(bVar21 == 0)" (( "(") (binary_expression "bVar21 == 0" (identifier "bVar21") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            DAT_001e3cec = (uint)bVar7;\n          }" ({ "{") (expression_statement "DAT_001e3cec = (uint)bVar7;" (assignment_expression "DAT_001e3cec = (uint)bVar7" (identifier "DAT_001e3cec") (= "=") (cast_expression "(uint)bVar7" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar7"))) (; ";")) (} "}"))) (if_statement "if ((*(byte *)(lVar13 + 0x10) & 1) == 0) {\n            puVar10 = ss;\n            if (1 < (byte)(bVar7 - 4)) {\n              puVar10 = ds;\n            }\n          }\n          else {\n            DAT_001e3cf8 = DAT_001e3cf8 | 1;\n            puVar10 = ds;\n          }" (if "if") (parenthesized_expression "((*(byte *)(lVar13 + 0x10) & 1) == 0)" (( "(") (binary_expression "(*(byte *)(lVar13 + 0x10) & 1) == 0" (parenthesized_expression "(*(byte *)(lVar13 + 0x10) & 1)" (( "(") (binary_expression "*(byte *)(lVar13 + 0x10) & 1" (pointer_expression "*(byte *)(lVar13 + 0x10)" (* "*") (cast_expression "(byte *)(lVar13 + 0x10)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar13 + 0x10)" (( "(") (binary_expression "lVar13 + 0x10" (identifier "lVar13") (+ "+") (number_literal "0x10")) () ")")))) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            puVar10 = ss;\n            if (1 < (byte)(bVar7 - 4)) {\n              puVar10 = ds;\n            }\n          }" ({ "{") (expression_statement "puVar10 = ss;" (assignment_expression "puVar10 = ss" (identifier "puVar10") (= "=") (identifier "ss")) (; ";")) (if_statement "if (1 < (byte)(bVar7 - 4)) {\n              puVar10 = ds;\n            }" (if "if") (parenthesized_expression "(1 < (byte)(bVar7 - 4))" (( "(") (binary_expression "1 < (byte)(bVar7 - 4)" (number_literal "1") (< "<") (call_expression "(byte)(bVar7 - 4)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(bVar7 - 4)" (( "(") (binary_expression "bVar7 - 4" (identifier "bVar7") (- "-") (number_literal "4")) () ")")))) () ")")) (compound_statement "{\n              puVar10 = ds;\n            }" ({ "{") (expression_statement "puVar10 = ds;" (assignment_expression "puVar10 = ds" (identifier "puVar10") (= "=") (identifier "ds")) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n            DAT_001e3cf8 = DAT_001e3cf8 | 1;\n            puVar10 = ds;\n          }" (else "else") (compound_statement "{\n            DAT_001e3cf8 = DAT_001e3cf8 | 1;\n            puVar10 = ds;\n          }" ({ "{") (expression_statement "DAT_001e3cf8 = DAT_001e3cf8 | 1;" (assignment_expression "DAT_001e3cf8 = DAT_001e3cf8 | 1" (identifier "DAT_001e3cf8") (= "=") (binary_expression "DAT_001e3cf8 | 1" (identifier "DAT_001e3cf8") (| "|") (number_literal "1"))) (; ";")) (expression_statement "puVar10 = ds;" (assignment_expression "puVar10 = ds" (identifier "puVar10") (= "=") (identifier "ds")) (; ";")) (} "}")))) (expression_statement "_DAT_001e3d00 = CONCAT44(DAT_001e3d04,(uint)bVar7);" (assignment_expression "_DAT_001e3d00 = CONCAT44(DAT_001e3d04,(uint)bVar7)" (identifier "_DAT_001e3d00") (= "=") (call_expression "CONCAT44(DAT_001e3d04,(uint)bVar7)" (identifier "CONCAT44") (argument_list "(DAT_001e3d04,(uint)bVar7)" (( "(") (identifier "DAT_001e3d04") (, ",") (cast_expression "(uint)bVar7" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar7")) () ")")))) (; ";")) (expression_statement "iVar16 = 0;" (assignment_expression "iVar16 = 0" (identifier "iVar16") (= "=") (number_literal "0")) (; ";")) (if_statement "if ((bVar7 == 5) && (iVar16 = 0, DAT_001e3c2c == 0)) {\n            iVar16 = 1;\n            pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n            *pbVar5 = *pbVar5 | 1;\n          }" (if "if") (parenthesized_expression "((bVar7 == 5) && (iVar16 = 0, DAT_001e3c2c == 0))" (( "(") (binary_expression "(bVar7 == 5) && (iVar16 = 0, DAT_001e3c2c == 0)" (parenthesized_expression "(bVar7 == 5)" (( "(") (binary_expression "bVar7 == 5" (identifier "bVar7") (== "==") (number_literal "5")) () ")")) (&& "&&") (parenthesized_expression "(iVar16 = 0, DAT_001e3c2c == 0)" (( "(") (comma_expression "iVar16 = 0, DAT_001e3c2c == 0" (assignment_expression "iVar16 = 0" (identifier "iVar16") (= "=") (number_literal "0")) (, ",") (binary_expression "DAT_001e3c2c == 0" (identifier "DAT_001e3c2c") (== "==") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n            iVar16 = 1;\n            pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n            *pbVar5 = *pbVar5 | 1;\n          }" ({ "{") (expression_statement "iVar16 = 1;" (assignment_expression "iVar16 = 1" (identifier "iVar16") (= "=") (number_literal "1")) (; ";")) (expression_statement "pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);" (assignment_expression "pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2)" (identifier "pbVar5") (= "=") (cast_expression "(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)&DAT_001e3c38 + uVar20 * 8 + 2)" (( "(") (binary_expression "(long)&DAT_001e3c38 + uVar20 * 8 + 2" (binary_expression "(long)&DAT_001e3c38 + uVar20 * 8" (cast_expression "(long)&DAT_001e3c38" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (pointer_expression "&DAT_001e3c38" (& "&") (identifier "DAT_001e3c38"))) (+ "+") (binary_expression "uVar20 * 8" (identifier "uVar20") (* "*") (number_literal "8"))) (+ "+") (number_literal "2")) () ")")))) (; ";")) (expression_statement "*pbVar5 = *pbVar5 | 1;" (assignment_expression "*pbVar5 = *pbVar5 | 1" (pointer_expression "*pbVar5" (* "*") (identifier "pbVar5")) (= "=") (binary_expression "*pbVar5 | 1" (pointer_expression "*pbVar5" (* "*") (identifier "pbVar5")) (| "|") (number_literal "1"))) (; ";")) (} "}"))) (expression_statement "iVar8 = DAT_001e3d40;" (assignment_expression "iVar8 = DAT_001e3d40" (identifier "iVar8") (= "=") (identifier "DAT_001e3d40")) (; ";")) (expression_statement "DAT_001e3d08 = DAT_001e3cc0;" (assignment_expression "DAT_001e3d08 = DAT_001e3cc0" (identifier "DAT_001e3d08") (= "=") (identifier "DAT_001e3cc0")) (; ";")) (if_statement "if (DAT_001e3cb8 == 0) {\n            if (bVar21 != 0) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1bbf,"build_modrm_byte");\n            }\n            _DAT_001e3d00 = CONCAT44(4,_DAT_001e3d00);\n          }\n          else if (bVar21 == 0) {\n            DAT_001e3cec = 4;\n            uVar15 = (uint)*(byte *)(DAT_001e3cb8 + 0x11);\n            if ((byte)(*(byte *)(DAT_001e3cb8 + 0x11) + 4) < 2) {\n              uVar15 = 4;\n            }\n            _DAT_001e3d00 = CONCAT44(uVar15,_DAT_001e3d00);\n            if ((*(byte *)(DAT_001e3cb8 + 0x10) & 1) != 0) {\n              DAT_001e3cf8 = DAT_001e3cf8 | 2;\n            }\n          }" (if "if") (parenthesized_expression "(DAT_001e3cb8 == 0)" (( "(") (binary_expression "DAT_001e3cb8 == 0" (identifier "DAT_001e3cb8") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            if (bVar21 != 0) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1bbf,"build_modrm_byte");\n            }\n            _DAT_001e3d00 = CONCAT44(4,_DAT_001e3d00);\n          }" ({ "{") (if_statement "if (bVar21 != 0) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1bbf,"build_modrm_byte");\n            }" (if "if") (parenthesized_expression "(bVar21 != 0)" (( "(") (binary_expression "bVar21 != 0" (identifier "bVar21") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1bbf,"build_modrm_byte");\n            }" ({ "{") (expression_statement "FUN_0011dd00("../../gas/config/tc-i386.c",0x1bbf,"build_modrm_byte");" (call_expression "FUN_0011dd00("../../gas/config/tc-i386.c",0x1bbf,"build_modrm_byte")" (identifier "FUN_0011dd00") (argument_list "("../../gas/config/tc-i386.c",0x1bbf,"build_modrm_byte")" (( "(") (string_literal ""../../gas/config/tc-i386.c"" (" """) (string_content "../../gas/config/tc-i386.c") (" """)) (, ",") (number_literal "0x1bbf") (, ",") (string_literal ""build_modrm_byte"" (" """) (string_content "build_modrm_byte") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "_DAT_001e3d00 = CONCAT44(4,_DAT_001e3d00);" (assignment_expression "_DAT_001e3d00 = CONCAT44(4,_DAT_001e3d00)" (identifier "_DAT_001e3d00") (= "=") (call_expression "CONCAT44(4,_DAT_001e3d00)" (identifier "CONCAT44") (argument_list "(4,_DAT_001e3d00)" (( "(") (number_literal "4") (, ",") (identifier "_DAT_001e3d00") () ")")))) (; ";")) (} "}")) (else_clause "else if (bVar21 == 0) {\n            DAT_001e3cec = 4;\n            uVar15 = (uint)*(byte *)(DAT_001e3cb8 + 0x11);\n            if ((byte)(*(byte *)(DAT_001e3cb8 + 0x11) + 4) < 2) {\n              uVar15 = 4;\n            }\n            _DAT_001e3d00 = CONCAT44(uVar15,_DAT_001e3d00);\n            if ((*(byte *)(DAT_001e3cb8 + 0x10) & 1) != 0) {\n              DAT_001e3cf8 = DAT_001e3cf8 | 2;\n            }\n          }" (else "else") (if_statement "if (bVar21 == 0) {\n            DAT_001e3cec = 4;\n            uVar15 = (uint)*(byte *)(DAT_001e3cb8 + 0x11);\n            if ((byte)(*(byte *)(DAT_001e3cb8 + 0x11) + 4) < 2) {\n              uVar15 = 4;\n            }\n            _DAT_001e3d00 = CONCAT44(uVar15,_DAT_001e3d00);\n            if ((*(byte *)(DAT_001e3cb8 + 0x10) & 1) != 0) {\n              DAT_001e3cf8 = DAT_001e3cf8 | 2;\n            }\n          }" (if "if") (parenthesized_expression "(bVar21 == 0)" (( "(") (binary_expression "bVar21 == 0" (identifier "bVar21") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            DAT_001e3cec = 4;\n            uVar15 = (uint)*(byte *)(DAT_001e3cb8 + 0x11);\n            if ((byte)(*(byte *)(DAT_001e3cb8 + 0x11) + 4) < 2) {\n              uVar15 = 4;\n            }\n            _DAT_001e3d00 = CONCAT44(uVar15,_DAT_001e3d00);\n            if ((*(byte *)(DAT_001e3cb8 + 0x10) & 1) != 0) {\n              DAT_001e3cf8 = DAT_001e3cf8 | 2;\n            }\n          }" ({ "{") (expression_statement "DAT_001e3cec = 4;" (assignment_expression "DAT_001e3cec = 4" (identifier "DAT_001e3cec") (= "=") (number_literal "4")) (; ";")) (expression_statement "uVar15 = (uint)*(byte *)(DAT_001e3cb8 + 0x11);" (assignment_expression "uVar15 = (uint)*(byte *)(DAT_001e3cb8 + 0x11)" (identifier "uVar15") (= "=") (binary_expression "(uint)*(byte *)(DAT_001e3cb8 + 0x11)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(byte *)(DAT_001e3cb8 + 0x11)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_001e3cb8 + 0x11)" (( "(") (binary_expression "DAT_001e3cb8 + 0x11" (identifier "DAT_001e3cb8") (+ "+") (number_literal "0x11")) () ")"))))) (; ";")) (if_statement "if ((byte)(*(byte *)(DAT_001e3cb8 + 0x11) + 4) < 2) {\n              uVar15 = 4;\n            }" (if "if") (parenthesized_expression "((byte)(*(byte *)(DAT_001e3cb8 + 0x11) + 4) < 2)" (( "(") (binary_expression "(byte)(*(byte *)(DAT_001e3cb8 + 0x11) + 4) < 2" (call_expression "(byte)(*(byte *)(DAT_001e3cb8 + 0x11) + 4)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(*(byte *)(DAT_001e3cb8 + 0x11) + 4)" (( "(") (binary_expression "*(byte *)(DAT_001e3cb8 + 0x11) + 4" (pointer_expression "*(byte *)(DAT_001e3cb8 + 0x11)" (* "*") (cast_expression "(byte *)(DAT_001e3cb8 + 0x11)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_001e3cb8 + 0x11)" (( "(") (binary_expression "DAT_001e3cb8 + 0x11" (identifier "DAT_001e3cb8") (+ "+") (number_literal "0x11")) () ")")))) (+ "+") (number_literal "4")) () ")"))) (< "<") (number_literal "2")) () ")")) (compound_statement "{\n              uVar15 = 4;\n            }" ({ "{") (expression_statement "uVar15 = 4;" (assignment_expression "uVar15 = 4" (identifier "uVar15") (= "=") (number_literal "4")) (; ";")) (} "}"))) (expression_statement "_DAT_001e3d00 = CONCAT44(uVar15,_DAT_001e3d00);" (assignment_expression "_DAT_001e3d00 = CONCAT44(uVar15,_DAT_001e3d00)" (identifier "_DAT_001e3d00") (= "=") (call_expression "CONCAT44(uVar15,_DAT_001e3d00)" (identifier "CONCAT44") (argument_list "(uVar15,_DAT_001e3d00)" (( "(") (identifier "uVar15") (, ",") (identifier "_DAT_001e3d00") () ")")))) (; ";")) (if_statement "if ((*(byte *)(DAT_001e3cb8 + 0x10) & 1) != 0) {\n              DAT_001e3cf8 = DAT_001e3cf8 | 2;\n            }" (if "if") (parenthesized_expression "((*(byte *)(DAT_001e3cb8 + 0x10) & 1) != 0)" (( "(") (binary_expression "(*(byte *)(DAT_001e3cb8 + 0x10) & 1) != 0" (parenthesized_expression "(*(byte *)(DAT_001e3cb8 + 0x10) & 1)" (( "(") (binary_expression "*(byte *)(DAT_001e3cb8 + 0x10) & 1" (pointer_expression "*(byte *)(DAT_001e3cb8 + 0x10)" (* "*") (cast_expression "(byte *)(DAT_001e3cb8 + 0x10)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_001e3cb8 + 0x10)" (( "(") (binary_expression "DAT_001e3cb8 + 0x10" (identifier "DAT_001e3cb8") (+ "+") (number_literal "0x10")) () ")")))) (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n              DAT_001e3cf8 = DAT_001e3cf8 | 2;\n            }" ({ "{") (expression_statement "DAT_001e3cf8 = DAT_001e3cf8 | 2;" (assignment_expression "DAT_001e3cf8 = DAT_001e3cf8 | 2" (identifier "DAT_001e3cf8") (= "=") (binary_expression "DAT_001e3cf8 | 2" (identifier "DAT_001e3cf8") (| "|") (number_literal "2"))) (; ";")) (} "}"))) (} "}"))))) (if_statement "if (DAT_001e3c2c == 0) {\n            if ((iVar16 == 0) && (iVar16 = iVar8, DAT_001e3d40 != 0)) {\n              if (DAT_001e3d40 == 1) {\n                pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n                *pbVar5 = *pbVar5 | 1;\n              }\n              else {\n                pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n                *pbVar5 = *pbVar5 | 4;\n                iVar16 = 1;\n              }\n            }\n          }\n          else if (((&DAT_001e3c9c)[uVar20] == 0x179) || ((&DAT_001e3c9c)[uVar20] == 0x195)) {\n            DAT_001e3cf4 = 0;\n            goto LAB_00133b80;\n          }" (if "if") (parenthesized_expression "(DAT_001e3c2c == 0)" (( "(") (binary_expression "DAT_001e3c2c == 0" (identifier "DAT_001e3c2c") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            if ((iVar16 == 0) && (iVar16 = iVar8, DAT_001e3d40 != 0)) {\n              if (DAT_001e3d40 == 1) {\n                pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n                *pbVar5 = *pbVar5 | 1;\n              }\n              else {\n                pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n                *pbVar5 = *pbVar5 | 4;\n                iVar16 = 1;\n              }\n            }\n          }" ({ "{") (if_statement "if ((iVar16 == 0) && (iVar16 = iVar8, DAT_001e3d40 != 0)) {\n              if (DAT_001e3d40 == 1) {\n                pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n                *pbVar5 = *pbVar5 | 1;\n              }\n              else {\n                pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n                *pbVar5 = *pbVar5 | 4;\n                iVar16 = 1;\n              }\n            }" (if "if") (parenthesized_expression "((iVar16 == 0) && (iVar16 = iVar8, DAT_001e3d40 != 0))" (( "(") (binary_expression "(iVar16 == 0) && (iVar16 = iVar8, DAT_001e3d40 != 0)" (parenthesized_expression "(iVar16 == 0)" (( "(") (binary_expression "iVar16 == 0" (identifier "iVar16") (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(iVar16 = iVar8, DAT_001e3d40 != 0)" (( "(") (comma_expression "iVar16 = iVar8, DAT_001e3d40 != 0" (assignment_expression "iVar16 = iVar8" (identifier "iVar16") (= "=") (identifier "iVar8")) (, ",") (binary_expression "DAT_001e3d40 != 0" (identifier "DAT_001e3d40") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n              if (DAT_001e3d40 == 1) {\n                pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n                *pbVar5 = *pbVar5 | 1;\n              }\n              else {\n                pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n                *pbVar5 = *pbVar5 | 4;\n                iVar16 = 1;\n              }\n            }" ({ "{") (if_statement "if (DAT_001e3d40 == 1) {\n                pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n                *pbVar5 = *pbVar5 | 1;\n              }\n              else {\n                pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n                *pbVar5 = *pbVar5 | 4;\n                iVar16 = 1;\n              }" (if "if") (parenthesized_expression "(DAT_001e3d40 == 1)" (( "(") (binary_expression "DAT_001e3d40 == 1" (identifier "DAT_001e3d40") (== "==") (number_literal "1")) () ")")) (compound_statement "{\n                pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n                *pbVar5 = *pbVar5 | 1;\n              }" ({ "{") (expression_statement "pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);" (assignment_expression "pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2)" (identifier "pbVar5") (= "=") (cast_expression "(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)&DAT_001e3c38 + uVar20 * 8 + 2)" (( "(") (binary_expression "(long)&DAT_001e3c38 + uVar20 * 8 + 2" (binary_expression "(long)&DAT_001e3c38 + uVar20 * 8" (cast_expression "(long)&DAT_001e3c38" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (pointer_expression "&DAT_001e3c38" (& "&") (identifier "DAT_001e3c38"))) (+ "+") (binary_expression "uVar20 * 8" (identifier "uVar20") (* "*") (number_literal "8"))) (+ "+") (number_literal "2")) () ")")))) (; ";")) (expression_statement "*pbVar5 = *pbVar5 | 1;" (assignment_expression "*pbVar5 = *pbVar5 | 1" (pointer_expression "*pbVar5" (* "*") (identifier "pbVar5")) (= "=") (binary_expression "*pbVar5 | 1" (pointer_expression "*pbVar5" (* "*") (identifier "pbVar5")) (| "|") (number_literal "1"))) (; ";")) (} "}")) (else_clause "else {\n                pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n                *pbVar5 = *pbVar5 | 4;\n                iVar16 = 1;\n              }" (else "else") (compound_statement "{\n                pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);\n                *pbVar5 = *pbVar5 | 4;\n                iVar16 = 1;\n              }" ({ "{") (expression_statement "pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);" (assignment_expression "pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2)" (identifier "pbVar5") (= "=") (cast_expression "(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)&DAT_001e3c38 + uVar20 * 8 + 2)" (( "(") (binary_expression "(long)&DAT_001e3c38 + uVar20 * 8 + 2" (binary_expression "(long)&DAT_001e3c38 + uVar20 * 8" (cast_expression "(long)&DAT_001e3c38" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (pointer_expression "&DAT_001e3c38" (& "&") (identifier "DAT_001e3c38"))) (+ "+") (binary_expression "uVar20 * 8" (identifier "uVar20") (* "*") (number_literal "8"))) (+ "+") (number_literal "2")) () ")")))) (; ";")) (expression_statement "*pbVar5 = *pbVar5 | 4;" (assignment_expression "*pbVar5 = *pbVar5 | 4" (pointer_expression "*pbVar5" (* "*") (identifier "pbVar5")) (= "=") (binary_expression "*pbVar5 | 4" (pointer_expression "*pbVar5" (* "*") (identifier "pbVar5")) (| "|") (number_literal "4"))) (; ";")) (expression_statement "iVar16 = 1;" (assignment_expression "iVar16 = 1" (identifier "iVar16") (= "=") (number_literal "1")) (; ";")) (} "}")))) (} "}"))) (} "}")) (else_clause "else if (((&DAT_001e3c9c)[uVar20] == 0x179) || ((&DAT_001e3c9c)[uVar20] == 0x195)) {\n            DAT_001e3cf4 = 0;\n            goto LAB_00133b80;\n          }" (else "else") (if_statement "if (((&DAT_001e3c9c)[uVar20] == 0x179) || ((&DAT_001e3c9c)[uVar20] == 0x195)) {\n            DAT_001e3cf4 = 0;\n            goto LAB_00133b80;\n          }" (if "if") (parenthesized_expression "(((&DAT_001e3c9c)[uVar20] == 0x179) || ((&DAT_001e3c9c)[uVar20] == 0x195))" (( "(") (binary_expression "((&DAT_001e3c9c)[uVar20] == 0x179) || ((&DAT_001e3c9c)[uVar20] == 0x195)" (parenthesized_expression "((&DAT_001e3c9c)[uVar20] == 0x179)" (( "(") (binary_expression "(&DAT_001e3c9c)[uVar20] == 0x179" (subscript_expression "(&DAT_001e3c9c)[uVar20]" (parenthesized_expression "(&DAT_001e3c9c)" (( "(") (pointer_expression "&DAT_001e3c9c" (& "&") (identifier "DAT_001e3c9c")) () ")")) ([ "[") (identifier "uVar20") (] "]")) (== "==") (number_literal "0x179")) () ")")) (|| "||") (parenthesized_expression "((&DAT_001e3c9c)[uVar20] == 0x195)" (( "(") (binary_expression "(&DAT_001e3c9c)[uVar20] == 0x195" (subscript_expression "(&DAT_001e3c9c)[uVar20]" (parenthesized_expression "(&DAT_001e3c9c)" (( "(") (pointer_expression "&DAT_001e3c9c" (& "&") (identifier "DAT_001e3c9c")) () ")")) ([ "[") (identifier "uVar20") (] "]")) (== "==") (number_literal "0x195")) () ")"))) () ")")) (compound_statement "{\n            DAT_001e3cf4 = 0;\n            goto LAB_00133b80;\n          }" ({ "{") (expression_statement "DAT_001e3cf4 = 0;" (assignment_expression "DAT_001e3cf4 = 0" (identifier "DAT_001e3cf4") (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_00133b80;" (goto "goto") (statement_identifier "LAB_00133b80") (; ";")) (} "}"))))) (} "}")) (else_clause "else {\n          if (bVar21 != 0) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1b7c,"build_modrm_byte");\n          }\n          if (bVar7 == 3) {\n            if (DAT_001e3cb8 != 0) {\n              DAT_001e3cec = *(byte *)(DAT_001e3cb8 + 0x11) - 6;\n              goto LAB_0013317e;\n            }\n            DAT_001e3cec = 7;\n            puVar10 = ds;\n            iVar16 = 0;\n          }\n          else if (bVar7 == 5) {\n            if (DAT_001e3cb8 == 0) {\n              puVar10 = ss;\n              DAT_001e3cec = 6;\n              iVar16 = 0;\n              if ((*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f) == 0) {\n                pbVar5 = (byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2);\n                *pbVar5 = *pbVar5 | 1;\n                iVar16 = 1;\n              }\n            }\n            else {\n              DAT_001e3cec = *(byte *)(DAT_001e3cb8 + 0x11) - 4;\n              puVar10 = ss;\n              iVar16 = 0;\n            }\n          }\n          else {\n            DAT_001e3cec = bVar7 - 2;\nLAB_0013317e:\n            iVar16 = 0;\n            puVar10 = ds;\n          }\n        }" (else "else") (compound_statement "{\n          if (bVar21 != 0) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1b7c,"build_modrm_byte");\n          }\n          if (bVar7 == 3) {\n            if (DAT_001e3cb8 != 0) {\n              DAT_001e3cec = *(byte *)(DAT_001e3cb8 + 0x11) - 6;\n              goto LAB_0013317e;\n            }\n            DAT_001e3cec = 7;\n            puVar10 = ds;\n            iVar16 = 0;\n          }\n          else if (bVar7 == 5) {\n            if (DAT_001e3cb8 == 0) {\n              puVar10 = ss;\n              DAT_001e3cec = 6;\n              iVar16 = 0;\n              if ((*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f) == 0) {\n                pbVar5 = (byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2);\n                *pbVar5 = *pbVar5 | 1;\n                iVar16 = 1;\n              }\n            }\n            else {\n              DAT_001e3cec = *(byte *)(DAT_001e3cb8 + 0x11) - 4;\n              puVar10 = ss;\n              iVar16 = 0;\n            }\n          }\n          else {\n            DAT_001e3cec = bVar7 - 2;\nLAB_0013317e:\n            iVar16 = 0;\n            puVar10 = ds;\n          }\n        }" ({ "{") (if_statement "if (bVar21 != 0) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1b7c,"build_modrm_byte");\n          }" (if "if") (parenthesized_expression "(bVar21 != 0)" (( "(") (binary_expression "bVar21 != 0" (identifier "bVar21") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1b7c,"build_modrm_byte");\n          }" ({ "{") (expression_statement "FUN_0011dd00("../../gas/config/tc-i386.c",0x1b7c,"build_modrm_byte");" (call_expression "FUN_0011dd00("../../gas/config/tc-i386.c",0x1b7c,"build_modrm_byte")" (identifier "FUN_0011dd00") (argument_list "("../../gas/config/tc-i386.c",0x1b7c,"build_modrm_byte")" (( "(") (string_literal ""../../gas/config/tc-i386.c"" (" """) (string_content "../../gas/config/tc-i386.c") (" """)) (, ",") (number_literal "0x1b7c") (, ",") (string_literal ""build_modrm_byte"" (" """) (string_content "build_modrm_byte") (" """)) () ")"))) (; ";")) (} "}"))) (if_statement "if (bVar7 == 3) {\n            if (DAT_001e3cb8 != 0) {\n              DAT_001e3cec = *(byte *)(DAT_001e3cb8 + 0x11) - 6;\n              goto LAB_0013317e;\n            }\n            DAT_001e3cec = 7;\n            puVar10 = ds;\n            iVar16 = 0;\n          }\n          else if (bVar7 == 5) {\n            if (DAT_001e3cb8 == 0) {\n              puVar10 = ss;\n              DAT_001e3cec = 6;\n              iVar16 = 0;\n              if ((*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f) == 0) {\n                pbVar5 = (byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2);\n                *pbVar5 = *pbVar5 | 1;\n                iVar16 = 1;\n              }\n            }\n            else {\n              DAT_001e3cec = *(byte *)(DAT_001e3cb8 + 0x11) - 4;\n              puVar10 = ss;\n              iVar16 = 0;\n            }\n          }\n          else {\n            DAT_001e3cec = bVar7 - 2;\nLAB_0013317e:\n            iVar16 = 0;\n            puVar10 = ds;\n          }" (if "if") (parenthesized_expression "(bVar7 == 3)" (( "(") (binary_expression "bVar7 == 3" (identifier "bVar7") (== "==") (number_literal "3")) () ")")) (compound_statement "{\n            if (DAT_001e3cb8 != 0) {\n              DAT_001e3cec = *(byte *)(DAT_001e3cb8 + 0x11) - 6;\n              goto LAB_0013317e;\n            }\n            DAT_001e3cec = 7;\n            puVar10 = ds;\n            iVar16 = 0;\n          }" ({ "{") (if_statement "if (DAT_001e3cb8 != 0) {\n              DAT_001e3cec = *(byte *)(DAT_001e3cb8 + 0x11) - 6;\n              goto LAB_0013317e;\n            }" (if "if") (parenthesized_expression "(DAT_001e3cb8 != 0)" (( "(") (binary_expression "DAT_001e3cb8 != 0" (identifier "DAT_001e3cb8") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n              DAT_001e3cec = *(byte *)(DAT_001e3cb8 + 0x11) - 6;\n              goto LAB_0013317e;\n            }" ({ "{") (expression_statement "DAT_001e3cec = *(byte *)(DAT_001e3cb8 + 0x11) - 6;" (assignment_expression "DAT_001e3cec = *(byte *)(DAT_001e3cb8 + 0x11) - 6" (identifier "DAT_001e3cec") (= "=") (binary_expression "*(byte *)(DAT_001e3cb8 + 0x11) - 6" (pointer_expression "*(byte *)(DAT_001e3cb8 + 0x11)" (* "*") (cast_expression "(byte *)(DAT_001e3cb8 + 0x11)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_001e3cb8 + 0x11)" (( "(") (binary_expression "DAT_001e3cb8 + 0x11" (identifier "DAT_001e3cb8") (+ "+") (number_literal "0x11")) () ")")))) (- "-") (number_literal "6"))) (; ";")) (goto_statement "goto LAB_0013317e;" (goto "goto") (statement_identifier "LAB_0013317e") (; ";")) (} "}"))) (expression_statement "DAT_001e3cec = 7;" (assignment_expression "DAT_001e3cec = 7" (identifier "DAT_001e3cec") (= "=") (number_literal "7")) (; ";")) (expression_statement "puVar10 = ds;" (assignment_expression "puVar10 = ds" (identifier "puVar10") (= "=") (identifier "ds")) (; ";")) (expression_statement "iVar16 = 0;" (assignment_expression "iVar16 = 0" (identifier "iVar16") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else if (bVar7 == 5) {\n            if (DAT_001e3cb8 == 0) {\n              puVar10 = ss;\n              DAT_001e3cec = 6;\n              iVar16 = 0;\n              if ((*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f) == 0) {\n                pbVar5 = (byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2);\n                *pbVar5 = *pbVar5 | 1;\n                iVar16 = 1;\n              }\n            }\n            else {\n              DAT_001e3cec = *(byte *)(DAT_001e3cb8 + 0x11) - 4;\n              puVar10 = ss;\n              iVar16 = 0;\n            }\n          }\n          else {\n            DAT_001e3cec = bVar7 - 2;\nLAB_0013317e:\n            iVar16 = 0;\n            puVar10 = ds;\n          }" (else "else") (if_statement "if (bVar7 == 5) {\n            if (DAT_001e3cb8 == 0) {\n              puVar10 = ss;\n              DAT_001e3cec = 6;\n              iVar16 = 0;\n              if ((*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f) == 0) {\n                pbVar5 = (byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2);\n                *pbVar5 = *pbVar5 | 1;\n                iVar16 = 1;\n              }\n            }\n            else {\n              DAT_001e3cec = *(byte *)(DAT_001e3cb8 + 0x11) - 4;\n              puVar10 = ss;\n              iVar16 = 0;\n            }\n          }\n          else {\n            DAT_001e3cec = bVar7 - 2;\nLAB_0013317e:\n            iVar16 = 0;\n            puVar10 = ds;\n          }" (if "if") (parenthesized_expression "(bVar7 == 5)" (( "(") (binary_expression "bVar7 == 5" (identifier "bVar7") (== "==") (number_literal "5")) () ")")) (compound_statement "{\n            if (DAT_001e3cb8 == 0) {\n              puVar10 = ss;\n              DAT_001e3cec = 6;\n              iVar16 = 0;\n              if ((*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f) == 0) {\n                pbVar5 = (byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2);\n                *pbVar5 = *pbVar5 | 1;\n                iVar16 = 1;\n              }\n            }\n            else {\n              DAT_001e3cec = *(byte *)(DAT_001e3cb8 + 0x11) - 4;\n              puVar10 = ss;\n              iVar16 = 0;\n            }\n          }" ({ "{") (if_statement "if (DAT_001e3cb8 == 0) {\n              puVar10 = ss;\n              DAT_001e3cec = 6;\n              iVar16 = 0;\n              if ((*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f) == 0) {\n                pbVar5 = (byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2);\n                *pbVar5 = *pbVar5 | 1;\n                iVar16 = 1;\n              }\n            }\n            else {\n              DAT_001e3cec = *(byte *)(DAT_001e3cb8 + 0x11) - 4;\n              puVar10 = ss;\n              iVar16 = 0;\n            }" (if "if") (parenthesized_expression "(DAT_001e3cb8 == 0)" (( "(") (binary_expression "DAT_001e3cb8 == 0" (identifier "DAT_001e3cb8") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              puVar10 = ss;\n              DAT_001e3cec = 6;\n              iVar16 = 0;\n              if ((*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f) == 0) {\n                pbVar5 = (byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2);\n                *pbVar5 = *pbVar5 | 1;\n                iVar16 = 1;\n              }\n            }" ({ "{") (expression_statement "puVar10 = ss;" (assignment_expression "puVar10 = ss" (identifier "puVar10") (= "=") (identifier "ss")) (; ";")) (expression_statement "DAT_001e3cec = 6;" (assignment_expression "DAT_001e3cec = 6" (identifier "DAT_001e3cec") (= "=") (number_literal "6")) (; ";")) (expression_statement "iVar16 = 0;" (assignment_expression "iVar16 = 0" (identifier "iVar16") (= "=") (number_literal "0")) (; ";")) (if_statement "if ((*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f) == 0) {\n                pbVar5 = (byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2);\n                *pbVar5 = *pbVar5 | 1;\n                iVar16 = 1;\n              }" (if "if") (parenthesized_expression "((*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f) == 0)" (( "(") (binary_expression "(*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f) == 0" (parenthesized_expression "(*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f)" (( "(") (binary_expression "*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f" (pointer_expression "*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2)" (* "*") (cast_expression "(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2)" (( "(") (binary_expression "(long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2" (binary_expression "(long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8" (cast_expression "(long)&DAT_001e3bc8" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (pointer_expression "&DAT_001e3bc8" (& "&") (identifier "DAT_001e3bc8"))) (+ "+") (binary_expression "(uVar20 + 0xe) * 8" (parenthesized_expression "(uVar20 + 0xe)" (( "(") (binary_expression "uVar20 + 0xe" (identifier "uVar20") (+ "+") (number_literal "0xe")) () ")")) (* "*") (number_literal "8"))) (+ "+") (number_literal "2")) () ")")))) (& "&") (number_literal "0x1f")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                pbVar5 = (byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2);\n                *pbVar5 = *pbVar5 | 1;\n                iVar16 = 1;\n              }" ({ "{") (expression_statement "pbVar5 = (byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2);" (assignment_expression "pbVar5 = (byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2)" (identifier "pbVar5") (= "=") (cast_expression "(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2)" (( "(") (binary_expression "(long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2" (binary_expression "(long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8" (cast_expression "(long)&DAT_001e3bc8" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (pointer_expression "&DAT_001e3bc8" (& "&") (identifier "DAT_001e3bc8"))) (+ "+") (binary_expression "(uVar20 + 0xe) * 8" (parenthesized_expression "(uVar20 + 0xe)" (( "(") (binary_expression "uVar20 + 0xe" (identifier "uVar20") (+ "+") (number_literal "0xe")) () ")")) (* "*") (number_literal "8"))) (+ "+") (number_literal "2")) () ")")))) (; ";")) (expression_statement "*pbVar5 = *pbVar5 | 1;" (assignment_expression "*pbVar5 = *pbVar5 | 1" (pointer_expression "*pbVar5" (* "*") (identifier "pbVar5")) (= "=") (binary_expression "*pbVar5 | 1" (pointer_expression "*pbVar5" (* "*") (identifier "pbVar5")) (| "|") (number_literal "1"))) (; ";")) (expression_statement "iVar16 = 1;" (assignment_expression "iVar16 = 1" (identifier "iVar16") (= "=") (number_literal "1")) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n              DAT_001e3cec = *(byte *)(DAT_001e3cb8 + 0x11) - 4;\n              puVar10 = ss;\n              iVar16 = 0;\n            }" (else "else") (compound_statement "{\n              DAT_001e3cec = *(byte *)(DAT_001e3cb8 + 0x11) - 4;\n              puVar10 = ss;\n              iVar16 = 0;\n            }" ({ "{") (expression_statement "DAT_001e3cec = *(byte *)(DAT_001e3cb8 + 0x11) - 4;" (assignment_expression "DAT_001e3cec = *(byte *)(DAT_001e3cb8 + 0x11) - 4" (identifier "DAT_001e3cec") (= "=") (binary_expression "*(byte *)(DAT_001e3cb8 + 0x11) - 4" (pointer_expression "*(byte *)(DAT_001e3cb8 + 0x11)" (* "*") (cast_expression "(byte *)(DAT_001e3cb8 + 0x11)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_001e3cb8 + 0x11)" (( "(") (binary_expression "DAT_001e3cb8 + 0x11" (identifier "DAT_001e3cb8") (+ "+") (number_literal "0x11")) () ")")))) (- "-") (number_literal "4"))) (; ";")) (expression_statement "puVar10 = ss;" (assignment_expression "puVar10 = ss" (identifier "puVar10") (= "=") (identifier "ss")) (; ";")) (expression_statement "iVar16 = 0;" (assignment_expression "iVar16 = 0" (identifier "iVar16") (= "=") (number_literal "0")) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n            DAT_001e3cec = bVar7 - 2;\nLAB_0013317e:\n            iVar16 = 0;\n            puVar10 = ds;\n          }" (else "else") (compound_statement "{\n            DAT_001e3cec = bVar7 - 2;\nLAB_0013317e:\n            iVar16 = 0;\n            puVar10 = ds;\n          }" ({ "{") (expression_statement "DAT_001e3cec = bVar7 - 2;" (assignment_expression "DAT_001e3cec = bVar7 - 2" (identifier "DAT_001e3cec") (= "=") (binary_expression "bVar7 - 2" (identifier "bVar7") (- "-") (number_literal "2"))) (; ";")) (labeled_statement "LAB_0013317e:\n            iVar16 = 0;" (statement_identifier "LAB_0013317e") (: ":") (expression_statement "iVar16 = 0;" (assignment_expression "iVar16 = 0" (identifier "iVar16") (= "=") (number_literal "0")) (; ";"))) (expression_statement "puVar10 = ds;" (assignment_expression "puVar10 = ds" (identifier "puVar10") (= "=") (identifier "ds")) (; ";")) (} "}")))))) (} "}")))) (expression_statement "DAT_001e3cf4 = 1;" (assignment_expression "DAT_001e3cf4 = 1" (identifier "DAT_001e3cf4") (= "=") (number_literal "1")) (; ";")) (if_statement "if (((ulong)(&DAT_001e3c38)[uVar20] >> 0x10 & 1) == 0) {\n          DAT_001e3cf4 = (uint)(((&DAT_001e3c38)[uVar20] & 0xe0000) != 0) * 2;\n        }" (if "if") (parenthesized_expression "(((ulong)(&DAT_001e3c38)[uVar20] >> 0x10 & 1) == 0)" (( "(") (binary_expression "((ulong)(&DAT_001e3c38)[uVar20] >> 0x10 & 1) == 0" (parenthesized_expression "((ulong)(&DAT_001e3c38)[uVar20] >> 0x10 & 1)" (( "(") (binary_expression "(ulong)(&DAT_001e3c38)[uVar20] >> 0x10 & 1" (binary_expression "(ulong)(&DAT_001e3c38)[uVar20] >> 0x10" (subscript_expression "(ulong)(&DAT_001e3c38)[uVar20]" (call_expression "(ulong)(&DAT_001e3c38)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(&DAT_001e3c38)" (( "(") (pointer_expression "&DAT_001e3c38" (& "&") (identifier "DAT_001e3c38")) () ")"))) ([ "[") (identifier "uVar20") (] "]")) (>> ">>") (number_literal "0x10")) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          DAT_001e3cf4 = (uint)(((&DAT_001e3c38)[uVar20] & 0xe0000) != 0) * 2;\n        }" ({ "{") (expression_statement "DAT_001e3cf4 = (uint)(((&DAT_001e3c38)[uVar20] & 0xe0000) != 0) * 2;" (assignment_expression "DAT_001e3cf4 = (uint)(((&DAT_001e3c38)[uVar20] & 0xe0000) != 0) * 2" (identifier "DAT_001e3cf4") (= "=") (binary_expression "(uint)(((&DAT_001e3c38)[uVar20] & 0xe0000) != 0) * 2" (call_expression "(uint)(((&DAT_001e3c38)[uVar20] & 0xe0000) != 0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(((&DAT_001e3c38)[uVar20] & 0xe0000) != 0)" (( "(") (binary_expression "((&DAT_001e3c38)[uVar20] & 0xe0000) != 0" (parenthesized_expression "((&DAT_001e3c38)[uVar20] & 0xe0000)" (( "(") (binary_expression "(&DAT_001e3c38)[uVar20] & 0xe0000" (subscript_expression "(&DAT_001e3c38)[uVar20]" (parenthesized_expression "(&DAT_001e3c38)" (( "(") (pointer_expression "&DAT_001e3c38" (& "&") (identifier "DAT_001e3c38")) () ")")) ([ "[") (identifier "uVar20") (] "]")) (& "&") (number_literal "0xe0000")) () ")")) (!= "!=") (number_literal "0")) () ")"))) (* "*") (number_literal "2"))) (; ";")) (} "}"))) (goto_statement "goto LAB_00133b80;" (goto "goto") (statement_identifier "LAB_00133b80") (; ";")) (} "}"))) (if_statement "if (bVar21 != 0) {\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1b6f,"build_modrm_byte");\n      }" (if "if") (parenthesized_expression "(bVar21 != 0)" (( "(") (binary_expression "bVar21 != 0" (identifier "bVar21") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1b6f,"build_modrm_byte");\n      }" ({ "{") (expression_statement "FUN_0011dd00("../../gas/config/tc-i386.c",0x1b6f,"build_modrm_byte");" (call_expression "FUN_0011dd00("../../gas/config/tc-i386.c",0x1b6f,"build_modrm_byte")" (identifier "FUN_0011dd00") (argument_list "("../../gas/config/tc-i386.c",0x1b6f,"build_modrm_byte")" (( "(") (string_literal ""../../gas/config/tc-i386.c"" (" """) (string_content "../../gas/config/tc-i386.c") (" """)) (, ",") (number_literal "0x1b6f") (, ",") (string_literal ""build_modrm_byte"" (" """) (string_content "build_modrm_byte") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "DAT_001e3cec = 5;" (assignment_expression "DAT_001e3cec = 5" (identifier "DAT_001e3cec") (= "=") (number_literal "5")) (; ";")) (expression_statement "*(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) =\n           *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xe0 | 8;" (assignment_expression "*(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) =\n           *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xe0 | 8" (pointer_expression "*(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2)" (* "*") (cast_expression "(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)&DAT_001e3c38 + uVar20 * 8 + 2)" (( "(") (binary_expression "(long)&DAT_001e3c38 + uVar20 * 8 + 2" (binary_expression "(long)&DAT_001e3c38 + uVar20 * 8" (cast_expression "(long)&DAT_001e3c38" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (pointer_expression "&DAT_001e3c38" (& "&") (identifier "DAT_001e3c38"))) (+ "+") (binary_expression "uVar20 * 8" (identifier "uVar20") (* "*") (number_literal "8"))) (+ "+") (number_literal "2")) () ")")))) (= "=") (binary_expression "*(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xe0 | 8" (binary_expression "*(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xe0" (pointer_expression "*(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2)" (* "*") (cast_expression "(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)&DAT_001e3c38 + uVar20 * 8 + 2)" (( "(") (binary_expression "(long)&DAT_001e3c38 + uVar20 * 8 + 2" (binary_expression "(long)&DAT_001e3c38 + uVar20 * 8" (cast_expression "(long)&DAT_001e3c38" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (pointer_expression "&DAT_001e3c38" (& "&") (identifier "DAT_001e3c38"))) (+ "+") (binary_expression "uVar20 * 8" (identifier "uVar20") (* "*") (number_literal "8"))) (+ "+") (number_literal "2")) () ")")))) (& "&") (number_literal "0xe0")) (| "|") (number_literal "8"))) (; ";")) (expression_statement "uVar15 = DAT_001e3c2c;" (assignment_expression "uVar15 = DAT_001e3c2c" (identifier "uVar15") (= "=") (identifier "DAT_001e3c2c")) (; ";")) (expression_statement "(&DAT_001e3c88)[uVar20] = (&DAT_001e3c88)[uVar20] | 1;" (assignment_expression "(&DAT_001e3c88)[uVar20] = (&DAT_001e3c88)[uVar20] | 1" (subscript_expression "(&DAT_001e3c88)[uVar20]" (parenthesized_expression "(&DAT_001e3c88)" (( "(") (pointer_expression "&DAT_001e3c88" (& "&") (identifier "DAT_001e3c88")) () ")")) ([ "[") (identifier "uVar20") (] "]")) (= "=") (binary_expression "(&DAT_001e3c88)[uVar20] | 1" (subscript_expression "(&DAT_001e3c88)[uVar20]" (parenthesized_expression "(&DAT_001e3c88)" (( "(") (pointer_expression "&DAT_001e3c88" (& "&") (identifier "DAT_001e3c88")) () ")")) ([ "[") (identifier "uVar20") (] "]")) (| "|") (number_literal "1"))) (; ";")) (if_statement "if (uVar15 != 0) {\nLAB_00133424:\n        puVar10 = ds;\n        goto LAB_00133089;\n      }" (if "if") (parenthesized_expression "(uVar15 != 0)" (( "(") (binary_expression "uVar15 != 0" (identifier "uVar15") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\nLAB_00133424:\n        puVar10 = ds;\n        goto LAB_00133089;\n      }" ({ "{") (labeled_statement "LAB_00133424:\n        puVar10 = ds;" (statement_identifier "LAB_00133424") (: ":") (expression_statement "puVar10 = ds;" (assignment_expression "puVar10 = ds" (identifier "puVar10") (= "=") (identifier "ds")) (; ";"))) (goto_statement "goto LAB_00133089;" (goto "goto") (statement_identifier "LAB_00133089") (; ";")) (} "}"))) (labeled_statement "LAB_00133a60:\n      puVar10 = ds;" (statement_identifier "LAB_00133a60") (: ":") (expression_statement "puVar10 = ds;" (assignment_expression "puVar10 = ds" (identifier "puVar10") (= "=") (identifier "ds")) (; ";"))) (labeled_statement "LAB_00133a67:\n      if ((&DAT_001e3bc0)[uVar20 + 0x14] != 0) {\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1bed,"build_modrm_byte");\n      }" (statement_identifier "LAB_00133a67") (: ":") (if_statement "if ((&DAT_001e3bc0)[uVar20 + 0x14] != 0) {\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1bed,"build_modrm_byte");\n      }" (if "if") (parenthesized_expression "((&DAT_001e3bc0)[uVar20 + 0x14] != 0)" (( "(") (binary_expression "(&DAT_001e3bc0)[uVar20 + 0x14] != 0" (subscript_expression "(&DAT_001e3bc0)[uVar20 + 0x14]" (parenthesized_expression "(&DAT_001e3bc0)" (( "(") (pointer_expression "&DAT_001e3bc0" (& "&") (identifier "DAT_001e3bc0")) () ")")) ([ "[") (binary_expression "uVar20 + 0x14" (identifier "uVar20") (+ "+") (number_literal "0x14")) (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                    \n        FUN_0011dd00("../../gas/config/tc-i386.c",0x1bed,"build_modrm_byte");\n      }" ({ "{") (expression_statement "FUN_0011dd00("../../gas/config/tc-i386.c",0x1bed,"build_modrm_byte");" (call_expression "FUN_0011dd00("../../gas/config/tc-i386.c",0x1bed,"build_modrm_byte")" (identifier "FUN_0011dd00") (argument_list "("../../gas/config/tc-i386.c",0x1bed,"build_modrm_byte")" (( "(") (string_literal ""../../gas/config/tc-i386.c"" (" """) (string_content "../../gas/config/tc-i386.c") (" """)) (, ",") (number_literal "0x1bed") (, ",") (string_literal ""build_modrm_byte"" (" """) (string_content "build_modrm_byte") (" """)) () ")"))) (; ";")) (} "}")))) (expression_statement "uVar9 = (ulong)DAT_001e3c2c;" (assignment_expression "uVar9 = (ulong)DAT_001e3c2c" (identifier "uVar9") (= "=") (cast_expression "(ulong)DAT_001e3c2c" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "DAT_001e3c2c"))) (; ";")) (expression_statement "DAT_001e3c2c = DAT_001e3c2c + 1;" (assignment_expression "DAT_001e3c2c = DAT_001e3c2c + 1" (identifier "DAT_001e3c2c") (= "=") (binary_expression "DAT_001e3c2c + 1" (identifier "DAT_001e3c2c") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "lVar13 = uVar9 * 0x20;" (assignment_expression "lVar13 = uVar9 * 0x20" (identifier "lVar13") (= "=") (binary_expression "uVar9 * 0x20" (identifier "uVar9") (* "*") (number_literal "0x20"))) (; ";")) (expression_statement "(&DAT_001e3bc0)[uVar20 + 0x14] = &DAT_001e3b60 + lVar13;" (assignment_expression "(&DAT_001e3bc0)[uVar20 + 0x14] = &DAT_001e3b60 + lVar13" (subscript_expression "(&DAT_001e3bc0)[uVar20 + 0x14]" (parenthesized_expression "(&DAT_001e3bc0)" (( "(") (pointer_expression "&DAT_001e3bc0" (& "&") (identifier "DAT_001e3bc0")) () ")")) ([ "[") (binary_expression "uVar20 + 0x14" (identifier "uVar20") (+ "+") (number_literal "0x14")) (] "]")) (= "=") (binary_expression "&DAT_001e3b60 + lVar13" (pointer_expression "&DAT_001e3b60" (& "&") (identifier "DAT_001e3b60")) (+ "+") (identifier "lVar13"))) (; ";")) (expression_statement "(&DAT_001e3b78)[lVar13] = 2;" (assignment_expression "(&DAT_001e3b78)[lVar13] = 2" (subscript_expression "(&DAT_001e3b78)[lVar13]" (parenthesized_expression "(&DAT_001e3b78)" (( "(") (pointer_expression "&DAT_001e3b78" (& "&") (identifier "DAT_001e3b78")) () ")")) ([ "[") (identifier "lVar13") (] "]")) (= "=") (number_literal "2")) (; ";")) (expression_statement "*(undefined8 *)(&DAT_001e3b70 + lVar13) = 0;" (assignment_expression "*(undefined8 *)(&DAT_001e3b70 + lVar13) = 0" (pointer_expression "*(undefined8 *)(&DAT_001e3b70 + lVar13)" (* "*") (cast_expression "(undefined8 *)(&DAT_001e3b70 + lVar13)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_001e3b70 + lVar13)" (( "(") (binary_expression "&DAT_001e3b70 + lVar13" (pointer_expression "&DAT_001e3b70" (& "&") (identifier "DAT_001e3b70")) (+ "+") (identifier "lVar13")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined8 *)(&DAT_001e3b60 + lVar13) = 0;" (assignment_expression "*(undefined8 *)(&DAT_001e3b60 + lVar13) = 0" (pointer_expression "*(undefined8 *)(&DAT_001e3b60 + lVar13)" (* "*") (cast_expression "(undefined8 *)(&DAT_001e3b60 + lVar13)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_001e3b60 + lVar13)" (( "(") (binary_expression "&DAT_001e3b60 + lVar13" (pointer_expression "&DAT_001e3b60" (& "&") (identifier "DAT_001e3b60")) (+ "+") (identifier "lVar13")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined8 *)(&DAT_001e3b68 + lVar13) = 0;" (assignment_expression "*(undefined8 *)(&DAT_001e3b68 + lVar13) = 0" (pointer_expression "*(undefined8 *)(&DAT_001e3b68 + lVar13)" (* "*") (cast_expression "(undefined8 *)(&DAT_001e3b68 + lVar13)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_001e3b68 + lVar13)" (( "(") (binary_expression "&DAT_001e3b68 + lVar13" (pointer_expression "&DAT_001e3b68" (& "&") (identifier "DAT_001e3b68")) (+ "+") (identifier "lVar13")) () ")")))) (= "=") (number_literal "0")) (; ";")) (} "}")))) (expression_statement "bVar14 = DAT_001e3bee & 0xc;" (assignment_expression "bVar14 = DAT_001e3bee & 0xc" (identifier "bVar14") (= "=") (binary_expression "DAT_001e3bee & 0xc" (identifier "DAT_001e3bee") (& "&") (number_literal "0xc"))) (; ";")) (} "}")))) (labeled_statement "LAB_00133089:\n  if (bVar14 == 4) {\n    if ((DAT_001e3c38._1_1_ & 0xfc) == 0) {\n      if ((DAT_001e3bed & 0x60) == 0x20) {\n        DAT_001e3d18 = DAT_001e3c60;\n      }\n      else {\n        DAT_001e3d18 = DAT_001e3c68;\n      }\n    }\n    else {\n      DAT_001e3d18 = 0;\n    }\n    DAT_001e3cf0 = (uint)*(byte *)(DAT_001e3c70 + 0x11);\n    if ((*(byte *)(DAT_001e3c70 + 0x10) & 1) != 0) {\n      DAT_001e3cf8 = DAT_001e3cf8 | 4;\n    }\n    if (DAT_001e3c30 != 0) goto LAB_001330bc;\n    if ((DAT_001e3bed & 0x60) == 0x20) {\n      bVar21 = *(byte *)(DAT_001e3c68 + 0x11);\n    }\n    else {\n      bVar21 = *(byte *)(DAT_001e3c60 + 0x11);\n    }\n    bVar19 = *(byte *)(DAT_001e3c68 + 0x10);\n  }\n  else {\n    bVar21 = DAT_001e3bed & 0x18;\n    if (bVar21 != 0x18) {\n      if (DAT_001e3c28 == 0) goto LAB_001330bc;\n      if ((((DAT_001e3c24 == 0) || (((byte)DAT_001e3c38 & 1) != 0)) ||\n          (((byte)DAT_001e3c38 & 2) != 0)) ||\n         ((((byte)DAT_001e3c38 & 4) != 0 || ((DAT_001e3c38._5_1_ & 2) != 0)))) {\n        uVar20 = 0;\n      }\n      else {\n        uVar20 = 0;\n        if (((byte)DAT_001e3c38 & 8) == 0) {\n          uVar9 = 0;\n          while( true ) {\n            bVar14 = *(byte *)(&DAT_001e3bc8 + (uVar9 + 0xe) * 2);\n            if ((((char)bVar14 < '\0') ||\n                ((*(byte *)((long)&DAT_001e3bc8 + (uVar9 + 0xe) * 8 + 1) & 1) != 0)) ||\n               (((bVar14 & 0x10) != 0 || (((bVar14 & 0x20) != 0 || ((bVar14 & 0x40) != 0))))))\n            goto LAB_00133670;\n            uVar15 = (int)uVar20 + 1;\n            uVar20 = (ulong)uVar15;\n            if (DAT_001e3c24 == uVar15) break;\n            uVar9 = (ulong)uVar15;\n            bVar14 = *(byte *)(&DAT_001e3bc8 + (uVar9 + 0xe) * 2);\n            if (((((bVar14 & 1) != 0) || ((bVar14 & 2) != 0)) || ((bVar14 & 4) != 0)) ||\n               (((*(byte *)((long)&DAT_001e3bcc + (uVar9 + 0xe) * 8 + 1) & 2) != 0 ||\n                ((*(byte *)(&DAT_001e3c38 + uVar9) & 8) != 0)))) goto LAB_00133670;\n          }\n          uVar20 = (ulong)DAT_001e3c24;\n        }\n      }\nLAB_00133670:\n      uVar15 = (uint)uVar20;\n      if (bVar19 == 8) {\n        uVar15 = 0xffffffff;\n        uVar20 = uVar18;\nLAB_00133b96:\n        if (uVar15 != (uint)uVar20) goto LAB_001336a6;\n        if (DAT_001e3c30 != 0) goto LAB_001330bc;\n      }\n      else {\n        uVar18 = uVar20;\n        if (bVar21 == 8) {\n          if (uVar22 == 0xffffffff) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1c44,"build_modrm_byte");\n          }\n          uVar17 = uVar15 + 1;\n          uVar18 = (ulong)uVar17;\n          uVar9 = uVar20;\n          if (uVar22 < uVar15) {\n            if (DAT_001e3c24 <= uVar17) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c49,"build_modrm_byte");\n            }\n          }\n          else if ((((&DAT_001e3bf6)[uVar20 * 8] & 0x40) == 0) &&\n                  (((&DAT_001e3bf6)[uVar18 * 8] & 0x40) != 0)) {\n            if ((DAT_001e3c24 <= uVar15 + 2) || (uVar22 != uVar17)) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c55,"build_modrm_byte");\n            }\n            uVar18 = (ulong)(uVar15 + 2);\n          }\n          else {\n            uVar9 = uVar18;\n            uVar18 = uVar20;\n            uVar15 = uVar17;\n            if (DAT_001e3c24 <= uVar17) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c5a,"build_modrm_byte");\n            }\n          }\nLAB_00133e49:\n          lVar13 = uVar9 + 6;\n          bVar21 = *(byte *)((long)&DAT_001e3bc0 + lVar13 * 8 + 4);\n          if ((((bVar21 & 1) == 0) ||\n              ((-1 < *(char *)((long)&DAT_001e3bc0 + lVar13 * 8 + 7) &&\n               ((*(byte *)(&DAT_001e3bc8 + lVar13 * 2) & 2) == 0)))) &&\n             (((bVar21 & 4) == 0 &&\n              ((*(uint *)(&DAT_001e3bf8 + uVar9 * 8) != DAT_00153a54 ||\n               (*(int *)(&DAT_001e3bf4 + uVar9 * 8) != DAT_00153a50)))))) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1c7b,"build_modrm_byte");\n          }\n          DAT_001e3d18 = (&DAT_001e3c60)[uVar9];\n          uVar20 = uVar18;\n          goto LAB_00133b96;\n        }\n        if (bVar21 == 0x10) {\n          if (DAT_001e3c30 == 0) {\n            if (DAT_001e3c24 != uVar15 + 2) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c65,"build_modrm_byte");\n            }\n            uVar9 = (ulong)(uVar15 + 1);\n            uVar15 = uVar15 + 1;\n          }\n          else {\n            if ((DAT_001e3c34 + 2 <= uVar15) || (DAT_001e3c24 != DAT_001e3c34 + 2)) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c6c,"build_modrm_byte");\n            }\n            uVar15 = DAT_001e3c34 + 1;\n            if (uVar15 == 0xffffffff) goto LAB_001336a6;\n            uVar9 = (ulong)uVar15;\n          }\n          goto LAB_00133e49;\n        }\n        if (DAT_001e3c24 <= uVar15) {\n                    \n          FUN_0011dd00("../../gas/config/tc-i386.c",0x1c71,"build_modrm_byte");\n        }\nLAB_001336a6:\n        if (DAT_001e3bd0 == 0xffff) {\n          DAT_001e3cf0 = (uint)*(byte *)((&DAT_001e3c60)[uVar20] + 0x11);\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar20] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 4;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 4;\n          }\n          if (DAT_001e3c30 == 0) {\n            DAT_001e3cf4 = 3;\n            return puVar10;\n          }\n          return puVar10;\n        }\n        DAT_001e3cec = (uint)*(byte *)((&DAT_001e3c60)[uVar20] + 0x11);\n        bVar21 = *(byte *)((&DAT_001e3c60)[uVar20] + 0x10);\n        if ((bVar21 & 1) != 0) {\n          DAT_001e3cf8 = DAT_001e3cf8 | 1;\n        }\n        if ((bVar21 & 4) != 0) {\n          DAT_001e3cfc = DAT_001e3cfc | 1;\n        }\n        if (DAT_001e3c30 != 0) {\n          DAT_001e3cf0 = DAT_001e3bd0;\n          return puVar10;\n        }\n      }\n      DAT_001e3cf4 = 3;\n      goto LAB_001330bc;\n    }\n    DAT_001e3d18 = DAT_001e3c70;\n    if (DAT_001e3c30 != 0) goto LAB_001330bc;\n    bVar21 = *(byte *)(DAT_001e3c68 + 0x11);\n    bVar19 = *(byte *)(DAT_001e3c68 + 0x10);\n  }" (statement_identifier "LAB_00133089") (: ":") (if_statement "if (bVar14 == 4) {\n    if ((DAT_001e3c38._1_1_ & 0xfc) == 0) {\n      if ((DAT_001e3bed & 0x60) == 0x20) {\n        DAT_001e3d18 = DAT_001e3c60;\n      }\n      else {\n        DAT_001e3d18 = DAT_001e3c68;\n      }\n    }\n    else {\n      DAT_001e3d18 = 0;\n    }\n    DAT_001e3cf0 = (uint)*(byte *)(DAT_001e3c70 + 0x11);\n    if ((*(byte *)(DAT_001e3c70 + 0x10) & 1) != 0) {\n      DAT_001e3cf8 = DAT_001e3cf8 | 4;\n    }\n    if (DAT_001e3c30 != 0) goto LAB_001330bc;\n    if ((DAT_001e3bed & 0x60) == 0x20) {\n      bVar21 = *(byte *)(DAT_001e3c68 + 0x11);\n    }\n    else {\n      bVar21 = *(byte *)(DAT_001e3c60 + 0x11);\n    }\n    bVar19 = *(byte *)(DAT_001e3c68 + 0x10);\n  }\n  else {\n    bVar21 = DAT_001e3bed & 0x18;\n    if (bVar21 != 0x18) {\n      if (DAT_001e3c28 == 0) goto LAB_001330bc;\n      if ((((DAT_001e3c24 == 0) || (((byte)DAT_001e3c38 & 1) != 0)) ||\n          (((byte)DAT_001e3c38 & 2) != 0)) ||\n         ((((byte)DAT_001e3c38 & 4) != 0 || ((DAT_001e3c38._5_1_ & 2) != 0)))) {\n        uVar20 = 0;\n      }\n      else {\n        uVar20 = 0;\n        if (((byte)DAT_001e3c38 & 8) == 0) {\n          uVar9 = 0;\n          while( true ) {\n            bVar14 = *(byte *)(&DAT_001e3bc8 + (uVar9 + 0xe) * 2);\n            if ((((char)bVar14 < '\0') ||\n                ((*(byte *)((long)&DAT_001e3bc8 + (uVar9 + 0xe) * 8 + 1) & 1) != 0)) ||\n               (((bVar14 & 0x10) != 0 || (((bVar14 & 0x20) != 0 || ((bVar14 & 0x40) != 0))))))\n            goto LAB_00133670;\n            uVar15 = (int)uVar20 + 1;\n            uVar20 = (ulong)uVar15;\n            if (DAT_001e3c24 == uVar15) break;\n            uVar9 = (ulong)uVar15;\n            bVar14 = *(byte *)(&DAT_001e3bc8 + (uVar9 + 0xe) * 2);\n            if (((((bVar14 & 1) != 0) || ((bVar14 & 2) != 0)) || ((bVar14 & 4) != 0)) ||\n               (((*(byte *)((long)&DAT_001e3bcc + (uVar9 + 0xe) * 8 + 1) & 2) != 0 ||\n                ((*(byte *)(&DAT_001e3c38 + uVar9) & 8) != 0)))) goto LAB_00133670;\n          }\n          uVar20 = (ulong)DAT_001e3c24;\n        }\n      }\nLAB_00133670:\n      uVar15 = (uint)uVar20;\n      if (bVar19 == 8) {\n        uVar15 = 0xffffffff;\n        uVar20 = uVar18;\nLAB_00133b96:\n        if (uVar15 != (uint)uVar20) goto LAB_001336a6;\n        if (DAT_001e3c30 != 0) goto LAB_001330bc;\n      }\n      else {\n        uVar18 = uVar20;\n        if (bVar21 == 8) {\n          if (uVar22 == 0xffffffff) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1c44,"build_modrm_byte");\n          }\n          uVar17 = uVar15 + 1;\n          uVar18 = (ulong)uVar17;\n          uVar9 = uVar20;\n          if (uVar22 < uVar15) {\n            if (DAT_001e3c24 <= uVar17) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c49,"build_modrm_byte");\n            }\n          }\n          else if ((((&DAT_001e3bf6)[uVar20 * 8] & 0x40) == 0) &&\n                  (((&DAT_001e3bf6)[uVar18 * 8] & 0x40) != 0)) {\n            if ((DAT_001e3c24 <= uVar15 + 2) || (uVar22 != uVar17)) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c55,"build_modrm_byte");\n            }\n            uVar18 = (ulong)(uVar15 + 2);\n          }\n          else {\n            uVar9 = uVar18;\n            uVar18 = uVar20;\n            uVar15 = uVar17;\n            if (DAT_001e3c24 <= uVar17) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c5a,"build_modrm_byte");\n            }\n          }\nLAB_00133e49:\n          lVar13 = uVar9 + 6;\n          bVar21 = *(byte *)((long)&DAT_001e3bc0 + lVar13 * 8 + 4);\n          if ((((bVar21 & 1) == 0) ||\n              ((-1 < *(char *)((long)&DAT_001e3bc0 + lVar13 * 8 + 7) &&\n               ((*(byte *)(&DAT_001e3bc8 + lVar13 * 2) & 2) == 0)))) &&\n             (((bVar21 & 4) == 0 &&\n              ((*(uint *)(&DAT_001e3bf8 + uVar9 * 8) != DAT_00153a54 ||\n               (*(int *)(&DAT_001e3bf4 + uVar9 * 8) != DAT_00153a50)))))) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1c7b,"build_modrm_byte");\n          }\n          DAT_001e3d18 = (&DAT_001e3c60)[uVar9];\n          uVar20 = uVar18;\n          goto LAB_00133b96;\n        }\n        if (bVar21 == 0x10) {\n          if (DAT_001e3c30 == 0) {\n            if (DAT_001e3c24 != uVar15 + 2) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c65,"build_modrm_byte");\n            }\n            uVar9 = (ulong)(uVar15 + 1);\n            uVar15 = uVar15 + 1;\n          }\n          else {\n            if ((DAT_001e3c34 + 2 <= uVar15) || (DAT_001e3c24 != DAT_001e3c34 + 2)) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c6c,"build_modrm_byte");\n            }\n            uVar15 = DAT_001e3c34 + 1;\n            if (uVar15 == 0xffffffff) goto LAB_001336a6;\n            uVar9 = (ulong)uVar15;\n          }\n          goto LAB_00133e49;\n        }\n        if (DAT_001e3c24 <= uVar15) {\n                    \n          FUN_0011dd00("../../gas/config/tc-i386.c",0x1c71,"build_modrm_byte");\n        }\nLAB_001336a6:\n        if (DAT_001e3bd0 == 0xffff) {\n          DAT_001e3cf0 = (uint)*(byte *)((&DAT_001e3c60)[uVar20] + 0x11);\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar20] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 4;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 4;\n          }\n          if (DAT_001e3c30 == 0) {\n            DAT_001e3cf4 = 3;\n            return puVar10;\n          }\n          return puVar10;\n        }\n        DAT_001e3cec = (uint)*(byte *)((&DAT_001e3c60)[uVar20] + 0x11);\n        bVar21 = *(byte *)((&DAT_001e3c60)[uVar20] + 0x10);\n        if ((bVar21 & 1) != 0) {\n          DAT_001e3cf8 = DAT_001e3cf8 | 1;\n        }\n        if ((bVar21 & 4) != 0) {\n          DAT_001e3cfc = DAT_001e3cfc | 1;\n        }\n        if (DAT_001e3c30 != 0) {\n          DAT_001e3cf0 = DAT_001e3bd0;\n          return puVar10;\n        }\n      }\n      DAT_001e3cf4 = 3;\n      goto LAB_001330bc;\n    }\n    DAT_001e3d18 = DAT_001e3c70;\n    if (DAT_001e3c30 != 0) goto LAB_001330bc;\n    bVar21 = *(byte *)(DAT_001e3c68 + 0x11);\n    bVar19 = *(byte *)(DAT_001e3c68 + 0x10);\n  }" (if "if") (parenthesized_expression "(bVar14 == 4)" (( "(") (binary_expression "bVar14 == 4" (identifier "bVar14") (== "==") (number_literal "4")) () ")")) (compound_statement "{\n    if ((DAT_001e3c38._1_1_ & 0xfc) == 0) {\n      if ((DAT_001e3bed & 0x60) == 0x20) {\n        DAT_001e3d18 = DAT_001e3c60;\n      }\n      else {\n        DAT_001e3d18 = DAT_001e3c68;\n      }\n    }\n    else {\n      DAT_001e3d18 = 0;\n    }\n    DAT_001e3cf0 = (uint)*(byte *)(DAT_001e3c70 + 0x11);\n    if ((*(byte *)(DAT_001e3c70 + 0x10) & 1) != 0) {\n      DAT_001e3cf8 = DAT_001e3cf8 | 4;\n    }\n    if (DAT_001e3c30 != 0) goto LAB_001330bc;\n    if ((DAT_001e3bed & 0x60) == 0x20) {\n      bVar21 = *(byte *)(DAT_001e3c68 + 0x11);\n    }\n    else {\n      bVar21 = *(byte *)(DAT_001e3c60 + 0x11);\n    }\n    bVar19 = *(byte *)(DAT_001e3c68 + 0x10);\n  }" ({ "{") (if_statement "if ((DAT_001e3c38._1_1_ & 0xfc) == 0) {\n      if ((DAT_001e3bed & 0x60) == 0x20) {\n        DAT_001e3d18 = DAT_001e3c60;\n      }\n      else {\n        DAT_001e3d18 = DAT_001e3c68;\n      }\n    }\n    else {\n      DAT_001e3d18 = 0;\n    }" (if "if") (parenthesized_expression "((DAT_001e3c38._1_1_ & 0xfc) == 0)" (( "(") (binary_expression "(DAT_001e3c38._1_1_ & 0xfc) == 0" (parenthesized_expression "(DAT_001e3c38._1_1_ & 0xfc)" (( "(") (binary_expression "DAT_001e3c38._1_1_ & 0xfc" (field_expression "DAT_001e3c38._1_1_" (identifier "DAT_001e3c38") (. ".") (field_identifier "_1_1_")) (& "&") (number_literal "0xfc")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      if ((DAT_001e3bed & 0x60) == 0x20) {\n        DAT_001e3d18 = DAT_001e3c60;\n      }\n      else {\n        DAT_001e3d18 = DAT_001e3c68;\n      }\n    }" ({ "{") (if_statement "if ((DAT_001e3bed & 0x60) == 0x20) {\n        DAT_001e3d18 = DAT_001e3c60;\n      }\n      else {\n        DAT_001e3d18 = DAT_001e3c68;\n      }" (if "if") (parenthesized_expression "((DAT_001e3bed & 0x60) == 0x20)" (( "(") (binary_expression "(DAT_001e3bed & 0x60) == 0x20" (parenthesized_expression "(DAT_001e3bed & 0x60)" (( "(") (binary_expression "DAT_001e3bed & 0x60" (identifier "DAT_001e3bed") (& "&") (number_literal "0x60")) () ")")) (== "==") (number_literal "0x20")) () ")")) (compound_statement "{\n        DAT_001e3d18 = DAT_001e3c60;\n      }" ({ "{") (expression_statement "DAT_001e3d18 = DAT_001e3c60;" (assignment_expression "DAT_001e3d18 = DAT_001e3c60" (identifier "DAT_001e3d18") (= "=") (identifier "DAT_001e3c60")) (; ";")) (} "}")) (else_clause "else {\n        DAT_001e3d18 = DAT_001e3c68;\n      }" (else "else") (compound_statement "{\n        DAT_001e3d18 = DAT_001e3c68;\n      }" ({ "{") (expression_statement "DAT_001e3d18 = DAT_001e3c68;" (assignment_expression "DAT_001e3d18 = DAT_001e3c68" (identifier "DAT_001e3d18") (= "=") (identifier "DAT_001e3c68")) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n      DAT_001e3d18 = 0;\n    }" (else "else") (compound_statement "{\n      DAT_001e3d18 = 0;\n    }" ({ "{") (expression_statement "DAT_001e3d18 = 0;" (assignment_expression "DAT_001e3d18 = 0" (identifier "DAT_001e3d18") (= "=") (number_literal "0")) (; ";")) (} "}")))) (expression_statement "DAT_001e3cf0 = (uint)*(byte *)(DAT_001e3c70 + 0x11);" (assignment_expression "DAT_001e3cf0 = (uint)*(byte *)(DAT_001e3c70 + 0x11)" (identifier "DAT_001e3cf0") (= "=") (binary_expression "(uint)*(byte *)(DAT_001e3c70 + 0x11)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(byte *)(DAT_001e3c70 + 0x11)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_001e3c70 + 0x11)" (( "(") (binary_expression "DAT_001e3c70 + 0x11" (identifier "DAT_001e3c70") (+ "+") (number_literal "0x11")) () ")"))))) (; ";")) (if_statement "if ((*(byte *)(DAT_001e3c70 + 0x10) & 1) != 0) {\n      DAT_001e3cf8 = DAT_001e3cf8 | 4;\n    }" (if "if") (parenthesized_expression "((*(byte *)(DAT_001e3c70 + 0x10) & 1) != 0)" (( "(") (binary_expression "(*(byte *)(DAT_001e3c70 + 0x10) & 1) != 0" (parenthesized_expression "(*(byte *)(DAT_001e3c70 + 0x10) & 1)" (( "(") (binary_expression "*(byte *)(DAT_001e3c70 + 0x10) & 1" (pointer_expression "*(byte *)(DAT_001e3c70 + 0x10)" (* "*") (cast_expression "(byte *)(DAT_001e3c70 + 0x10)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_001e3c70 + 0x10)" (( "(") (binary_expression "DAT_001e3c70 + 0x10" (identifier "DAT_001e3c70") (+ "+") (number_literal "0x10")) () ")")))) (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      DAT_001e3cf8 = DAT_001e3cf8 | 4;\n    }" ({ "{") (expression_statement "DAT_001e3cf8 = DAT_001e3cf8 | 4;" (assignment_expression "DAT_001e3cf8 = DAT_001e3cf8 | 4" (identifier "DAT_001e3cf8") (= "=") (binary_expression "DAT_001e3cf8 | 4" (identifier "DAT_001e3cf8") (| "|") (number_literal "4"))) (; ";")) (} "}"))) (if_statement "if (DAT_001e3c30 != 0) goto LAB_001330bc;" (if "if") (parenthesized_expression "(DAT_001e3c30 != 0)" (( "(") (binary_expression "DAT_001e3c30 != 0" (identifier "DAT_001e3c30") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_001330bc;" (goto "goto") (statement_identifier "LAB_001330bc") (; ";"))) (if_statement "if ((DAT_001e3bed & 0x60) == 0x20) {\n      bVar21 = *(byte *)(DAT_001e3c68 + 0x11);\n    }\n    else {\n      bVar21 = *(byte *)(DAT_001e3c60 + 0x11);\n    }" (if "if") (parenthesized_expression "((DAT_001e3bed & 0x60) == 0x20)" (( "(") (binary_expression "(DAT_001e3bed & 0x60) == 0x20" (parenthesized_expression "(DAT_001e3bed & 0x60)" (( "(") (binary_expression "DAT_001e3bed & 0x60" (identifier "DAT_001e3bed") (& "&") (number_literal "0x60")) () ")")) (== "==") (number_literal "0x20")) () ")")) (compound_statement "{\n      bVar21 = *(byte *)(DAT_001e3c68 + 0x11);\n    }" ({ "{") (expression_statement "bVar21 = *(byte *)(DAT_001e3c68 + 0x11);" (assignment_expression "bVar21 = *(byte *)(DAT_001e3c68 + 0x11)" (identifier "bVar21") (= "=") (pointer_expression "*(byte *)(DAT_001e3c68 + 0x11)" (* "*") (cast_expression "(byte *)(DAT_001e3c68 + 0x11)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_001e3c68 + 0x11)" (( "(") (binary_expression "DAT_001e3c68 + 0x11" (identifier "DAT_001e3c68") (+ "+") (number_literal "0x11")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n      bVar21 = *(byte *)(DAT_001e3c60 + 0x11);\n    }" (else "else") (compound_statement "{\n      bVar21 = *(byte *)(DAT_001e3c60 + 0x11);\n    }" ({ "{") (expression_statement "bVar21 = *(byte *)(DAT_001e3c60 + 0x11);" (assignment_expression "bVar21 = *(byte *)(DAT_001e3c60 + 0x11)" (identifier "bVar21") (= "=") (pointer_expression "*(byte *)(DAT_001e3c60 + 0x11)" (* "*") (cast_expression "(byte *)(DAT_001e3c60 + 0x11)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_001e3c60 + 0x11)" (( "(") (binary_expression "DAT_001e3c60 + 0x11" (identifier "DAT_001e3c60") (+ "+") (number_literal "0x11")) () ")"))))) (; ";")) (} "}")))) (expression_statement "bVar19 = *(byte *)(DAT_001e3c68 + 0x10);" (assignment_expression "bVar19 = *(byte *)(DAT_001e3c68 + 0x10)" (identifier "bVar19") (= "=") (pointer_expression "*(byte *)(DAT_001e3c68 + 0x10)" (* "*") (cast_expression "(byte *)(DAT_001e3c68 + 0x10)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_001e3c68 + 0x10)" (( "(") (binary_expression "DAT_001e3c68 + 0x10" (identifier "DAT_001e3c68") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n    bVar21 = DAT_001e3bed & 0x18;\n    if (bVar21 != 0x18) {\n      if (DAT_001e3c28 == 0) goto LAB_001330bc;\n      if ((((DAT_001e3c24 == 0) || (((byte)DAT_001e3c38 & 1) != 0)) ||\n          (((byte)DAT_001e3c38 & 2) != 0)) ||\n         ((((byte)DAT_001e3c38 & 4) != 0 || ((DAT_001e3c38._5_1_ & 2) != 0)))) {\n        uVar20 = 0;\n      }\n      else {\n        uVar20 = 0;\n        if (((byte)DAT_001e3c38 & 8) == 0) {\n          uVar9 = 0;\n          while( true ) {\n            bVar14 = *(byte *)(&DAT_001e3bc8 + (uVar9 + 0xe) * 2);\n            if ((((char)bVar14 < '\0') ||\n                ((*(byte *)((long)&DAT_001e3bc8 + (uVar9 + 0xe) * 8 + 1) & 1) != 0)) ||\n               (((bVar14 & 0x10) != 0 || (((bVar14 & 0x20) != 0 || ((bVar14 & 0x40) != 0))))))\n            goto LAB_00133670;\n            uVar15 = (int)uVar20 + 1;\n            uVar20 = (ulong)uVar15;\n            if (DAT_001e3c24 == uVar15) break;\n            uVar9 = (ulong)uVar15;\n            bVar14 = *(byte *)(&DAT_001e3bc8 + (uVar9 + 0xe) * 2);\n            if (((((bVar14 & 1) != 0) || ((bVar14 & 2) != 0)) || ((bVar14 & 4) != 0)) ||\n               (((*(byte *)((long)&DAT_001e3bcc + (uVar9 + 0xe) * 8 + 1) & 2) != 0 ||\n                ((*(byte *)(&DAT_001e3c38 + uVar9) & 8) != 0)))) goto LAB_00133670;\n          }\n          uVar20 = (ulong)DAT_001e3c24;\n        }\n      }\nLAB_00133670:\n      uVar15 = (uint)uVar20;\n      if (bVar19 == 8) {\n        uVar15 = 0xffffffff;\n        uVar20 = uVar18;\nLAB_00133b96:\n        if (uVar15 != (uint)uVar20) goto LAB_001336a6;\n        if (DAT_001e3c30 != 0) goto LAB_001330bc;\n      }\n      else {\n        uVar18 = uVar20;\n        if (bVar21 == 8) {\n          if (uVar22 == 0xffffffff) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1c44,"build_modrm_byte");\n          }\n          uVar17 = uVar15 + 1;\n          uVar18 = (ulong)uVar17;\n          uVar9 = uVar20;\n          if (uVar22 < uVar15) {\n            if (DAT_001e3c24 <= uVar17) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c49,"build_modrm_byte");\n            }\n          }\n          else if ((((&DAT_001e3bf6)[uVar20 * 8] & 0x40) == 0) &&\n                  (((&DAT_001e3bf6)[uVar18 * 8] & 0x40) != 0)) {\n            if ((DAT_001e3c24 <= uVar15 + 2) || (uVar22 != uVar17)) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c55,"build_modrm_byte");\n            }\n            uVar18 = (ulong)(uVar15 + 2);\n          }\n          else {\n            uVar9 = uVar18;\n            uVar18 = uVar20;\n            uVar15 = uVar17;\n            if (DAT_001e3c24 <= uVar17) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c5a,"build_modrm_byte");\n            }\n          }\nLAB_00133e49:\n          lVar13 = uVar9 + 6;\n          bVar21 = *(byte *)((long)&DAT_001e3bc0 + lVar13 * 8 + 4);\n          if ((((bVar21 & 1) == 0) ||\n              ((-1 < *(char *)((long)&DAT_001e3bc0 + lVar13 * 8 + 7) &&\n               ((*(byte *)(&DAT_001e3bc8 + lVar13 * 2) & 2) == 0)))) &&\n             (((bVar21 & 4) == 0 &&\n              ((*(uint *)(&DAT_001e3bf8 + uVar9 * 8) != DAT_00153a54 ||\n               (*(int *)(&DAT_001e3bf4 + uVar9 * 8) != DAT_00153a50)))))) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1c7b,"build_modrm_byte");\n          }\n          DAT_001e3d18 = (&DAT_001e3c60)[uVar9];\n          uVar20 = uVar18;\n          goto LAB_00133b96;\n        }\n        if (bVar21 == 0x10) {\n          if (DAT_001e3c30 == 0) {\n            if (DAT_001e3c24 != uVar15 + 2) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c65,"build_modrm_byte");\n            }\n            uVar9 = (ulong)(uVar15 + 1);\n            uVar15 = uVar15 + 1;\n          }\n          else {\n            if ((DAT_001e3c34 + 2 <= uVar15) || (DAT_001e3c24 != DAT_001e3c34 + 2)) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c6c,"build_modrm_byte");\n            }\n            uVar15 = DAT_001e3c34 + 1;\n            if (uVar15 == 0xffffffff) goto LAB_001336a6;\n            uVar9 = (ulong)uVar15;\n          }\n          goto LAB_00133e49;\n        }\n        if (DAT_001e3c24 <= uVar15) {\n                    \n          FUN_0011dd00("../../gas/config/tc-i386.c",0x1c71,"build_modrm_byte");\n        }\nLAB_001336a6:\n        if (DAT_001e3bd0 == 0xffff) {\n          DAT_001e3cf0 = (uint)*(byte *)((&DAT_001e3c60)[uVar20] + 0x11);\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar20] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 4;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 4;\n          }\n          if (DAT_001e3c30 == 0) {\n            DAT_001e3cf4 = 3;\n            return puVar10;\n          }\n          return puVar10;\n        }\n        DAT_001e3cec = (uint)*(byte *)((&DAT_001e3c60)[uVar20] + 0x11);\n        bVar21 = *(byte *)((&DAT_001e3c60)[uVar20] + 0x10);\n        if ((bVar21 & 1) != 0) {\n          DAT_001e3cf8 = DAT_001e3cf8 | 1;\n        }\n        if ((bVar21 & 4) != 0) {\n          DAT_001e3cfc = DAT_001e3cfc | 1;\n        }\n        if (DAT_001e3c30 != 0) {\n          DAT_001e3cf0 = DAT_001e3bd0;\n          return puVar10;\n        }\n      }\n      DAT_001e3cf4 = 3;\n      goto LAB_001330bc;\n    }\n    DAT_001e3d18 = DAT_001e3c70;\n    if (DAT_001e3c30 != 0) goto LAB_001330bc;\n    bVar21 = *(byte *)(DAT_001e3c68 + 0x11);\n    bVar19 = *(byte *)(DAT_001e3c68 + 0x10);\n  }" (else "else") (compound_statement "{\n    bVar21 = DAT_001e3bed & 0x18;\n    if (bVar21 != 0x18) {\n      if (DAT_001e3c28 == 0) goto LAB_001330bc;\n      if ((((DAT_001e3c24 == 0) || (((byte)DAT_001e3c38 & 1) != 0)) ||\n          (((byte)DAT_001e3c38 & 2) != 0)) ||\n         ((((byte)DAT_001e3c38 & 4) != 0 || ((DAT_001e3c38._5_1_ & 2) != 0)))) {\n        uVar20 = 0;\n      }\n      else {\n        uVar20 = 0;\n        if (((byte)DAT_001e3c38 & 8) == 0) {\n          uVar9 = 0;\n          while( true ) {\n            bVar14 = *(byte *)(&DAT_001e3bc8 + (uVar9 + 0xe) * 2);\n            if ((((char)bVar14 < '\0') ||\n                ((*(byte *)((long)&DAT_001e3bc8 + (uVar9 + 0xe) * 8 + 1) & 1) != 0)) ||\n               (((bVar14 & 0x10) != 0 || (((bVar14 & 0x20) != 0 || ((bVar14 & 0x40) != 0))))))\n            goto LAB_00133670;\n            uVar15 = (int)uVar20 + 1;\n            uVar20 = (ulong)uVar15;\n            if (DAT_001e3c24 == uVar15) break;\n            uVar9 = (ulong)uVar15;\n            bVar14 = *(byte *)(&DAT_001e3bc8 + (uVar9 + 0xe) * 2);\n            if (((((bVar14 & 1) != 0) || ((bVar14 & 2) != 0)) || ((bVar14 & 4) != 0)) ||\n               (((*(byte *)((long)&DAT_001e3bcc + (uVar9 + 0xe) * 8 + 1) & 2) != 0 ||\n                ((*(byte *)(&DAT_001e3c38 + uVar9) & 8) != 0)))) goto LAB_00133670;\n          }\n          uVar20 = (ulong)DAT_001e3c24;\n        }\n      }\nLAB_00133670:\n      uVar15 = (uint)uVar20;\n      if (bVar19 == 8) {\n        uVar15 = 0xffffffff;\n        uVar20 = uVar18;\nLAB_00133b96:\n        if (uVar15 != (uint)uVar20) goto LAB_001336a6;\n        if (DAT_001e3c30 != 0) goto LAB_001330bc;\n      }\n      else {\n        uVar18 = uVar20;\n        if (bVar21 == 8) {\n          if (uVar22 == 0xffffffff) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1c44,"build_modrm_byte");\n          }\n          uVar17 = uVar15 + 1;\n          uVar18 = (ulong)uVar17;\n          uVar9 = uVar20;\n          if (uVar22 < uVar15) {\n            if (DAT_001e3c24 <= uVar17) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c49,"build_modrm_byte");\n            }\n          }\n          else if ((((&DAT_001e3bf6)[uVar20 * 8] & 0x40) == 0) &&\n                  (((&DAT_001e3bf6)[uVar18 * 8] & 0x40) != 0)) {\n            if ((DAT_001e3c24 <= uVar15 + 2) || (uVar22 != uVar17)) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c55,"build_modrm_byte");\n            }\n            uVar18 = (ulong)(uVar15 + 2);\n          }\n          else {\n            uVar9 = uVar18;\n            uVar18 = uVar20;\n            uVar15 = uVar17;\n            if (DAT_001e3c24 <= uVar17) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c5a,"build_modrm_byte");\n            }\n          }\nLAB_00133e49:\n          lVar13 = uVar9 + 6;\n          bVar21 = *(byte *)((long)&DAT_001e3bc0 + lVar13 * 8 + 4);\n          if ((((bVar21 & 1) == 0) ||\n              ((-1 < *(char *)((long)&DAT_001e3bc0 + lVar13 * 8 + 7) &&\n               ((*(byte *)(&DAT_001e3bc8 + lVar13 * 2) & 2) == 0)))) &&\n             (((bVar21 & 4) == 0 &&\n              ((*(uint *)(&DAT_001e3bf8 + uVar9 * 8) != DAT_00153a54 ||\n               (*(int *)(&DAT_001e3bf4 + uVar9 * 8) != DAT_00153a50)))))) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1c7b,"build_modrm_byte");\n          }\n          DAT_001e3d18 = (&DAT_001e3c60)[uVar9];\n          uVar20 = uVar18;\n          goto LAB_00133b96;\n        }\n        if (bVar21 == 0x10) {\n          if (DAT_001e3c30 == 0) {\n            if (DAT_001e3c24 != uVar15 + 2) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c65,"build_modrm_byte");\n            }\n            uVar9 = (ulong)(uVar15 + 1);\n            uVar15 = uVar15 + 1;\n          }\n          else {\n            if ((DAT_001e3c34 + 2 <= uVar15) || (DAT_001e3c24 != DAT_001e3c34 + 2)) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c6c,"build_modrm_byte");\n            }\n            uVar15 = DAT_001e3c34 + 1;\n            if (uVar15 == 0xffffffff) goto LAB_001336a6;\n            uVar9 = (ulong)uVar15;\n          }\n          goto LAB_00133e49;\n        }\n        if (DAT_001e3c24 <= uVar15) {\n                    \n          FUN_0011dd00("../../gas/config/tc-i386.c",0x1c71,"build_modrm_byte");\n        }\nLAB_001336a6:\n        if (DAT_001e3bd0 == 0xffff) {\n          DAT_001e3cf0 = (uint)*(byte *)((&DAT_001e3c60)[uVar20] + 0x11);\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar20] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 4;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 4;\n          }\n          if (DAT_001e3c30 == 0) {\n            DAT_001e3cf4 = 3;\n            return puVar10;\n          }\n          return puVar10;\n        }\n        DAT_001e3cec = (uint)*(byte *)((&DAT_001e3c60)[uVar20] + 0x11);\n        bVar21 = *(byte *)((&DAT_001e3c60)[uVar20] + 0x10);\n        if ((bVar21 & 1) != 0) {\n          DAT_001e3cf8 = DAT_001e3cf8 | 1;\n        }\n        if ((bVar21 & 4) != 0) {\n          DAT_001e3cfc = DAT_001e3cfc | 1;\n        }\n        if (DAT_001e3c30 != 0) {\n          DAT_001e3cf0 = DAT_001e3bd0;\n          return puVar10;\n        }\n      }\n      DAT_001e3cf4 = 3;\n      goto LAB_001330bc;\n    }\n    DAT_001e3d18 = DAT_001e3c70;\n    if (DAT_001e3c30 != 0) goto LAB_001330bc;\n    bVar21 = *(byte *)(DAT_001e3c68 + 0x11);\n    bVar19 = *(byte *)(DAT_001e3c68 + 0x10);\n  }" ({ "{") (expression_statement "bVar21 = DAT_001e3bed & 0x18;" (assignment_expression "bVar21 = DAT_001e3bed & 0x18" (identifier "bVar21") (= "=") (binary_expression "DAT_001e3bed & 0x18" (identifier "DAT_001e3bed") (& "&") (number_literal "0x18"))) (; ";")) (if_statement "if (bVar21 != 0x18) {\n      if (DAT_001e3c28 == 0) goto LAB_001330bc;\n      if ((((DAT_001e3c24 == 0) || (((byte)DAT_001e3c38 & 1) != 0)) ||\n          (((byte)DAT_001e3c38 & 2) != 0)) ||\n         ((((byte)DAT_001e3c38 & 4) != 0 || ((DAT_001e3c38._5_1_ & 2) != 0)))) {\n        uVar20 = 0;\n      }\n      else {\n        uVar20 = 0;\n        if (((byte)DAT_001e3c38 & 8) == 0) {\n          uVar9 = 0;\n          while( true ) {\n            bVar14 = *(byte *)(&DAT_001e3bc8 + (uVar9 + 0xe) * 2);\n            if ((((char)bVar14 < '\0') ||\n                ((*(byte *)((long)&DAT_001e3bc8 + (uVar9 + 0xe) * 8 + 1) & 1) != 0)) ||\n               (((bVar14 & 0x10) != 0 || (((bVar14 & 0x20) != 0 || ((bVar14 & 0x40) != 0))))))\n            goto LAB_00133670;\n            uVar15 = (int)uVar20 + 1;\n            uVar20 = (ulong)uVar15;\n            if (DAT_001e3c24 == uVar15) break;\n            uVar9 = (ulong)uVar15;\n            bVar14 = *(byte *)(&DAT_001e3bc8 + (uVar9 + 0xe) * 2);\n            if (((((bVar14 & 1) != 0) || ((bVar14 & 2) != 0)) || ((bVar14 & 4) != 0)) ||\n               (((*(byte *)((long)&DAT_001e3bcc + (uVar9 + 0xe) * 8 + 1) & 2) != 0 ||\n                ((*(byte *)(&DAT_001e3c38 + uVar9) & 8) != 0)))) goto LAB_00133670;\n          }\n          uVar20 = (ulong)DAT_001e3c24;\n        }\n      }\nLAB_00133670:\n      uVar15 = (uint)uVar20;\n      if (bVar19 == 8) {\n        uVar15 = 0xffffffff;\n        uVar20 = uVar18;\nLAB_00133b96:\n        if (uVar15 != (uint)uVar20) goto LAB_001336a6;\n        if (DAT_001e3c30 != 0) goto LAB_001330bc;\n      }\n      else {\n        uVar18 = uVar20;\n        if (bVar21 == 8) {\n          if (uVar22 == 0xffffffff) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1c44,"build_modrm_byte");\n          }\n          uVar17 = uVar15 + 1;\n          uVar18 = (ulong)uVar17;\n          uVar9 = uVar20;\n          if (uVar22 < uVar15) {\n            if (DAT_001e3c24 <= uVar17) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c49,"build_modrm_byte");\n            }\n          }\n          else if ((((&DAT_001e3bf6)[uVar20 * 8] & 0x40) == 0) &&\n                  (((&DAT_001e3bf6)[uVar18 * 8] & 0x40) != 0)) {\n            if ((DAT_001e3c24 <= uVar15 + 2) || (uVar22 != uVar17)) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c55,"build_modrm_byte");\n            }\n            uVar18 = (ulong)(uVar15 + 2);\n          }\n          else {\n            uVar9 = uVar18;\n            uVar18 = uVar20;\n            uVar15 = uVar17;\n            if (DAT_001e3c24 <= uVar17) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c5a,"build_modrm_byte");\n            }\n          }\nLAB_00133e49:\n          lVar13 = uVar9 + 6;\n          bVar21 = *(byte *)((long)&DAT_001e3bc0 + lVar13 * 8 + 4);\n          if ((((bVar21 & 1) == 0) ||\n              ((-1 < *(char *)((long)&DAT_001e3bc0 + lVar13 * 8 + 7) &&\n               ((*(byte *)(&DAT_001e3bc8 + lVar13 * 2) & 2) == 0)))) &&\n             (((bVar21 & 4) == 0 &&\n              ((*(uint *)(&DAT_001e3bf8 + uVar9 * 8) != DAT_00153a54 ||\n               (*(int *)(&DAT_001e3bf4 + uVar9 * 8) != DAT_00153a50)))))) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1c7b,"build_modrm_byte");\n          }\n          DAT_001e3d18 = (&DAT_001e3c60)[uVar9];\n          uVar20 = uVar18;\n          goto LAB_00133b96;\n        }\n        if (bVar21 == 0x10) {\n          if (DAT_001e3c30 == 0) {\n            if (DAT_001e3c24 != uVar15 + 2) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c65,"build_modrm_byte");\n            }\n            uVar9 = (ulong)(uVar15 + 1);\n            uVar15 = uVar15 + 1;\n          }\n          else {\n            if ((DAT_001e3c34 + 2 <= uVar15) || (DAT_001e3c24 != DAT_001e3c34 + 2)) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c6c,"build_modrm_byte");\n            }\n            uVar15 = DAT_001e3c34 + 1;\n            if (uVar15 == 0xffffffff) goto LAB_001336a6;\n            uVar9 = (ulong)uVar15;\n          }\n          goto LAB_00133e49;\n        }\n        if (DAT_001e3c24 <= uVar15) {\n                    \n          FUN_0011dd00("../../gas/config/tc-i386.c",0x1c71,"build_modrm_byte");\n        }\nLAB_001336a6:\n        if (DAT_001e3bd0 == 0xffff) {\n          DAT_001e3cf0 = (uint)*(byte *)((&DAT_001e3c60)[uVar20] + 0x11);\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar20] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 4;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 4;\n          }\n          if (DAT_001e3c30 == 0) {\n            DAT_001e3cf4 = 3;\n            return puVar10;\n          }\n          return puVar10;\n        }\n        DAT_001e3cec = (uint)*(byte *)((&DAT_001e3c60)[uVar20] + 0x11);\n        bVar21 = *(byte *)((&DAT_001e3c60)[uVar20] + 0x10);\n        if ((bVar21 & 1) != 0) {\n          DAT_001e3cf8 = DAT_001e3cf8 | 1;\n        }\n        if ((bVar21 & 4) != 0) {\n          DAT_001e3cfc = DAT_001e3cfc | 1;\n        }\n        if (DAT_001e3c30 != 0) {\n          DAT_001e3cf0 = DAT_001e3bd0;\n          return puVar10;\n        }\n      }\n      DAT_001e3cf4 = 3;\n      goto LAB_001330bc;\n    }" (if "if") (parenthesized_expression "(bVar21 != 0x18)" (( "(") (binary_expression "bVar21 != 0x18" (identifier "bVar21") (!= "!=") (number_literal "0x18")) () ")")) (compound_statement "{\n      if (DAT_001e3c28 == 0) goto LAB_001330bc;\n      if ((((DAT_001e3c24 == 0) || (((byte)DAT_001e3c38 & 1) != 0)) ||\n          (((byte)DAT_001e3c38 & 2) != 0)) ||\n         ((((byte)DAT_001e3c38 & 4) != 0 || ((DAT_001e3c38._5_1_ & 2) != 0)))) {\n        uVar20 = 0;\n      }\n      else {\n        uVar20 = 0;\n        if (((byte)DAT_001e3c38 & 8) == 0) {\n          uVar9 = 0;\n          while( true ) {\n            bVar14 = *(byte *)(&DAT_001e3bc8 + (uVar9 + 0xe) * 2);\n            if ((((char)bVar14 < '\0') ||\n                ((*(byte *)((long)&DAT_001e3bc8 + (uVar9 + 0xe) * 8 + 1) & 1) != 0)) ||\n               (((bVar14 & 0x10) != 0 || (((bVar14 & 0x20) != 0 || ((bVar14 & 0x40) != 0))))))\n            goto LAB_00133670;\n            uVar15 = (int)uVar20 + 1;\n            uVar20 = (ulong)uVar15;\n            if (DAT_001e3c24 == uVar15) break;\n            uVar9 = (ulong)uVar15;\n            bVar14 = *(byte *)(&DAT_001e3bc8 + (uVar9 + 0xe) * 2);\n            if (((((bVar14 & 1) != 0) || ((bVar14 & 2) != 0)) || ((bVar14 & 4) != 0)) ||\n               (((*(byte *)((long)&DAT_001e3bcc + (uVar9 + 0xe) * 8 + 1) & 2) != 0 ||\n                ((*(byte *)(&DAT_001e3c38 + uVar9) & 8) != 0)))) goto LAB_00133670;\n          }\n          uVar20 = (ulong)DAT_001e3c24;\n        }\n      }\nLAB_00133670:\n      uVar15 = (uint)uVar20;\n      if (bVar19 == 8) {\n        uVar15 = 0xffffffff;\n        uVar20 = uVar18;\nLAB_00133b96:\n        if (uVar15 != (uint)uVar20) goto LAB_001336a6;\n        if (DAT_001e3c30 != 0) goto LAB_001330bc;\n      }\n      else {\n        uVar18 = uVar20;\n        if (bVar21 == 8) {\n          if (uVar22 == 0xffffffff) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1c44,"build_modrm_byte");\n          }\n          uVar17 = uVar15 + 1;\n          uVar18 = (ulong)uVar17;\n          uVar9 = uVar20;\n          if (uVar22 < uVar15) {\n            if (DAT_001e3c24 <= uVar17) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c49,"build_modrm_byte");\n            }\n          }\n          else if ((((&DAT_001e3bf6)[uVar20 * 8] & 0x40) == 0) &&\n                  (((&DAT_001e3bf6)[uVar18 * 8] & 0x40) != 0)) {\n            if ((DAT_001e3c24 <= uVar15 + 2) || (uVar22 != uVar17)) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c55,"build_modrm_byte");\n            }\n            uVar18 = (ulong)(uVar15 + 2);\n          }\n          else {\n            uVar9 = uVar18;\n            uVar18 = uVar20;\n            uVar15 = uVar17;\n            if (DAT_001e3c24 <= uVar17) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c5a,"build_modrm_byte");\n            }\n          }\nLAB_00133e49:\n          lVar13 = uVar9 + 6;\n          bVar21 = *(byte *)((long)&DAT_001e3bc0 + lVar13 * 8 + 4);\n          if ((((bVar21 & 1) == 0) ||\n              ((-1 < *(char *)((long)&DAT_001e3bc0 + lVar13 * 8 + 7) &&\n               ((*(byte *)(&DAT_001e3bc8 + lVar13 * 2) & 2) == 0)))) &&\n             (((bVar21 & 4) == 0 &&\n              ((*(uint *)(&DAT_001e3bf8 + uVar9 * 8) != DAT_00153a54 ||\n               (*(int *)(&DAT_001e3bf4 + uVar9 * 8) != DAT_00153a50)))))) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1c7b,"build_modrm_byte");\n          }\n          DAT_001e3d18 = (&DAT_001e3c60)[uVar9];\n          uVar20 = uVar18;\n          goto LAB_00133b96;\n        }\n        if (bVar21 == 0x10) {\n          if (DAT_001e3c30 == 0) {\n            if (DAT_001e3c24 != uVar15 + 2) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c65,"build_modrm_byte");\n            }\n            uVar9 = (ulong)(uVar15 + 1);\n            uVar15 = uVar15 + 1;\n          }\n          else {\n            if ((DAT_001e3c34 + 2 <= uVar15) || (DAT_001e3c24 != DAT_001e3c34 + 2)) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c6c,"build_modrm_byte");\n            }\n            uVar15 = DAT_001e3c34 + 1;\n            if (uVar15 == 0xffffffff) goto LAB_001336a6;\n            uVar9 = (ulong)uVar15;\n          }\n          goto LAB_00133e49;\n        }\n        if (DAT_001e3c24 <= uVar15) {\n                    \n          FUN_0011dd00("../../gas/config/tc-i386.c",0x1c71,"build_modrm_byte");\n        }\nLAB_001336a6:\n        if (DAT_001e3bd0 == 0xffff) {\n          DAT_001e3cf0 = (uint)*(byte *)((&DAT_001e3c60)[uVar20] + 0x11);\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar20] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 4;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 4;\n          }\n          if (DAT_001e3c30 == 0) {\n            DAT_001e3cf4 = 3;\n            return puVar10;\n          }\n          return puVar10;\n        }\n        DAT_001e3cec = (uint)*(byte *)((&DAT_001e3c60)[uVar20] + 0x11);\n        bVar21 = *(byte *)((&DAT_001e3c60)[uVar20] + 0x10);\n        if ((bVar21 & 1) != 0) {\n          DAT_001e3cf8 = DAT_001e3cf8 | 1;\n        }\n        if ((bVar21 & 4) != 0) {\n          DAT_001e3cfc = DAT_001e3cfc | 1;\n        }\n        if (DAT_001e3c30 != 0) {\n          DAT_001e3cf0 = DAT_001e3bd0;\n          return puVar10;\n        }\n      }\n      DAT_001e3cf4 = 3;\n      goto LAB_001330bc;\n    }" ({ "{") (if_statement "if (DAT_001e3c28 == 0) goto LAB_001330bc;" (if "if") (parenthesized_expression "(DAT_001e3c28 == 0)" (( "(") (binary_expression "DAT_001e3c28 == 0" (identifier "DAT_001e3c28") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_001330bc;" (goto "goto") (statement_identifier "LAB_001330bc") (; ";"))) (if_statement "if ((((DAT_001e3c24 == 0) || (((byte)DAT_001e3c38 & 1) != 0)) ||\n          (((byte)DAT_001e3c38 & 2) != 0)) ||\n         ((((byte)DAT_001e3c38 & 4) != 0 || ((DAT_001e3c38._5_1_ & 2) != 0)))) {\n        uVar20 = 0;\n      }\n      else {\n        uVar20 = 0;\n        if (((byte)DAT_001e3c38 & 8) == 0) {\n          uVar9 = 0;\n          while( true ) {\n            bVar14 = *(byte *)(&DAT_001e3bc8 + (uVar9 + 0xe) * 2);\n            if ((((char)bVar14 < '\0') ||\n                ((*(byte *)((long)&DAT_001e3bc8 + (uVar9 + 0xe) * 8 + 1) & 1) != 0)) ||\n               (((bVar14 & 0x10) != 0 || (((bVar14 & 0x20) != 0 || ((bVar14 & 0x40) != 0))))))\n            goto LAB_00133670;\n            uVar15 = (int)uVar20 + 1;\n            uVar20 = (ulong)uVar15;\n            if (DAT_001e3c24 == uVar15) break;\n            uVar9 = (ulong)uVar15;\n            bVar14 = *(byte *)(&DAT_001e3bc8 + (uVar9 + 0xe) * 2);\n            if (((((bVar14 & 1) != 0) || ((bVar14 & 2) != 0)) || ((bVar14 & 4) != 0)) ||\n               (((*(byte *)((long)&DAT_001e3bcc + (uVar9 + 0xe) * 8 + 1) & 2) != 0 ||\n                ((*(byte *)(&DAT_001e3c38 + uVar9) & 8) != 0)))) goto LAB_00133670;\n          }\n          uVar20 = (ulong)DAT_001e3c24;\n        }\n      }" (if "if") (parenthesized_expression "((((DAT_001e3c24 == 0) || (((byte)DAT_001e3c38 & 1) != 0)) ||\n          (((byte)DAT_001e3c38 & 2) != 0)) ||\n         ((((byte)DAT_001e3c38 & 4) != 0 || ((DAT_001e3c38._5_1_ & 2) != 0))))" (( "(") (binary_expression "(((DAT_001e3c24 == 0) || (((byte)DAT_001e3c38 & 1) != 0)) ||\n          (((byte)DAT_001e3c38 & 2) != 0)) ||\n         ((((byte)DAT_001e3c38 & 4) != 0 || ((DAT_001e3c38._5_1_ & 2) != 0)))" (parenthesized_expression "(((DAT_001e3c24 == 0) || (((byte)DAT_001e3c38 & 1) != 0)) ||\n          (((byte)DAT_001e3c38 & 2) != 0))" (( "(") (binary_expression "((DAT_001e3c24 == 0) || (((byte)DAT_001e3c38 & 1) != 0)) ||\n          (((byte)DAT_001e3c38 & 2) != 0)" (parenthesized_expression "((DAT_001e3c24 == 0) || (((byte)DAT_001e3c38 & 1) != 0))" (( "(") (binary_expression "(DAT_001e3c24 == 0) || (((byte)DAT_001e3c38 & 1) != 0)" (parenthesized_expression "(DAT_001e3c24 == 0)" (( "(") (binary_expression "DAT_001e3c24 == 0" (identifier "DAT_001e3c24") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(((byte)DAT_001e3c38 & 1) != 0)" (( "(") (binary_expression "((byte)DAT_001e3c38 & 1) != 0" (parenthesized_expression "((byte)DAT_001e3c38 & 1)" (( "(") (binary_expression "(byte)DAT_001e3c38 & 1" (cast_expression "(byte)DAT_001e3c38" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "DAT_001e3c38")) (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (|| "||") (parenthesized_expression "(((byte)DAT_001e3c38 & 2) != 0)" (( "(") (binary_expression "((byte)DAT_001e3c38 & 2) != 0" (parenthesized_expression "((byte)DAT_001e3c38 & 2)" (( "(") (binary_expression "(byte)DAT_001e3c38 & 2" (cast_expression "(byte)DAT_001e3c38" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "DAT_001e3c38")) (& "&") (number_literal "2")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (|| "||") (parenthesized_expression "((((byte)DAT_001e3c38 & 4) != 0 || ((DAT_001e3c38._5_1_ & 2) != 0)))" (( "(") (parenthesized_expression "(((byte)DAT_001e3c38 & 4) != 0 || ((DAT_001e3c38._5_1_ & 2) != 0))" (( "(") (binary_expression "((byte)DAT_001e3c38 & 4) != 0 || ((DAT_001e3c38._5_1_ & 2) != 0)" (binary_expression "((byte)DAT_001e3c38 & 4) != 0" (parenthesized_expression "((byte)DAT_001e3c38 & 4)" (( "(") (binary_expression "(byte)DAT_001e3c38 & 4" (cast_expression "(byte)DAT_001e3c38" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "DAT_001e3c38")) (& "&") (number_literal "4")) () ")")) (!= "!=") (number_literal "0")) (|| "||") (parenthesized_expression "((DAT_001e3c38._5_1_ & 2) != 0)" (( "(") (binary_expression "(DAT_001e3c38._5_1_ & 2) != 0" (parenthesized_expression "(DAT_001e3c38._5_1_ & 2)" (( "(") (binary_expression "DAT_001e3c38._5_1_ & 2" (field_expression "DAT_001e3c38._5_1_" (identifier "DAT_001e3c38") (. ".") (field_identifier "_5_1_")) (& "&") (number_literal "2")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n        uVar20 = 0;\n      }" ({ "{") (expression_statement "uVar20 = 0;" (assignment_expression "uVar20 = 0" (identifier "uVar20") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n        uVar20 = 0;\n        if (((byte)DAT_001e3c38 & 8) == 0) {\n          uVar9 = 0;\n          while( true ) {\n            bVar14 = *(byte *)(&DAT_001e3bc8 + (uVar9 + 0xe) * 2);\n            if ((((char)bVar14 < '\0') ||\n                ((*(byte *)((long)&DAT_001e3bc8 + (uVar9 + 0xe) * 8 + 1) & 1) != 0)) ||\n               (((bVar14 & 0x10) != 0 || (((bVar14 & 0x20) != 0 || ((bVar14 & 0x40) != 0))))))\n            goto LAB_00133670;\n            uVar15 = (int)uVar20 + 1;\n            uVar20 = (ulong)uVar15;\n            if (DAT_001e3c24 == uVar15) break;\n            uVar9 = (ulong)uVar15;\n            bVar14 = *(byte *)(&DAT_001e3bc8 + (uVar9 + 0xe) * 2);\n            if (((((bVar14 & 1) != 0) || ((bVar14 & 2) != 0)) || ((bVar14 & 4) != 0)) ||\n               (((*(byte *)((long)&DAT_001e3bcc + (uVar9 + 0xe) * 8 + 1) & 2) != 0 ||\n                ((*(byte *)(&DAT_001e3c38 + uVar9) & 8) != 0)))) goto LAB_00133670;\n          }\n          uVar20 = (ulong)DAT_001e3c24;\n        }\n      }" (else "else") (compound_statement "{\n        uVar20 = 0;\n        if (((byte)DAT_001e3c38 & 8) == 0) {\n          uVar9 = 0;\n          while( true ) {\n            bVar14 = *(byte *)(&DAT_001e3bc8 + (uVar9 + 0xe) * 2);\n            if ((((char)bVar14 < '\0') ||\n                ((*(byte *)((long)&DAT_001e3bc8 + (uVar9 + 0xe) * 8 + 1) & 1) != 0)) ||\n               (((bVar14 & 0x10) != 0 || (((bVar14 & 0x20) != 0 || ((bVar14 & 0x40) != 0))))))\n            goto LAB_00133670;\n            uVar15 = (int)uVar20 + 1;\n            uVar20 = (ulong)uVar15;\n            if (DAT_001e3c24 == uVar15) break;\n            uVar9 = (ulong)uVar15;\n            bVar14 = *(byte *)(&DAT_001e3bc8 + (uVar9 + 0xe) * 2);\n            if (((((bVar14 & 1) != 0) || ((bVar14 & 2) != 0)) || ((bVar14 & 4) != 0)) ||\n               (((*(byte *)((long)&DAT_001e3bcc + (uVar9 + 0xe) * 8 + 1) & 2) != 0 ||\n                ((*(byte *)(&DAT_001e3c38 + uVar9) & 8) != 0)))) goto LAB_00133670;\n          }\n          uVar20 = (ulong)DAT_001e3c24;\n        }\n      }" ({ "{") (expression_statement "uVar20 = 0;" (assignment_expression "uVar20 = 0" (identifier "uVar20") (= "=") (number_literal "0")) (; ";")) (if_statement "if (((byte)DAT_001e3c38 & 8) == 0) {\n          uVar9 = 0;\n          while( true ) {\n            bVar14 = *(byte *)(&DAT_001e3bc8 + (uVar9 + 0xe) * 2);\n            if ((((char)bVar14 < '\0') ||\n                ((*(byte *)((long)&DAT_001e3bc8 + (uVar9 + 0xe) * 8 + 1) & 1) != 0)) ||\n               (((bVar14 & 0x10) != 0 || (((bVar14 & 0x20) != 0 || ((bVar14 & 0x40) != 0))))))\n            goto LAB_00133670;\n            uVar15 = (int)uVar20 + 1;\n            uVar20 = (ulong)uVar15;\n            if (DAT_001e3c24 == uVar15) break;\n            uVar9 = (ulong)uVar15;\n            bVar14 = *(byte *)(&DAT_001e3bc8 + (uVar9 + 0xe) * 2);\n            if (((((bVar14 & 1) != 0) || ((bVar14 & 2) != 0)) || ((bVar14 & 4) != 0)) ||\n               (((*(byte *)((long)&DAT_001e3bcc + (uVar9 + 0xe) * 8 + 1) & 2) != 0 ||\n                ((*(byte *)(&DAT_001e3c38 + uVar9) & 8) != 0)))) goto LAB_00133670;\n          }\n          uVar20 = (ulong)DAT_001e3c24;\n        }" (if "if") (parenthesized_expression "(((byte)DAT_001e3c38 & 8) == 0)" (( "(") (binary_expression "((byte)DAT_001e3c38 & 8) == 0" (parenthesized_expression "((byte)DAT_001e3c38 & 8)" (( "(") (binary_expression "(byte)DAT_001e3c38 & 8" (cast_expression "(byte)DAT_001e3c38" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "DAT_001e3c38")) (& "&") (number_literal "8")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          uVar9 = 0;\n          while( true ) {\n            bVar14 = *(byte *)(&DAT_001e3bc8 + (uVar9 + 0xe) * 2);\n            if ((((char)bVar14 < '\0') ||\n                ((*(byte *)((long)&DAT_001e3bc8 + (uVar9 + 0xe) * 8 + 1) & 1) != 0)) ||\n               (((bVar14 & 0x10) != 0 || (((bVar14 & 0x20) != 0 || ((bVar14 & 0x40) != 0))))))\n            goto LAB_00133670;\n            uVar15 = (int)uVar20 + 1;\n            uVar20 = (ulong)uVar15;\n            if (DAT_001e3c24 == uVar15) break;\n            uVar9 = (ulong)uVar15;\n            bVar14 = *(byte *)(&DAT_001e3bc8 + (uVar9 + 0xe) * 2);\n            if (((((bVar14 & 1) != 0) || ((bVar14 & 2) != 0)) || ((bVar14 & 4) != 0)) ||\n               (((*(byte *)((long)&DAT_001e3bcc + (uVar9 + 0xe) * 8 + 1) & 2) != 0 ||\n                ((*(byte *)(&DAT_001e3c38 + uVar9) & 8) != 0)))) goto LAB_00133670;\n          }\n          uVar20 = (ulong)DAT_001e3c24;\n        }" ({ "{") (expression_statement "uVar9 = 0;" (assignment_expression "uVar9 = 0" (identifier "uVar9") (= "=") (number_literal "0")) (; ";")) (while_statement "while( true ) {\n            bVar14 = *(byte *)(&DAT_001e3bc8 + (uVar9 + 0xe) * 2);\n            if ((((char)bVar14 < '\0') ||\n                ((*(byte *)((long)&DAT_001e3bc8 + (uVar9 + 0xe) * 8 + 1) & 1) != 0)) ||\n               (((bVar14 & 0x10) != 0 || (((bVar14 & 0x20) != 0 || ((bVar14 & 0x40) != 0))))))\n            goto LAB_00133670;\n            uVar15 = (int)uVar20 + 1;\n            uVar20 = (ulong)uVar15;\n            if (DAT_001e3c24 == uVar15) break;\n            uVar9 = (ulong)uVar15;\n            bVar14 = *(byte *)(&DAT_001e3bc8 + (uVar9 + 0xe) * 2);\n            if (((((bVar14 & 1) != 0) || ((bVar14 & 2) != 0)) || ((bVar14 & 4) != 0)) ||\n               (((*(byte *)((long)&DAT_001e3bcc + (uVar9 + 0xe) * 8 + 1) & 2) != 0 ||\n                ((*(byte *)(&DAT_001e3c38 + uVar9) & 8) != 0)))) goto LAB_00133670;\n          }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n            bVar14 = *(byte *)(&DAT_001e3bc8 + (uVar9 + 0xe) * 2);\n            if ((((char)bVar14 < '\0') ||\n                ((*(byte *)((long)&DAT_001e3bc8 + (uVar9 + 0xe) * 8 + 1) & 1) != 0)) ||\n               (((bVar14 & 0x10) != 0 || (((bVar14 & 0x20) != 0 || ((bVar14 & 0x40) != 0))))))\n            goto LAB_00133670;\n            uVar15 = (int)uVar20 + 1;\n            uVar20 = (ulong)uVar15;\n            if (DAT_001e3c24 == uVar15) break;\n            uVar9 = (ulong)uVar15;\n            bVar14 = *(byte *)(&DAT_001e3bc8 + (uVar9 + 0xe) * 2);\n            if (((((bVar14 & 1) != 0) || ((bVar14 & 2) != 0)) || ((bVar14 & 4) != 0)) ||\n               (((*(byte *)((long)&DAT_001e3bcc + (uVar9 + 0xe) * 8 + 1) & 2) != 0 ||\n                ((*(byte *)(&DAT_001e3c38 + uVar9) & 8) != 0)))) goto LAB_00133670;\n          }" ({ "{") (expression_statement "bVar14 = *(byte *)(&DAT_001e3bc8 + (uVar9 + 0xe) * 2);" (assignment_expression "bVar14 = *(byte *)(&DAT_001e3bc8 + (uVar9 + 0xe) * 2)" (identifier "bVar14") (= "=") (pointer_expression "*(byte *)(&DAT_001e3bc8 + (uVar9 + 0xe) * 2)" (* "*") (cast_expression "(byte *)(&DAT_001e3bc8 + (uVar9 + 0xe) * 2)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_001e3bc8 + (uVar9 + 0xe) * 2)" (( "(") (binary_expression "&DAT_001e3bc8 + (uVar9 + 0xe) * 2" (pointer_expression "&DAT_001e3bc8" (& "&") (identifier "DAT_001e3bc8")) (+ "+") (binary_expression "(uVar9 + 0xe) * 2" (parenthesized_expression "(uVar9 + 0xe)" (( "(") (binary_expression "uVar9 + 0xe" (identifier "uVar9") (+ "+") (number_literal "0xe")) () ")")) (* "*") (number_literal "2"))) () ")"))))) (; ";")) (if_statement "if ((((char)bVar14 < '\0') ||\n                ((*(byte *)((long)&DAT_001e3bc8 + (uVar9 + 0xe) * 8 + 1) & 1) != 0)) ||\n               (((bVar14 & 0x10) != 0 || (((bVar14 & 0x20) != 0 || ((bVar14 & 0x40) != 0))))))\n            goto LAB_00133670;" (if "if") (parenthesized_expression "((((char)bVar14 < '\0') ||\n                ((*(byte *)((long)&DAT_001e3bc8 + (uVar9 + 0xe) * 8 + 1) & 1) != 0)) ||\n               (((bVar14 & 0x10) != 0 || (((bVar14 & 0x20) != 0 || ((bVar14 & 0x40) != 0))))))" (( "(") (binary_expression "(((char)bVar14 < '\0') ||\n                ((*(byte *)((long)&DAT_001e3bc8 + (uVar9 + 0xe) * 8 + 1) & 1) != 0)) ||\n               (((bVar14 & 0x10) != 0 || (((bVar14 & 0x20) != 0 || ((bVar14 & 0x40) != 0)))))" (parenthesized_expression "(((char)bVar14 < '\0') ||\n                ((*(byte *)((long)&DAT_001e3bc8 + (uVar9 + 0xe) * 8 + 1) & 1) != 0))" (( "(") (binary_expression "((char)bVar14 < '\0') ||\n                ((*(byte *)((long)&DAT_001e3bc8 + (uVar9 + 0xe) * 8 + 1) & 1) != 0)" (parenthesized_expression "((char)bVar14 < '\0')" (( "(") (binary_expression "(char)bVar14 < '\0'" (cast_expression "(char)bVar14" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "bVar14")) (< "<") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (|| "||") (parenthesized_expression "((*(byte *)((long)&DAT_001e3bc8 + (uVar9 + 0xe) * 8 + 1) & 1) != 0)" (( "(") (binary_expression "(*(byte *)((long)&DAT_001e3bc8 + (uVar9 + 0xe) * 8 + 1) & 1) != 0" (parenthesized_expression "(*(byte *)((long)&DAT_001e3bc8 + (uVar9 + 0xe) * 8 + 1) & 1)" (( "(") (binary_expression "*(byte *)((long)&DAT_001e3bc8 + (uVar9 + 0xe) * 8 + 1) & 1" (pointer_expression "*(byte *)((long)&DAT_001e3bc8 + (uVar9 + 0xe) * 8 + 1)" (* "*") (cast_expression "(byte *)((long)&DAT_001e3bc8 + (uVar9 + 0xe) * 8 + 1)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)&DAT_001e3bc8 + (uVar9 + 0xe) * 8 + 1)" (( "(") (binary_expression "(long)&DAT_001e3bc8 + (uVar9 + 0xe) * 8 + 1" (binary_expression "(long)&DAT_001e3bc8 + (uVar9 + 0xe) * 8" (cast_expression "(long)&DAT_001e3bc8" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (pointer_expression "&DAT_001e3bc8" (& "&") (identifier "DAT_001e3bc8"))) (+ "+") (binary_expression "(uVar9 + 0xe) * 8" (parenthesized_expression "(uVar9 + 0xe)" (( "(") (binary_expression "uVar9 + 0xe" (identifier "uVar9") (+ "+") (number_literal "0xe")) () ")")) (* "*") (number_literal "8"))) (+ "+") (number_literal "1")) () ")")))) (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (|| "||") (parenthesized_expression "(((bVar14 & 0x10) != 0 || (((bVar14 & 0x20) != 0 || ((bVar14 & 0x40) != 0)))))" (( "(") (parenthesized_expression "((bVar14 & 0x10) != 0 || (((bVar14 & 0x20) != 0 || ((bVar14 & 0x40) != 0))))" (( "(") (binary_expression "(bVar14 & 0x10) != 0 || (((bVar14 & 0x20) != 0 || ((bVar14 & 0x40) != 0)))" (binary_expression "(bVar14 & 0x10) != 0" (parenthesized_expression "(bVar14 & 0x10)" (( "(") (binary_expression "bVar14 & 0x10" (identifier "bVar14") (& "&") (number_literal "0x10")) () ")")) (!= "!=") (number_literal "0")) (|| "||") (parenthesized_expression "(((bVar14 & 0x20) != 0 || ((bVar14 & 0x40) != 0)))" (( "(") (parenthesized_expression "((bVar14 & 0x20) != 0 || ((bVar14 & 0x40) != 0))" (( "(") (binary_expression "(bVar14 & 0x20) != 0 || ((bVar14 & 0x40) != 0)" (binary_expression "(bVar14 & 0x20) != 0" (parenthesized_expression "(bVar14 & 0x20)" (( "(") (binary_expression "bVar14 & 0x20" (identifier "bVar14") (& "&") (number_literal "0x20")) () ")")) (!= "!=") (number_literal "0")) (|| "||") (parenthesized_expression "((bVar14 & 0x40) != 0)" (( "(") (binary_expression "(bVar14 & 0x40) != 0" (parenthesized_expression "(bVar14 & 0x40)" (( "(") (binary_expression "bVar14 & 0x40" (identifier "bVar14") (& "&") (number_literal "0x40")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) () ")"))) () ")")) () ")"))) () ")")) (goto_statement "goto LAB_00133670;" (goto "goto") (statement_identifier "LAB_00133670") (; ";"))) (expression_statement "uVar15 = (int)uVar20 + 1;" (assignment_expression "uVar15 = (int)uVar20 + 1" (identifier "uVar15") (= "=") (binary_expression "(int)uVar20 + 1" (cast_expression "(int)uVar20" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar20")) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "uVar20 = (ulong)uVar15;" (assignment_expression "uVar20 = (ulong)uVar15" (identifier "uVar20") (= "=") (cast_expression "(ulong)uVar15" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar15"))) (; ";")) (if_statement "if (DAT_001e3c24 == uVar15) break;" (if "if") (parenthesized_expression "(DAT_001e3c24 == uVar15)" (( "(") (binary_expression "DAT_001e3c24 == uVar15" (identifier "DAT_001e3c24") (== "==") (identifier "uVar15")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "uVar9 = (ulong)uVar15;" (assignment_expression "uVar9 = (ulong)uVar15" (identifier "uVar9") (= "=") (cast_expression "(ulong)uVar15" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar15"))) (; ";")) (expression_statement "bVar14 = *(byte *)(&DAT_001e3bc8 + (uVar9 + 0xe) * 2);" (assignment_expression "bVar14 = *(byte *)(&DAT_001e3bc8 + (uVar9 + 0xe) * 2)" (identifier "bVar14") (= "=") (pointer_expression "*(byte *)(&DAT_001e3bc8 + (uVar9 + 0xe) * 2)" (* "*") (cast_expression "(byte *)(&DAT_001e3bc8 + (uVar9 + 0xe) * 2)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_001e3bc8 + (uVar9 + 0xe) * 2)" (( "(") (binary_expression "&DAT_001e3bc8 + (uVar9 + 0xe) * 2" (pointer_expression "&DAT_001e3bc8" (& "&") (identifier "DAT_001e3bc8")) (+ "+") (binary_expression "(uVar9 + 0xe) * 2" (parenthesized_expression "(uVar9 + 0xe)" (( "(") (binary_expression "uVar9 + 0xe" (identifier "uVar9") (+ "+") (number_literal "0xe")) () ")")) (* "*") (number_literal "2"))) () ")"))))) (; ";")) (if_statement "if (((((bVar14 & 1) != 0) || ((bVar14 & 2) != 0)) || ((bVar14 & 4) != 0)) ||\n               (((*(byte *)((long)&DAT_001e3bcc + (uVar9 + 0xe) * 8 + 1) & 2) != 0 ||\n                ((*(byte *)(&DAT_001e3c38 + uVar9) & 8) != 0)))) goto LAB_00133670;" (if "if") (parenthesized_expression "(((((bVar14 & 1) != 0) || ((bVar14 & 2) != 0)) || ((bVar14 & 4) != 0)) ||\n               (((*(byte *)((long)&DAT_001e3bcc + (uVar9 + 0xe) * 8 + 1) & 2) != 0 ||\n                ((*(byte *)(&DAT_001e3c38 + uVar9) & 8) != 0))))" (( "(") (binary_expression "((((bVar14 & 1) != 0) || ((bVar14 & 2) != 0)) || ((bVar14 & 4) != 0)) ||\n               (((*(byte *)((long)&DAT_001e3bcc + (uVar9 + 0xe) * 8 + 1) & 2) != 0 ||\n                ((*(byte *)(&DAT_001e3c38 + uVar9) & 8) != 0)))" (parenthesized_expression "((((bVar14 & 1) != 0) || ((bVar14 & 2) != 0)) || ((bVar14 & 4) != 0))" (( "(") (binary_expression "(((bVar14 & 1) != 0) || ((bVar14 & 2) != 0)) || ((bVar14 & 4) != 0)" (parenthesized_expression "(((bVar14 & 1) != 0) || ((bVar14 & 2) != 0))" (( "(") (binary_expression "((bVar14 & 1) != 0) || ((bVar14 & 2) != 0)" (parenthesized_expression "((bVar14 & 1) != 0)" (( "(") (binary_expression "(bVar14 & 1) != 0" (parenthesized_expression "(bVar14 & 1)" (( "(") (binary_expression "bVar14 & 1" (identifier "bVar14") (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "((bVar14 & 2) != 0)" (( "(") (binary_expression "(bVar14 & 2) != 0" (parenthesized_expression "(bVar14 & 2)" (( "(") (binary_expression "bVar14 & 2" (identifier "bVar14") (& "&") (number_literal "2")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (|| "||") (parenthesized_expression "((bVar14 & 4) != 0)" (( "(") (binary_expression "(bVar14 & 4) != 0" (parenthesized_expression "(bVar14 & 4)" (( "(") (binary_expression "bVar14 & 4" (identifier "bVar14") (& "&") (number_literal "4")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (|| "||") (parenthesized_expression "(((*(byte *)((long)&DAT_001e3bcc + (uVar9 + 0xe) * 8 + 1) & 2) != 0 ||\n                ((*(byte *)(&DAT_001e3c38 + uVar9) & 8) != 0)))" (( "(") (parenthesized_expression "((*(byte *)((long)&DAT_001e3bcc + (uVar9 + 0xe) * 8 + 1) & 2) != 0 ||\n                ((*(byte *)(&DAT_001e3c38 + uVar9) & 8) != 0))" (( "(") (binary_expression "(*(byte *)((long)&DAT_001e3bcc + (uVar9 + 0xe) * 8 + 1) & 2) != 0 ||\n                ((*(byte *)(&DAT_001e3c38 + uVar9) & 8) != 0)" (binary_expression "(*(byte *)((long)&DAT_001e3bcc + (uVar9 + 0xe) * 8 + 1) & 2) != 0" (parenthesized_expression "(*(byte *)((long)&DAT_001e3bcc + (uVar9 + 0xe) * 8 + 1) & 2)" (( "(") (binary_expression "*(byte *)((long)&DAT_001e3bcc + (uVar9 + 0xe) * 8 + 1) & 2" (pointer_expression "*(byte *)((long)&DAT_001e3bcc + (uVar9 + 0xe) * 8 + 1)" (* "*") (cast_expression "(byte *)((long)&DAT_001e3bcc + (uVar9 + 0xe) * 8 + 1)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)&DAT_001e3bcc + (uVar9 + 0xe) * 8 + 1)" (( "(") (binary_expression "(long)&DAT_001e3bcc + (uVar9 + 0xe) * 8 + 1" (binary_expression "(long)&DAT_001e3bcc + (uVar9 + 0xe) * 8" (cast_expression "(long)&DAT_001e3bcc" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (pointer_expression "&DAT_001e3bcc" (& "&") (identifier "DAT_001e3bcc"))) (+ "+") (binary_expression "(uVar9 + 0xe) * 8" (parenthesized_expression "(uVar9 + 0xe)" (( "(") (binary_expression "uVar9 + 0xe" (identifier "uVar9") (+ "+") (number_literal "0xe")) () ")")) (* "*") (number_literal "8"))) (+ "+") (number_literal "1")) () ")")))) (& "&") (number_literal "2")) () ")")) (!= "!=") (number_literal "0")) (|| "||") (parenthesized_expression "((*(byte *)(&DAT_001e3c38 + uVar9) & 8) != 0)" (( "(") (binary_expression "(*(byte *)(&DAT_001e3c38 + uVar9) & 8) != 0" (parenthesized_expression "(*(byte *)(&DAT_001e3c38 + uVar9) & 8)" (( "(") (binary_expression "*(byte *)(&DAT_001e3c38 + uVar9) & 8" (pointer_expression "*(byte *)(&DAT_001e3c38 + uVar9)" (* "*") (cast_expression "(byte *)(&DAT_001e3c38 + uVar9)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_001e3c38 + uVar9)" (( "(") (binary_expression "&DAT_001e3c38 + uVar9" (pointer_expression "&DAT_001e3c38" (& "&") (identifier "DAT_001e3c38")) (+ "+") (identifier "uVar9")) () ")")))) (& "&") (number_literal "8")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) () ")"))) () ")")) (goto_statement "goto LAB_00133670;" (goto "goto") (statement_identifier "LAB_00133670") (; ";"))) (} "}"))) (expression_statement "uVar20 = (ulong)DAT_001e3c24;" (assignment_expression "uVar20 = (ulong)DAT_001e3c24" (identifier "uVar20") (= "=") (cast_expression "(ulong)DAT_001e3c24" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "DAT_001e3c24"))) (; ";")) (} "}"))) (} "}")))) (labeled_statement "LAB_00133670:\n      uVar15 = (uint)uVar20;" (statement_identifier "LAB_00133670") (: ":") (expression_statement "uVar15 = (uint)uVar20;" (assignment_expression "uVar15 = (uint)uVar20" (identifier "uVar15") (= "=") (cast_expression "(uint)uVar20" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar20"))) (; ";"))) (if_statement "if (bVar19 == 8) {\n        uVar15 = 0xffffffff;\n        uVar20 = uVar18;\nLAB_00133b96:\n        if (uVar15 != (uint)uVar20) goto LAB_001336a6;\n        if (DAT_001e3c30 != 0) goto LAB_001330bc;\n      }\n      else {\n        uVar18 = uVar20;\n        if (bVar21 == 8) {\n          if (uVar22 == 0xffffffff) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1c44,"build_modrm_byte");\n          }\n          uVar17 = uVar15 + 1;\n          uVar18 = (ulong)uVar17;\n          uVar9 = uVar20;\n          if (uVar22 < uVar15) {\n            if (DAT_001e3c24 <= uVar17) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c49,"build_modrm_byte");\n            }\n          }\n          else if ((((&DAT_001e3bf6)[uVar20 * 8] & 0x40) == 0) &&\n                  (((&DAT_001e3bf6)[uVar18 * 8] & 0x40) != 0)) {\n            if ((DAT_001e3c24 <= uVar15 + 2) || (uVar22 != uVar17)) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c55,"build_modrm_byte");\n            }\n            uVar18 = (ulong)(uVar15 + 2);\n          }\n          else {\n            uVar9 = uVar18;\n            uVar18 = uVar20;\n            uVar15 = uVar17;\n            if (DAT_001e3c24 <= uVar17) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c5a,"build_modrm_byte");\n            }\n          }\nLAB_00133e49:\n          lVar13 = uVar9 + 6;\n          bVar21 = *(byte *)((long)&DAT_001e3bc0 + lVar13 * 8 + 4);\n          if ((((bVar21 & 1) == 0) ||\n              ((-1 < *(char *)((long)&DAT_001e3bc0 + lVar13 * 8 + 7) &&\n               ((*(byte *)(&DAT_001e3bc8 + lVar13 * 2) & 2) == 0)))) &&\n             (((bVar21 & 4) == 0 &&\n              ((*(uint *)(&DAT_001e3bf8 + uVar9 * 8) != DAT_00153a54 ||\n               (*(int *)(&DAT_001e3bf4 + uVar9 * 8) != DAT_00153a50)))))) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1c7b,"build_modrm_byte");\n          }\n          DAT_001e3d18 = (&DAT_001e3c60)[uVar9];\n          uVar20 = uVar18;\n          goto LAB_00133b96;\n        }\n        if (bVar21 == 0x10) {\n          if (DAT_001e3c30 == 0) {\n            if (DAT_001e3c24 != uVar15 + 2) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c65,"build_modrm_byte");\n            }\n            uVar9 = (ulong)(uVar15 + 1);\n            uVar15 = uVar15 + 1;\n          }\n          else {\n            if ((DAT_001e3c34 + 2 <= uVar15) || (DAT_001e3c24 != DAT_001e3c34 + 2)) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c6c,"build_modrm_byte");\n            }\n            uVar15 = DAT_001e3c34 + 1;\n            if (uVar15 == 0xffffffff) goto LAB_001336a6;\n            uVar9 = (ulong)uVar15;\n          }\n          goto LAB_00133e49;\n        }\n        if (DAT_001e3c24 <= uVar15) {\n                    \n          FUN_0011dd00("../../gas/config/tc-i386.c",0x1c71,"build_modrm_byte");\n        }\nLAB_001336a6:\n        if (DAT_001e3bd0 == 0xffff) {\n          DAT_001e3cf0 = (uint)*(byte *)((&DAT_001e3c60)[uVar20] + 0x11);\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar20] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 4;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 4;\n          }\n          if (DAT_001e3c30 == 0) {\n            DAT_001e3cf4 = 3;\n            return puVar10;\n          }\n          return puVar10;\n        }\n        DAT_001e3cec = (uint)*(byte *)((&DAT_001e3c60)[uVar20] + 0x11);\n        bVar21 = *(byte *)((&DAT_001e3c60)[uVar20] + 0x10);\n        if ((bVar21 & 1) != 0) {\n          DAT_001e3cf8 = DAT_001e3cf8 | 1;\n        }\n        if ((bVar21 & 4) != 0) {\n          DAT_001e3cfc = DAT_001e3cfc | 1;\n        }\n        if (DAT_001e3c30 != 0) {\n          DAT_001e3cf0 = DAT_001e3bd0;\n          return puVar10;\n        }\n      }" (if "if") (parenthesized_expression "(bVar19 == 8)" (( "(") (binary_expression "bVar19 == 8" (identifier "bVar19") (== "==") (number_literal "8")) () ")")) (compound_statement "{\n        uVar15 = 0xffffffff;\n        uVar20 = uVar18;\nLAB_00133b96:\n        if (uVar15 != (uint)uVar20) goto LAB_001336a6;\n        if (DAT_001e3c30 != 0) goto LAB_001330bc;\n      }" ({ "{") (expression_statement "uVar15 = 0xffffffff;" (assignment_expression "uVar15 = 0xffffffff" (identifier "uVar15") (= "=") (number_literal "0xffffffff")) (; ";")) (expression_statement "uVar20 = uVar18;" (assignment_expression "uVar20 = uVar18" (identifier "uVar20") (= "=") (identifier "uVar18")) (; ";")) (labeled_statement "LAB_00133b96:\n        if (uVar15 != (uint)uVar20) goto LAB_001336a6;" (statement_identifier "LAB_00133b96") (: ":") (if_statement "if (uVar15 != (uint)uVar20) goto LAB_001336a6;" (if "if") (parenthesized_expression "(uVar15 != (uint)uVar20)" (( "(") (binary_expression "uVar15 != (uint)uVar20" (identifier "uVar15") (!= "!=") (cast_expression "(uint)uVar20" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar20"))) () ")")) (goto_statement "goto LAB_001336a6;" (goto "goto") (statement_identifier "LAB_001336a6") (; ";")))) (if_statement "if (DAT_001e3c30 != 0) goto LAB_001330bc;" (if "if") (parenthesized_expression "(DAT_001e3c30 != 0)" (( "(") (binary_expression "DAT_001e3c30 != 0" (identifier "DAT_001e3c30") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_001330bc;" (goto "goto") (statement_identifier "LAB_001330bc") (; ";"))) (} "}")) (else_clause "else {\n        uVar18 = uVar20;\n        if (bVar21 == 8) {\n          if (uVar22 == 0xffffffff) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1c44,"build_modrm_byte");\n          }\n          uVar17 = uVar15 + 1;\n          uVar18 = (ulong)uVar17;\n          uVar9 = uVar20;\n          if (uVar22 < uVar15) {\n            if (DAT_001e3c24 <= uVar17) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c49,"build_modrm_byte");\n            }\n          }\n          else if ((((&DAT_001e3bf6)[uVar20 * 8] & 0x40) == 0) &&\n                  (((&DAT_001e3bf6)[uVar18 * 8] & 0x40) != 0)) {\n            if ((DAT_001e3c24 <= uVar15 + 2) || (uVar22 != uVar17)) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c55,"build_modrm_byte");\n            }\n            uVar18 = (ulong)(uVar15 + 2);\n          }\n          else {\n            uVar9 = uVar18;\n            uVar18 = uVar20;\n            uVar15 = uVar17;\n            if (DAT_001e3c24 <= uVar17) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c5a,"build_modrm_byte");\n            }\n          }\nLAB_00133e49:\n          lVar13 = uVar9 + 6;\n          bVar21 = *(byte *)((long)&DAT_001e3bc0 + lVar13 * 8 + 4);\n          if ((((bVar21 & 1) == 0) ||\n              ((-1 < *(char *)((long)&DAT_001e3bc0 + lVar13 * 8 + 7) &&\n               ((*(byte *)(&DAT_001e3bc8 + lVar13 * 2) & 2) == 0)))) &&\n             (((bVar21 & 4) == 0 &&\n              ((*(uint *)(&DAT_001e3bf8 + uVar9 * 8) != DAT_00153a54 ||\n               (*(int *)(&DAT_001e3bf4 + uVar9 * 8) != DAT_00153a50)))))) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1c7b,"build_modrm_byte");\n          }\n          DAT_001e3d18 = (&DAT_001e3c60)[uVar9];\n          uVar20 = uVar18;\n          goto LAB_00133b96;\n        }\n        if (bVar21 == 0x10) {\n          if (DAT_001e3c30 == 0) {\n            if (DAT_001e3c24 != uVar15 + 2) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c65,"build_modrm_byte");\n            }\n            uVar9 = (ulong)(uVar15 + 1);\n            uVar15 = uVar15 + 1;\n          }\n          else {\n            if ((DAT_001e3c34 + 2 <= uVar15) || (DAT_001e3c24 != DAT_001e3c34 + 2)) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c6c,"build_modrm_byte");\n            }\n            uVar15 = DAT_001e3c34 + 1;\n            if (uVar15 == 0xffffffff) goto LAB_001336a6;\n            uVar9 = (ulong)uVar15;\n          }\n          goto LAB_00133e49;\n        }\n        if (DAT_001e3c24 <= uVar15) {\n                    \n          FUN_0011dd00("../../gas/config/tc-i386.c",0x1c71,"build_modrm_byte");\n        }\nLAB_001336a6:\n        if (DAT_001e3bd0 == 0xffff) {\n          DAT_001e3cf0 = (uint)*(byte *)((&DAT_001e3c60)[uVar20] + 0x11);\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar20] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 4;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 4;\n          }\n          if (DAT_001e3c30 == 0) {\n            DAT_001e3cf4 = 3;\n            return puVar10;\n          }\n          return puVar10;\n        }\n        DAT_001e3cec = (uint)*(byte *)((&DAT_001e3c60)[uVar20] + 0x11);\n        bVar21 = *(byte *)((&DAT_001e3c60)[uVar20] + 0x10);\n        if ((bVar21 & 1) != 0) {\n          DAT_001e3cf8 = DAT_001e3cf8 | 1;\n        }\n        if ((bVar21 & 4) != 0) {\n          DAT_001e3cfc = DAT_001e3cfc | 1;\n        }\n        if (DAT_001e3c30 != 0) {\n          DAT_001e3cf0 = DAT_001e3bd0;\n          return puVar10;\n        }\n      }" (else "else") (compound_statement "{\n        uVar18 = uVar20;\n        if (bVar21 == 8) {\n          if (uVar22 == 0xffffffff) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1c44,"build_modrm_byte");\n          }\n          uVar17 = uVar15 + 1;\n          uVar18 = (ulong)uVar17;\n          uVar9 = uVar20;\n          if (uVar22 < uVar15) {\n            if (DAT_001e3c24 <= uVar17) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c49,"build_modrm_byte");\n            }\n          }\n          else if ((((&DAT_001e3bf6)[uVar20 * 8] & 0x40) == 0) &&\n                  (((&DAT_001e3bf6)[uVar18 * 8] & 0x40) != 0)) {\n            if ((DAT_001e3c24 <= uVar15 + 2) || (uVar22 != uVar17)) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c55,"build_modrm_byte");\n            }\n            uVar18 = (ulong)(uVar15 + 2);\n          }\n          else {\n            uVar9 = uVar18;\n            uVar18 = uVar20;\n            uVar15 = uVar17;\n            if (DAT_001e3c24 <= uVar17) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c5a,"build_modrm_byte");\n            }\n          }\nLAB_00133e49:\n          lVar13 = uVar9 + 6;\n          bVar21 = *(byte *)((long)&DAT_001e3bc0 + lVar13 * 8 + 4);\n          if ((((bVar21 & 1) == 0) ||\n              ((-1 < *(char *)((long)&DAT_001e3bc0 + lVar13 * 8 + 7) &&\n               ((*(byte *)(&DAT_001e3bc8 + lVar13 * 2) & 2) == 0)))) &&\n             (((bVar21 & 4) == 0 &&\n              ((*(uint *)(&DAT_001e3bf8 + uVar9 * 8) != DAT_00153a54 ||\n               (*(int *)(&DAT_001e3bf4 + uVar9 * 8) != DAT_00153a50)))))) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1c7b,"build_modrm_byte");\n          }\n          DAT_001e3d18 = (&DAT_001e3c60)[uVar9];\n          uVar20 = uVar18;\n          goto LAB_00133b96;\n        }\n        if (bVar21 == 0x10) {\n          if (DAT_001e3c30 == 0) {\n            if (DAT_001e3c24 != uVar15 + 2) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c65,"build_modrm_byte");\n            }\n            uVar9 = (ulong)(uVar15 + 1);\n            uVar15 = uVar15 + 1;\n          }\n          else {\n            if ((DAT_001e3c34 + 2 <= uVar15) || (DAT_001e3c24 != DAT_001e3c34 + 2)) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c6c,"build_modrm_byte");\n            }\n            uVar15 = DAT_001e3c34 + 1;\n            if (uVar15 == 0xffffffff) goto LAB_001336a6;\n            uVar9 = (ulong)uVar15;\n          }\n          goto LAB_00133e49;\n        }\n        if (DAT_001e3c24 <= uVar15) {\n                    \n          FUN_0011dd00("../../gas/config/tc-i386.c",0x1c71,"build_modrm_byte");\n        }\nLAB_001336a6:\n        if (DAT_001e3bd0 == 0xffff) {\n          DAT_001e3cf0 = (uint)*(byte *)((&DAT_001e3c60)[uVar20] + 0x11);\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar20] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 4;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 4;\n          }\n          if (DAT_001e3c30 == 0) {\n            DAT_001e3cf4 = 3;\n            return puVar10;\n          }\n          return puVar10;\n        }\n        DAT_001e3cec = (uint)*(byte *)((&DAT_001e3c60)[uVar20] + 0x11);\n        bVar21 = *(byte *)((&DAT_001e3c60)[uVar20] + 0x10);\n        if ((bVar21 & 1) != 0) {\n          DAT_001e3cf8 = DAT_001e3cf8 | 1;\n        }\n        if ((bVar21 & 4) != 0) {\n          DAT_001e3cfc = DAT_001e3cfc | 1;\n        }\n        if (DAT_001e3c30 != 0) {\n          DAT_001e3cf0 = DAT_001e3bd0;\n          return puVar10;\n        }\n      }" ({ "{") (expression_statement "uVar18 = uVar20;" (assignment_expression "uVar18 = uVar20" (identifier "uVar18") (= "=") (identifier "uVar20")) (; ";")) (if_statement "if (bVar21 == 8) {\n          if (uVar22 == 0xffffffff) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1c44,"build_modrm_byte");\n          }\n          uVar17 = uVar15 + 1;\n          uVar18 = (ulong)uVar17;\n          uVar9 = uVar20;\n          if (uVar22 < uVar15) {\n            if (DAT_001e3c24 <= uVar17) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c49,"build_modrm_byte");\n            }\n          }\n          else if ((((&DAT_001e3bf6)[uVar20 * 8] & 0x40) == 0) &&\n                  (((&DAT_001e3bf6)[uVar18 * 8] & 0x40) != 0)) {\n            if ((DAT_001e3c24 <= uVar15 + 2) || (uVar22 != uVar17)) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c55,"build_modrm_byte");\n            }\n            uVar18 = (ulong)(uVar15 + 2);\n          }\n          else {\n            uVar9 = uVar18;\n            uVar18 = uVar20;\n            uVar15 = uVar17;\n            if (DAT_001e3c24 <= uVar17) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c5a,"build_modrm_byte");\n            }\n          }\nLAB_00133e49:\n          lVar13 = uVar9 + 6;\n          bVar21 = *(byte *)((long)&DAT_001e3bc0 + lVar13 * 8 + 4);\n          if ((((bVar21 & 1) == 0) ||\n              ((-1 < *(char *)((long)&DAT_001e3bc0 + lVar13 * 8 + 7) &&\n               ((*(byte *)(&DAT_001e3bc8 + lVar13 * 2) & 2) == 0)))) &&\n             (((bVar21 & 4) == 0 &&\n              ((*(uint *)(&DAT_001e3bf8 + uVar9 * 8) != DAT_00153a54 ||\n               (*(int *)(&DAT_001e3bf4 + uVar9 * 8) != DAT_00153a50)))))) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1c7b,"build_modrm_byte");\n          }\n          DAT_001e3d18 = (&DAT_001e3c60)[uVar9];\n          uVar20 = uVar18;\n          goto LAB_00133b96;\n        }" (if "if") (parenthesized_expression "(bVar21 == 8)" (( "(") (binary_expression "bVar21 == 8" (identifier "bVar21") (== "==") (number_literal "8")) () ")")) (compound_statement "{\n          if (uVar22 == 0xffffffff) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1c44,"build_modrm_byte");\n          }\n          uVar17 = uVar15 + 1;\n          uVar18 = (ulong)uVar17;\n          uVar9 = uVar20;\n          if (uVar22 < uVar15) {\n            if (DAT_001e3c24 <= uVar17) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c49,"build_modrm_byte");\n            }\n          }\n          else if ((((&DAT_001e3bf6)[uVar20 * 8] & 0x40) == 0) &&\n                  (((&DAT_001e3bf6)[uVar18 * 8] & 0x40) != 0)) {\n            if ((DAT_001e3c24 <= uVar15 + 2) || (uVar22 != uVar17)) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c55,"build_modrm_byte");\n            }\n            uVar18 = (ulong)(uVar15 + 2);\n          }\n          else {\n            uVar9 = uVar18;\n            uVar18 = uVar20;\n            uVar15 = uVar17;\n            if (DAT_001e3c24 <= uVar17) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c5a,"build_modrm_byte");\n            }\n          }\nLAB_00133e49:\n          lVar13 = uVar9 + 6;\n          bVar21 = *(byte *)((long)&DAT_001e3bc0 + lVar13 * 8 + 4);\n          if ((((bVar21 & 1) == 0) ||\n              ((-1 < *(char *)((long)&DAT_001e3bc0 + lVar13 * 8 + 7) &&\n               ((*(byte *)(&DAT_001e3bc8 + lVar13 * 2) & 2) == 0)))) &&\n             (((bVar21 & 4) == 0 &&\n              ((*(uint *)(&DAT_001e3bf8 + uVar9 * 8) != DAT_00153a54 ||\n               (*(int *)(&DAT_001e3bf4 + uVar9 * 8) != DAT_00153a50)))))) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1c7b,"build_modrm_byte");\n          }\n          DAT_001e3d18 = (&DAT_001e3c60)[uVar9];\n          uVar20 = uVar18;\n          goto LAB_00133b96;\n        }" ({ "{") (if_statement "if (uVar22 == 0xffffffff) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1c44,"build_modrm_byte");\n          }" (if "if") (parenthesized_expression "(uVar22 == 0xffffffff)" (( "(") (binary_expression "uVar22 == 0xffffffff" (identifier "uVar22") (== "==") (number_literal "0xffffffff")) () ")")) (compound_statement "{\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1c44,"build_modrm_byte");\n          }" ({ "{") (expression_statement "FUN_0011dd00("../../gas/config/tc-i386.c",0x1c44,"build_modrm_byte");" (call_expression "FUN_0011dd00("../../gas/config/tc-i386.c",0x1c44,"build_modrm_byte")" (identifier "FUN_0011dd00") (argument_list "("../../gas/config/tc-i386.c",0x1c44,"build_modrm_byte")" (( "(") (string_literal ""../../gas/config/tc-i386.c"" (" """) (string_content "../../gas/config/tc-i386.c") (" """)) (, ",") (number_literal "0x1c44") (, ",") (string_literal ""build_modrm_byte"" (" """) (string_content "build_modrm_byte") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "uVar17 = uVar15 + 1;" (assignment_expression "uVar17 = uVar15 + 1" (identifier "uVar17") (= "=") (binary_expression "uVar15 + 1" (identifier "uVar15") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "uVar18 = (ulong)uVar17;" (assignment_expression "uVar18 = (ulong)uVar17" (identifier "uVar18") (= "=") (cast_expression "(ulong)uVar17" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar17"))) (; ";")) (expression_statement "uVar9 = uVar20;" (assignment_expression "uVar9 = uVar20" (identifier "uVar9") (= "=") (identifier "uVar20")) (; ";")) (if_statement "if (uVar22 < uVar15) {\n            if (DAT_001e3c24 <= uVar17) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c49,"build_modrm_byte");\n            }\n          }\n          else if ((((&DAT_001e3bf6)[uVar20 * 8] & 0x40) == 0) &&\n                  (((&DAT_001e3bf6)[uVar18 * 8] & 0x40) != 0)) {\n            if ((DAT_001e3c24 <= uVar15 + 2) || (uVar22 != uVar17)) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c55,"build_modrm_byte");\n            }\n            uVar18 = (ulong)(uVar15 + 2);\n          }\n          else {\n            uVar9 = uVar18;\n            uVar18 = uVar20;\n            uVar15 = uVar17;\n            if (DAT_001e3c24 <= uVar17) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c5a,"build_modrm_byte");\n            }\n          }" (if "if") (parenthesized_expression "(uVar22 < uVar15)" (( "(") (binary_expression "uVar22 < uVar15" (identifier "uVar22") (< "<") (identifier "uVar15")) () ")")) (compound_statement "{\n            if (DAT_001e3c24 <= uVar17) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c49,"build_modrm_byte");\n            }\n          }" ({ "{") (if_statement "if (DAT_001e3c24 <= uVar17) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c49,"build_modrm_byte");\n            }" (if "if") (parenthesized_expression "(DAT_001e3c24 <= uVar17)" (( "(") (binary_expression "DAT_001e3c24 <= uVar17" (identifier "DAT_001e3c24") (<= "<=") (identifier "uVar17")) () ")")) (compound_statement "{\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c49,"build_modrm_byte");\n            }" ({ "{") (expression_statement "FUN_0011dd00("../../gas/config/tc-i386.c",0x1c49,"build_modrm_byte");" (call_expression "FUN_0011dd00("../../gas/config/tc-i386.c",0x1c49,"build_modrm_byte")" (identifier "FUN_0011dd00") (argument_list "("../../gas/config/tc-i386.c",0x1c49,"build_modrm_byte")" (( "(") (string_literal ""../../gas/config/tc-i386.c"" (" """) (string_content "../../gas/config/tc-i386.c") (" """)) (, ",") (number_literal "0x1c49") (, ",") (string_literal ""build_modrm_byte"" (" """) (string_content "build_modrm_byte") (" """)) () ")"))) (; ";")) (} "}"))) (} "}")) (else_clause "else if ((((&DAT_001e3bf6)[uVar20 * 8] & 0x40) == 0) &&\n                  (((&DAT_001e3bf6)[uVar18 * 8] & 0x40) != 0)) {\n            if ((DAT_001e3c24 <= uVar15 + 2) || (uVar22 != uVar17)) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c55,"build_modrm_byte");\n            }\n            uVar18 = (ulong)(uVar15 + 2);\n          }\n          else {\n            uVar9 = uVar18;\n            uVar18 = uVar20;\n            uVar15 = uVar17;\n            if (DAT_001e3c24 <= uVar17) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c5a,"build_modrm_byte");\n            }\n          }" (else "else") (if_statement "if ((((&DAT_001e3bf6)[uVar20 * 8] & 0x40) == 0) &&\n                  (((&DAT_001e3bf6)[uVar18 * 8] & 0x40) != 0)) {\n            if ((DAT_001e3c24 <= uVar15 + 2) || (uVar22 != uVar17)) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c55,"build_modrm_byte");\n            }\n            uVar18 = (ulong)(uVar15 + 2);\n          }\n          else {\n            uVar9 = uVar18;\n            uVar18 = uVar20;\n            uVar15 = uVar17;\n            if (DAT_001e3c24 <= uVar17) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c5a,"build_modrm_byte");\n            }\n          }" (if "if") (parenthesized_expression "((((&DAT_001e3bf6)[uVar20 * 8] & 0x40) == 0) &&\n                  (((&DAT_001e3bf6)[uVar18 * 8] & 0x40) != 0))" (( "(") (binary_expression "(((&DAT_001e3bf6)[uVar20 * 8] & 0x40) == 0) &&\n                  (((&DAT_001e3bf6)[uVar18 * 8] & 0x40) != 0)" (parenthesized_expression "(((&DAT_001e3bf6)[uVar20 * 8] & 0x40) == 0)" (( "(") (binary_expression "((&DAT_001e3bf6)[uVar20 * 8] & 0x40) == 0" (parenthesized_expression "((&DAT_001e3bf6)[uVar20 * 8] & 0x40)" (( "(") (binary_expression "(&DAT_001e3bf6)[uVar20 * 8] & 0x40" (subscript_expression "(&DAT_001e3bf6)[uVar20 * 8]" (parenthesized_expression "(&DAT_001e3bf6)" (( "(") (pointer_expression "&DAT_001e3bf6" (& "&") (identifier "DAT_001e3bf6")) () ")")) ([ "[") (binary_expression "uVar20 * 8" (identifier "uVar20") (* "*") (number_literal "8")) (] "]")) (& "&") (number_literal "0x40")) () ")")) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(((&DAT_001e3bf6)[uVar18 * 8] & 0x40) != 0)" (( "(") (binary_expression "((&DAT_001e3bf6)[uVar18 * 8] & 0x40) != 0" (parenthesized_expression "((&DAT_001e3bf6)[uVar18 * 8] & 0x40)" (( "(") (binary_expression "(&DAT_001e3bf6)[uVar18 * 8] & 0x40" (subscript_expression "(&DAT_001e3bf6)[uVar18 * 8]" (parenthesized_expression "(&DAT_001e3bf6)" (( "(") (pointer_expression "&DAT_001e3bf6" (& "&") (identifier "DAT_001e3bf6")) () ")")) ([ "[") (binary_expression "uVar18 * 8" (identifier "uVar18") (* "*") (number_literal "8")) (] "]")) (& "&") (number_literal "0x40")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n            if ((DAT_001e3c24 <= uVar15 + 2) || (uVar22 != uVar17)) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c55,"build_modrm_byte");\n            }\n            uVar18 = (ulong)(uVar15 + 2);\n          }" ({ "{") (if_statement "if ((DAT_001e3c24 <= uVar15 + 2) || (uVar22 != uVar17)) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c55,"build_modrm_byte");\n            }" (if "if") (parenthesized_expression "((DAT_001e3c24 <= uVar15 + 2) || (uVar22 != uVar17))" (( "(") (binary_expression "(DAT_001e3c24 <= uVar15 + 2) || (uVar22 != uVar17)" (parenthesized_expression "(DAT_001e3c24 <= uVar15 + 2)" (( "(") (binary_expression "DAT_001e3c24 <= uVar15 + 2" (identifier "DAT_001e3c24") (<= "<=") (binary_expression "uVar15 + 2" (identifier "uVar15") (+ "+") (number_literal "2"))) () ")")) (|| "||") (parenthesized_expression "(uVar22 != uVar17)" (( "(") (binary_expression "uVar22 != uVar17" (identifier "uVar22") (!= "!=") (identifier "uVar17")) () ")"))) () ")")) (compound_statement "{\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c55,"build_modrm_byte");\n            }" ({ "{") (expression_statement "FUN_0011dd00("../../gas/config/tc-i386.c",0x1c55,"build_modrm_byte");" (call_expression "FUN_0011dd00("../../gas/config/tc-i386.c",0x1c55,"build_modrm_byte")" (identifier "FUN_0011dd00") (argument_list "("../../gas/config/tc-i386.c",0x1c55,"build_modrm_byte")" (( "(") (string_literal ""../../gas/config/tc-i386.c"" (" """) (string_content "../../gas/config/tc-i386.c") (" """)) (, ",") (number_literal "0x1c55") (, ",") (string_literal ""build_modrm_byte"" (" """) (string_content "build_modrm_byte") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "uVar18 = (ulong)(uVar15 + 2);" (assignment_expression "uVar18 = (ulong)(uVar15 + 2)" (identifier "uVar18") (= "=") (call_expression "(ulong)(uVar15 + 2)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar15 + 2)" (( "(") (binary_expression "uVar15 + 2" (identifier "uVar15") (+ "+") (number_literal "2")) () ")")))) (; ";")) (} "}")) (else_clause "else {\n            uVar9 = uVar18;\n            uVar18 = uVar20;\n            uVar15 = uVar17;\n            if (DAT_001e3c24 <= uVar17) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c5a,"build_modrm_byte");\n            }\n          }" (else "else") (compound_statement "{\n            uVar9 = uVar18;\n            uVar18 = uVar20;\n            uVar15 = uVar17;\n            if (DAT_001e3c24 <= uVar17) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c5a,"build_modrm_byte");\n            }\n          }" ({ "{") (expression_statement "uVar9 = uVar18;" (assignment_expression "uVar9 = uVar18" (identifier "uVar9") (= "=") (identifier "uVar18")) (; ";")) (expression_statement "uVar18 = uVar20;" (assignment_expression "uVar18 = uVar20" (identifier "uVar18") (= "=") (identifier "uVar20")) (; ";")) (expression_statement "uVar15 = uVar17;" (assignment_expression "uVar15 = uVar17" (identifier "uVar15") (= "=") (identifier "uVar17")) (; ";")) (if_statement "if (DAT_001e3c24 <= uVar17) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c5a,"build_modrm_byte");\n            }" (if "if") (parenthesized_expression "(DAT_001e3c24 <= uVar17)" (( "(") (binary_expression "DAT_001e3c24 <= uVar17" (identifier "DAT_001e3c24") (<= "<=") (identifier "uVar17")) () ")")) (compound_statement "{\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c5a,"build_modrm_byte");\n            }" ({ "{") (expression_statement "FUN_0011dd00("../../gas/config/tc-i386.c",0x1c5a,"build_modrm_byte");" (call_expression "FUN_0011dd00("../../gas/config/tc-i386.c",0x1c5a,"build_modrm_byte")" (identifier "FUN_0011dd00") (argument_list "("../../gas/config/tc-i386.c",0x1c5a,"build_modrm_byte")" (( "(") (string_literal ""../../gas/config/tc-i386.c"" (" """) (string_content "../../gas/config/tc-i386.c") (" """)) (, ",") (number_literal "0x1c5a") (, ",") (string_literal ""build_modrm_byte"" (" """) (string_content "build_modrm_byte") (" """)) () ")"))) (; ";")) (} "}"))) (} "}")))))) (labeled_statement "LAB_00133e49:\n          lVar13 = uVar9 + 6;" (statement_identifier "LAB_00133e49") (: ":") (expression_statement "lVar13 = uVar9 + 6;" (assignment_expression "lVar13 = uVar9 + 6" (identifier "lVar13") (= "=") (binary_expression "uVar9 + 6" (identifier "uVar9") (+ "+") (number_literal "6"))) (; ";"))) (expression_statement "bVar21 = *(byte *)((long)&DAT_001e3bc0 + lVar13 * 8 + 4);" (assignment_expression "bVar21 = *(byte *)((long)&DAT_001e3bc0 + lVar13 * 8 + 4)" (identifier "bVar21") (= "=") (pointer_expression "*(byte *)((long)&DAT_001e3bc0 + lVar13 * 8 + 4)" (* "*") (cast_expression "(byte *)((long)&DAT_001e3bc0 + lVar13 * 8 + 4)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)&DAT_001e3bc0 + lVar13 * 8 + 4)" (( "(") (binary_expression "(long)&DAT_001e3bc0 + lVar13 * 8 + 4" (binary_expression "(long)&DAT_001e3bc0 + lVar13 * 8" (cast_expression "(long)&DAT_001e3bc0" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (pointer_expression "&DAT_001e3bc0" (& "&") (identifier "DAT_001e3bc0"))) (+ "+") (binary_expression "lVar13 * 8" (identifier "lVar13") (* "*") (number_literal "8"))) (+ "+") (number_literal "4")) () ")"))))) (; ";")) (if_statement "if ((((bVar21 & 1) == 0) ||\n              ((-1 < *(char *)((long)&DAT_001e3bc0 + lVar13 * 8 + 7) &&\n               ((*(byte *)(&DAT_001e3bc8 + lVar13 * 2) & 2) == 0)))) &&\n             (((bVar21 & 4) == 0 &&\n              ((*(uint *)(&DAT_001e3bf8 + uVar9 * 8) != DAT_00153a54 ||\n               (*(int *)(&DAT_001e3bf4 + uVar9 * 8) != DAT_00153a50)))))) {\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1c7b,"build_modrm_byte");\n          }" (if "if") (parenthesized_expression "((((bVar21 & 1) == 0) ||\n              ((-1 < *(char *)((long)&DAT_001e3bc0 + lVar13 * 8 + 7) &&\n               ((*(byte *)(&DAT_001e3bc8 + lVar13 * 2) & 2) == 0)))) &&\n             (((bVar21 & 4) == 0 &&\n              ((*(uint *)(&DAT_001e3bf8 + uVar9 * 8) != DAT_00153a54 ||\n               (*(int *)(&DAT_001e3bf4 + uVar9 * 8) != DAT_00153a50))))))" (( "(") (binary_expression "(((bVar21 & 1) == 0) ||\n              ((-1 < *(char *)((long)&DAT_001e3bc0 + lVar13 * 8 + 7) &&\n               ((*(byte *)(&DAT_001e3bc8 + lVar13 * 2) & 2) == 0)))) &&\n             (((bVar21 & 4) == 0 &&\n              ((*(uint *)(&DAT_001e3bf8 + uVar9 * 8) != DAT_00153a54 ||\n               (*(int *)(&DAT_001e3bf4 + uVar9 * 8) != DAT_00153a50)))))" (parenthesized_expression "(((bVar21 & 1) == 0) ||\n              ((-1 < *(char *)((long)&DAT_001e3bc0 + lVar13 * 8 + 7) &&\n               ((*(byte *)(&DAT_001e3bc8 + lVar13 * 2) & 2) == 0))))" (( "(") (binary_expression "((bVar21 & 1) == 0) ||\n              ((-1 < *(char *)((long)&DAT_001e3bc0 + lVar13 * 8 + 7) &&\n               ((*(byte *)(&DAT_001e3bc8 + lVar13 * 2) & 2) == 0)))" (parenthesized_expression "((bVar21 & 1) == 0)" (( "(") (binary_expression "(bVar21 & 1) == 0" (parenthesized_expression "(bVar21 & 1)" (( "(") (binary_expression "bVar21 & 1" (identifier "bVar21") (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "((-1 < *(char *)((long)&DAT_001e3bc0 + lVar13 * 8 + 7) &&\n               ((*(byte *)(&DAT_001e3bc8 + lVar13 * 2) & 2) == 0)))" (( "(") (parenthesized_expression "(-1 < *(char *)((long)&DAT_001e3bc0 + lVar13 * 8 + 7) &&\n               ((*(byte *)(&DAT_001e3bc8 + lVar13 * 2) & 2) == 0))" (( "(") (binary_expression "-1 < *(char *)((long)&DAT_001e3bc0 + lVar13 * 8 + 7) &&\n               ((*(byte *)(&DAT_001e3bc8 + lVar13 * 2) & 2) == 0)" (binary_expression "-1 < *(char *)((long)&DAT_001e3bc0 + lVar13 * 8 + 7)" (number_literal "-1") (< "<") (pointer_expression "*(char *)((long)&DAT_001e3bc0 + lVar13 * 8 + 7)" (* "*") (cast_expression "(char *)((long)&DAT_001e3bc0 + lVar13 * 8 + 7)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)&DAT_001e3bc0 + lVar13 * 8 + 7)" (( "(") (binary_expression "(long)&DAT_001e3bc0 + lVar13 * 8 + 7" (binary_expression "(long)&DAT_001e3bc0 + lVar13 * 8" (cast_expression "(long)&DAT_001e3bc0" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (pointer_expression "&DAT_001e3bc0" (& "&") (identifier "DAT_001e3bc0"))) (+ "+") (binary_expression "lVar13 * 8" (identifier "lVar13") (* "*") (number_literal "8"))) (+ "+") (number_literal "7")) () ")"))))) (&& "&&") (parenthesized_expression "((*(byte *)(&DAT_001e3bc8 + lVar13 * 2) & 2) == 0)" (( "(") (binary_expression "(*(byte *)(&DAT_001e3bc8 + lVar13 * 2) & 2) == 0" (parenthesized_expression "(*(byte *)(&DAT_001e3bc8 + lVar13 * 2) & 2)" (( "(") (binary_expression "*(byte *)(&DAT_001e3bc8 + lVar13 * 2) & 2" (pointer_expression "*(byte *)(&DAT_001e3bc8 + lVar13 * 2)" (* "*") (cast_expression "(byte *)(&DAT_001e3bc8 + lVar13 * 2)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_001e3bc8 + lVar13 * 2)" (( "(") (binary_expression "&DAT_001e3bc8 + lVar13 * 2" (pointer_expression "&DAT_001e3bc8" (& "&") (identifier "DAT_001e3bc8")) (+ "+") (binary_expression "lVar13 * 2" (identifier "lVar13") (* "*") (number_literal "2"))) () ")")))) (& "&") (number_literal "2")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(((bVar21 & 4) == 0 &&\n              ((*(uint *)(&DAT_001e3bf8 + uVar9 * 8) != DAT_00153a54 ||\n               (*(int *)(&DAT_001e3bf4 + uVar9 * 8) != DAT_00153a50)))))" (( "(") (parenthesized_expression "((bVar21 & 4) == 0 &&\n              ((*(uint *)(&DAT_001e3bf8 + uVar9 * 8) != DAT_00153a54 ||\n               (*(int *)(&DAT_001e3bf4 + uVar9 * 8) != DAT_00153a50))))" (( "(") (binary_expression "(bVar21 & 4) == 0 &&\n              ((*(uint *)(&DAT_001e3bf8 + uVar9 * 8) != DAT_00153a54 ||\n               (*(int *)(&DAT_001e3bf4 + uVar9 * 8) != DAT_00153a50)))" (binary_expression "(bVar21 & 4) == 0" (parenthesized_expression "(bVar21 & 4)" (( "(") (binary_expression "bVar21 & 4" (identifier "bVar21") (& "&") (number_literal "4")) () ")")) (== "==") (number_literal "0")) (&& "&&") (parenthesized_expression "((*(uint *)(&DAT_001e3bf8 + uVar9 * 8) != DAT_00153a54 ||\n               (*(int *)(&DAT_001e3bf4 + uVar9 * 8) != DAT_00153a50)))" (( "(") (parenthesized_expression "(*(uint *)(&DAT_001e3bf8 + uVar9 * 8) != DAT_00153a54 ||\n               (*(int *)(&DAT_001e3bf4 + uVar9 * 8) != DAT_00153a50))" (( "(") (binary_expression "*(uint *)(&DAT_001e3bf8 + uVar9 * 8) != DAT_00153a54 ||\n               (*(int *)(&DAT_001e3bf4 + uVar9 * 8) != DAT_00153a50)" (binary_expression "*(uint *)(&DAT_001e3bf8 + uVar9 * 8) != DAT_00153a54" (pointer_expression "*(uint *)(&DAT_001e3bf8 + uVar9 * 8)" (* "*") (cast_expression "(uint *)(&DAT_001e3bf8 + uVar9 * 8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_001e3bf8 + uVar9 * 8)" (( "(") (binary_expression "&DAT_001e3bf8 + uVar9 * 8" (pointer_expression "&DAT_001e3bf8" (& "&") (identifier "DAT_001e3bf8")) (+ "+") (binary_expression "uVar9 * 8" (identifier "uVar9") (* "*") (number_literal "8"))) () ")")))) (!= "!=") (identifier "DAT_00153a54")) (|| "||") (parenthesized_expression "(*(int *)(&DAT_001e3bf4 + uVar9 * 8) != DAT_00153a50)" (( "(") (binary_expression "*(int *)(&DAT_001e3bf4 + uVar9 * 8) != DAT_00153a50" (pointer_expression "*(int *)(&DAT_001e3bf4 + uVar9 * 8)" (* "*") (cast_expression "(int *)(&DAT_001e3bf4 + uVar9 * 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_001e3bf4 + uVar9 * 8)" (( "(") (binary_expression "&DAT_001e3bf4 + uVar9 * 8" (pointer_expression "&DAT_001e3bf4" (& "&") (identifier "DAT_001e3bf4")) (+ "+") (binary_expression "uVar9 * 8" (identifier "uVar9") (* "*") (number_literal "8"))) () ")")))) (!= "!=") (identifier "DAT_00153a50")) () ")"))) () ")")) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n                    \n            FUN_0011dd00("../../gas/config/tc-i386.c",0x1c7b,"build_modrm_byte");\n          }" ({ "{") (expression_statement "FUN_0011dd00("../../gas/config/tc-i386.c",0x1c7b,"build_modrm_byte");" (call_expression "FUN_0011dd00("../../gas/config/tc-i386.c",0x1c7b,"build_modrm_byte")" (identifier "FUN_0011dd00") (argument_list "("../../gas/config/tc-i386.c",0x1c7b,"build_modrm_byte")" (( "(") (string_literal ""../../gas/config/tc-i386.c"" (" """) (string_content "../../gas/config/tc-i386.c") (" """)) (, ",") (number_literal "0x1c7b") (, ",") (string_literal ""build_modrm_byte"" (" """) (string_content "build_modrm_byte") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "DAT_001e3d18 = (&DAT_001e3c60)[uVar9];" (assignment_expression "DAT_001e3d18 = (&DAT_001e3c60)[uVar9]" (identifier "DAT_001e3d18") (= "=") (subscript_expression "(&DAT_001e3c60)[uVar9]" (parenthesized_expression "(&DAT_001e3c60)" (( "(") (pointer_expression "&DAT_001e3c60" (& "&") (identifier "DAT_001e3c60")) () ")")) ([ "[") (identifier "uVar9") (] "]"))) (; ";")) (expression_statement "uVar20 = uVar18;" (assignment_expression "uVar20 = uVar18" (identifier "uVar20") (= "=") (identifier "uVar18")) (; ";")) (goto_statement "goto LAB_00133b96;" (goto "goto") (statement_identifier "LAB_00133b96") (; ";")) (} "}"))) (if_statement "if (bVar21 == 0x10) {\n          if (DAT_001e3c30 == 0) {\n            if (DAT_001e3c24 != uVar15 + 2) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c65,"build_modrm_byte");\n            }\n            uVar9 = (ulong)(uVar15 + 1);\n            uVar15 = uVar15 + 1;\n          }\n          else {\n            if ((DAT_001e3c34 + 2 <= uVar15) || (DAT_001e3c24 != DAT_001e3c34 + 2)) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c6c,"build_modrm_byte");\n            }\n            uVar15 = DAT_001e3c34 + 1;\n            if (uVar15 == 0xffffffff) goto LAB_001336a6;\n            uVar9 = (ulong)uVar15;\n          }\n          goto LAB_00133e49;\n        }" (if "if") (parenthesized_expression "(bVar21 == 0x10)" (( "(") (binary_expression "bVar21 == 0x10" (identifier "bVar21") (== "==") (number_literal "0x10")) () ")")) (compound_statement "{\n          if (DAT_001e3c30 == 0) {\n            if (DAT_001e3c24 != uVar15 + 2) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c65,"build_modrm_byte");\n            }\n            uVar9 = (ulong)(uVar15 + 1);\n            uVar15 = uVar15 + 1;\n          }\n          else {\n            if ((DAT_001e3c34 + 2 <= uVar15) || (DAT_001e3c24 != DAT_001e3c34 + 2)) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c6c,"build_modrm_byte");\n            }\n            uVar15 = DAT_001e3c34 + 1;\n            if (uVar15 == 0xffffffff) goto LAB_001336a6;\n            uVar9 = (ulong)uVar15;\n          }\n          goto LAB_00133e49;\n        }" ({ "{") (if_statement "if (DAT_001e3c30 == 0) {\n            if (DAT_001e3c24 != uVar15 + 2) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c65,"build_modrm_byte");\n            }\n            uVar9 = (ulong)(uVar15 + 1);\n            uVar15 = uVar15 + 1;\n          }\n          else {\n            if ((DAT_001e3c34 + 2 <= uVar15) || (DAT_001e3c24 != DAT_001e3c34 + 2)) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c6c,"build_modrm_byte");\n            }\n            uVar15 = DAT_001e3c34 + 1;\n            if (uVar15 == 0xffffffff) goto LAB_001336a6;\n            uVar9 = (ulong)uVar15;\n          }" (if "if") (parenthesized_expression "(DAT_001e3c30 == 0)" (( "(") (binary_expression "DAT_001e3c30 == 0" (identifier "DAT_001e3c30") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            if (DAT_001e3c24 != uVar15 + 2) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c65,"build_modrm_byte");\n            }\n            uVar9 = (ulong)(uVar15 + 1);\n            uVar15 = uVar15 + 1;\n          }" ({ "{") (if_statement "if (DAT_001e3c24 != uVar15 + 2) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c65,"build_modrm_byte");\n            }" (if "if") (parenthesized_expression "(DAT_001e3c24 != uVar15 + 2)" (( "(") (binary_expression "DAT_001e3c24 != uVar15 + 2" (identifier "DAT_001e3c24") (!= "!=") (binary_expression "uVar15 + 2" (identifier "uVar15") (+ "+") (number_literal "2"))) () ")")) (compound_statement "{\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c65,"build_modrm_byte");\n            }" ({ "{") (expression_statement "FUN_0011dd00("../../gas/config/tc-i386.c",0x1c65,"build_modrm_byte");" (call_expression "FUN_0011dd00("../../gas/config/tc-i386.c",0x1c65,"build_modrm_byte")" (identifier "FUN_0011dd00") (argument_list "("../../gas/config/tc-i386.c",0x1c65,"build_modrm_byte")" (( "(") (string_literal ""../../gas/config/tc-i386.c"" (" """) (string_content "../../gas/config/tc-i386.c") (" """)) (, ",") (number_literal "0x1c65") (, ",") (string_literal ""build_modrm_byte"" (" """) (string_content "build_modrm_byte") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "uVar9 = (ulong)(uVar15 + 1);" (assignment_expression "uVar9 = (ulong)(uVar15 + 1)" (identifier "uVar9") (= "=") (call_expression "(ulong)(uVar15 + 1)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar15 + 1)" (( "(") (binary_expression "uVar15 + 1" (identifier "uVar15") (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "uVar15 = uVar15 + 1;" (assignment_expression "uVar15 = uVar15 + 1" (identifier "uVar15") (= "=") (binary_expression "uVar15 + 1" (identifier "uVar15") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (else_clause "else {\n            if ((DAT_001e3c34 + 2 <= uVar15) || (DAT_001e3c24 != DAT_001e3c34 + 2)) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c6c,"build_modrm_byte");\n            }\n            uVar15 = DAT_001e3c34 + 1;\n            if (uVar15 == 0xffffffff) goto LAB_001336a6;\n            uVar9 = (ulong)uVar15;\n          }" (else "else") (compound_statement "{\n            if ((DAT_001e3c34 + 2 <= uVar15) || (DAT_001e3c24 != DAT_001e3c34 + 2)) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c6c,"build_modrm_byte");\n            }\n            uVar15 = DAT_001e3c34 + 1;\n            if (uVar15 == 0xffffffff) goto LAB_001336a6;\n            uVar9 = (ulong)uVar15;\n          }" ({ "{") (if_statement "if ((DAT_001e3c34 + 2 <= uVar15) || (DAT_001e3c24 != DAT_001e3c34 + 2)) {\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c6c,"build_modrm_byte");\n            }" (if "if") (parenthesized_expression "((DAT_001e3c34 + 2 <= uVar15) || (DAT_001e3c24 != DAT_001e3c34 + 2))" (( "(") (binary_expression "(DAT_001e3c34 + 2 <= uVar15) || (DAT_001e3c24 != DAT_001e3c34 + 2)" (parenthesized_expression "(DAT_001e3c34 + 2 <= uVar15)" (( "(") (binary_expression "DAT_001e3c34 + 2 <= uVar15" (binary_expression "DAT_001e3c34 + 2" (identifier "DAT_001e3c34") (+ "+") (number_literal "2")) (<= "<=") (identifier "uVar15")) () ")")) (|| "||") (parenthesized_expression "(DAT_001e3c24 != DAT_001e3c34 + 2)" (( "(") (binary_expression "DAT_001e3c24 != DAT_001e3c34 + 2" (identifier "DAT_001e3c24") (!= "!=") (binary_expression "DAT_001e3c34 + 2" (identifier "DAT_001e3c34") (+ "+") (number_literal "2"))) () ")"))) () ")")) (compound_statement "{\n                    \n              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c6c,"build_modrm_byte");\n            }" ({ "{") (expression_statement "FUN_0011dd00("../../gas/config/tc-i386.c",0x1c6c,"build_modrm_byte");" (call_expression "FUN_0011dd00("../../gas/config/tc-i386.c",0x1c6c,"build_modrm_byte")" (identifier "FUN_0011dd00") (argument_list "("../../gas/config/tc-i386.c",0x1c6c,"build_modrm_byte")" (( "(") (string_literal ""../../gas/config/tc-i386.c"" (" """) (string_content "../../gas/config/tc-i386.c") (" """)) (, ",") (number_literal "0x1c6c") (, ",") (string_literal ""build_modrm_byte"" (" """) (string_content "build_modrm_byte") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "uVar15 = DAT_001e3c34 + 1;" (assignment_expression "uVar15 = DAT_001e3c34 + 1" (identifier "uVar15") (= "=") (binary_expression "DAT_001e3c34 + 1" (identifier "DAT_001e3c34") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (uVar15 == 0xffffffff) goto LAB_001336a6;" (if "if") (parenthesized_expression "(uVar15 == 0xffffffff)" (( "(") (binary_expression "uVar15 == 0xffffffff" (identifier "uVar15") (== "==") (number_literal "0xffffffff")) () ")")) (goto_statement "goto LAB_001336a6;" (goto "goto") (statement_identifier "LAB_001336a6") (; ";"))) (expression_statement "uVar9 = (ulong)uVar15;" (assignment_expression "uVar9 = (ulong)uVar15" (identifier "uVar9") (= "=") (cast_expression "(ulong)uVar15" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar15"))) (; ";")) (} "}")))) (goto_statement "goto LAB_00133e49;" (goto "goto") (statement_identifier "LAB_00133e49") (; ";")) (} "}"))) (if_statement "if (DAT_001e3c24 <= uVar15) {\n                    \n          FUN_0011dd00("../../gas/config/tc-i386.c",0x1c71,"build_modrm_byte");\n        }" (if "if") (parenthesized_expression "(DAT_001e3c24 <= uVar15)" (( "(") (binary_expression "DAT_001e3c24 <= uVar15" (identifier "DAT_001e3c24") (<= "<=") (identifier "uVar15")) () ")")) (compound_statement "{\n                    \n          FUN_0011dd00("../../gas/config/tc-i386.c",0x1c71,"build_modrm_byte");\n        }" ({ "{") (expression_statement "FUN_0011dd00("../../gas/config/tc-i386.c",0x1c71,"build_modrm_byte");" (call_expression "FUN_0011dd00("../../gas/config/tc-i386.c",0x1c71,"build_modrm_byte")" (identifier "FUN_0011dd00") (argument_list "("../../gas/config/tc-i386.c",0x1c71,"build_modrm_byte")" (( "(") (string_literal ""../../gas/config/tc-i386.c"" (" """) (string_content "../../gas/config/tc-i386.c") (" """)) (, ",") (number_literal "0x1c71") (, ",") (string_literal ""build_modrm_byte"" (" """) (string_content "build_modrm_byte") (" """)) () ")"))) (; ";")) (} "}"))) (labeled_statement "LAB_001336a6:\n        if (DAT_001e3bd0 == 0xffff) {\n          DAT_001e3cf0 = (uint)*(byte *)((&DAT_001e3c60)[uVar20] + 0x11);\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar20] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 4;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 4;\n          }\n          if (DAT_001e3c30 == 0) {\n            DAT_001e3cf4 = 3;\n            return puVar10;\n          }\n          return puVar10;\n        }" (statement_identifier "LAB_001336a6") (: ":") (if_statement "if (DAT_001e3bd0 == 0xffff) {\n          DAT_001e3cf0 = (uint)*(byte *)((&DAT_001e3c60)[uVar20] + 0x11);\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar20] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 4;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 4;\n          }\n          if (DAT_001e3c30 == 0) {\n            DAT_001e3cf4 = 3;\n            return puVar10;\n          }\n          return puVar10;\n        }" (if "if") (parenthesized_expression "(DAT_001e3bd0 == 0xffff)" (( "(") (binary_expression "DAT_001e3bd0 == 0xffff" (identifier "DAT_001e3bd0") (== "==") (number_literal "0xffff")) () ")")) (compound_statement "{\n          DAT_001e3cf0 = (uint)*(byte *)((&DAT_001e3c60)[uVar20] + 0x11);\n          bVar21 = *(byte *)((&DAT_001e3c60)[uVar20] + 0x10);\n          if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 4;\n          }\n          if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 4;\n          }\n          if (DAT_001e3c30 == 0) {\n            DAT_001e3cf4 = 3;\n            return puVar10;\n          }\n          return puVar10;\n        }" ({ "{") (expression_statement "DAT_001e3cf0 = (uint)*(byte *)((&DAT_001e3c60)[uVar20] + 0x11);" (assignment_expression "DAT_001e3cf0 = (uint)*(byte *)((&DAT_001e3c60)[uVar20] + 0x11)" (identifier "DAT_001e3cf0") (= "=") (binary_expression "(uint)*(byte *)((&DAT_001e3c60)[uVar20] + 0x11)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(byte *)((&DAT_001e3c60)[uVar20] + 0x11)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((&DAT_001e3c60)[uVar20] + 0x11)" (( "(") (binary_expression "(&DAT_001e3c60)[uVar20] + 0x11" (subscript_expression "(&DAT_001e3c60)[uVar20]" (parenthesized_expression "(&DAT_001e3c60)" (( "(") (pointer_expression "&DAT_001e3c60" (& "&") (identifier "DAT_001e3c60")) () ")")) ([ "[") (identifier "uVar20") (] "]")) (+ "+") (number_literal "0x11")) () ")"))))) (; ";")) (expression_statement "bVar21 = *(byte *)((&DAT_001e3c60)[uVar20] + 0x10);" (assignment_expression "bVar21 = *(byte *)((&DAT_001e3c60)[uVar20] + 0x10)" (identifier "bVar21") (= "=") (pointer_expression "*(byte *)((&DAT_001e3c60)[uVar20] + 0x10)" (* "*") (cast_expression "(byte *)((&DAT_001e3c60)[uVar20] + 0x10)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((&DAT_001e3c60)[uVar20] + 0x10)" (( "(") (binary_expression "(&DAT_001e3c60)[uVar20] + 0x10" (subscript_expression "(&DAT_001e3c60)[uVar20]" (parenthesized_expression "(&DAT_001e3c60)" (( "(") (pointer_expression "&DAT_001e3c60" (& "&") (identifier "DAT_001e3c60")) () ")")) ([ "[") (identifier "uVar20") (] "]")) (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (if_statement "if ((bVar21 & 1) != 0) {\n            DAT_001e3cf8 = DAT_001e3cf8 | 4;\n          }" (if "if") (parenthesized_expression "((bVar21 & 1) != 0)" (( "(") (binary_expression "(bVar21 & 1) != 0" (parenthesized_expression "(bVar21 & 1)" (( "(") (binary_expression "bVar21 & 1" (identifier "bVar21") (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            DAT_001e3cf8 = DAT_001e3cf8 | 4;\n          }" ({ "{") (expression_statement "DAT_001e3cf8 = DAT_001e3cf8 | 4;" (assignment_expression "DAT_001e3cf8 = DAT_001e3cf8 | 4" (identifier "DAT_001e3cf8") (= "=") (binary_expression "DAT_001e3cf8 | 4" (identifier "DAT_001e3cf8") (| "|") (number_literal "4"))) (; ";")) (} "}"))) (if_statement "if ((bVar21 & 4) != 0) {\n            DAT_001e3cfc = DAT_001e3cfc | 4;\n          }" (if "if") (parenthesized_expression "((bVar21 & 4) != 0)" (( "(") (binary_expression "(bVar21 & 4) != 0" (parenthesized_expression "(bVar21 & 4)" (( "(") (binary_expression "bVar21 & 4" (identifier "bVar21") (& "&") (number_literal "4")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            DAT_001e3cfc = DAT_001e3cfc | 4;\n          }" ({ "{") (expression_statement "DAT_001e3cfc = DAT_001e3cfc | 4;" (assignment_expression "DAT_001e3cfc = DAT_001e3cfc | 4" (identifier "DAT_001e3cfc") (= "=") (binary_expression "DAT_001e3cfc | 4" (identifier "DAT_001e3cfc") (| "|") (number_literal "4"))) (; ";")) (} "}"))) (if_statement "if (DAT_001e3c30 == 0) {\n            DAT_001e3cf4 = 3;\n            return puVar10;\n          }" (if "if") (parenthesized_expression "(DAT_001e3c30 == 0)" (( "(") (binary_expression "DAT_001e3c30 == 0" (identifier "DAT_001e3c30") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            DAT_001e3cf4 = 3;\n            return puVar10;\n          }" ({ "{") (expression_statement "DAT_001e3cf4 = 3;" (assignment_expression "DAT_001e3cf4 = 3" (identifier "DAT_001e3cf4") (= "=") (number_literal "3")) (; ";")) (return_statement "return puVar10;" (return "return") (identifier "puVar10") (; ";")) (} "}"))) (return_statement "return puVar10;" (return "return") (identifier "puVar10") (; ";")) (} "}")))) (expression_statement "DAT_001e3cec = (uint)*(byte *)((&DAT_001e3c60)[uVar20] + 0x11);" (assignment_expression "DAT_001e3cec = (uint)*(byte *)((&DAT_001e3c60)[uVar20] + 0x11)" (identifier "DAT_001e3cec") (= "=") (binary_expression "(uint)*(byte *)((&DAT_001e3c60)[uVar20] + 0x11)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(byte *)((&DAT_001e3c60)[uVar20] + 0x11)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((&DAT_001e3c60)[uVar20] + 0x11)" (( "(") (binary_expression "(&DAT_001e3c60)[uVar20] + 0x11" (subscript_expression "(&DAT_001e3c60)[uVar20]" (parenthesized_expression "(&DAT_001e3c60)" (( "(") (pointer_expression "&DAT_001e3c60" (& "&") (identifier "DAT_001e3c60")) () ")")) ([ "[") (identifier "uVar20") (] "]")) (+ "+") (number_literal "0x11")) () ")"))))) (; ";")) (expression_statement "bVar21 = *(byte *)((&DAT_001e3c60)[uVar20] + 0x10);" (assignment_expression "bVar21 = *(byte *)((&DAT_001e3c60)[uVar20] + 0x10)" (identifier "bVar21") (= "=") (pointer_expression "*(byte *)((&DAT_001e3c60)[uVar20] + 0x10)" (* "*") (cast_expression "(byte *)((&DAT_001e3c60)[uVar20] + 0x10)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((&DAT_001e3c60)[uVar20] + 0x10)" (( "(") (binary_expression "(&DAT_001e3c60)[uVar20] + 0x10" (subscript_expression "(&DAT_001e3c60)[uVar20]" (parenthesized_expression "(&DAT_001e3c60)" (( "(") (pointer_expression "&DAT_001e3c60" (& "&") (identifier "DAT_001e3c60")) () ")")) ([ "[") (identifier "uVar20") (] "]")) (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (if_statement "if ((bVar21 & 1) != 0) {\n          DAT_001e3cf8 = DAT_001e3cf8 | 1;\n        }" (if "if") (parenthesized_expression "((bVar21 & 1) != 0)" (( "(") (binary_expression "(bVar21 & 1) != 0" (parenthesized_expression "(bVar21 & 1)" (( "(") (binary_expression "bVar21 & 1" (identifier "bVar21") (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          DAT_001e3cf8 = DAT_001e3cf8 | 1;\n        }" ({ "{") (expression_statement "DAT_001e3cf8 = DAT_001e3cf8 | 1;" (assignment_expression "DAT_001e3cf8 = DAT_001e3cf8 | 1" (identifier "DAT_001e3cf8") (= "=") (binary_expression "DAT_001e3cf8 | 1" (identifier "DAT_001e3cf8") (| "|") (number_literal "1"))) (; ";")) (} "}"))) (if_statement "if ((bVar21 & 4) != 0) {\n          DAT_001e3cfc = DAT_001e3cfc | 1;\n        }" (if "if") (parenthesized_expression "((bVar21 & 4) != 0)" (( "(") (binary_expression "(bVar21 & 4) != 0" (parenthesized_expression "(bVar21 & 4)" (( "(") (binary_expression "bVar21 & 4" (identifier "bVar21") (& "&") (number_literal "4")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          DAT_001e3cfc = DAT_001e3cfc | 1;\n        }" ({ "{") (expression_statement "DAT_001e3cfc = DAT_001e3cfc | 1;" (assignment_expression "DAT_001e3cfc = DAT_001e3cfc | 1" (identifier "DAT_001e3cfc") (= "=") (binary_expression "DAT_001e3cfc | 1" (identifier "DAT_001e3cfc") (| "|") (number_literal "1"))) (; ";")) (} "}"))) (if_statement "if (DAT_001e3c30 != 0) {\n          DAT_001e3cf0 = DAT_001e3bd0;\n          return puVar10;\n        }" (if "if") (parenthesized_expression "(DAT_001e3c30 != 0)" (( "(") (binary_expression "DAT_001e3c30 != 0" (identifier "DAT_001e3c30") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          DAT_001e3cf0 = DAT_001e3bd0;\n          return puVar10;\n        }" ({ "{") (expression_statement "DAT_001e3cf0 = DAT_001e3bd0;" (assignment_expression "DAT_001e3cf0 = DAT_001e3bd0" (identifier "DAT_001e3cf0") (= "=") (identifier "DAT_001e3bd0")) (; ";")) (return_statement "return puVar10;" (return "return") (identifier "puVar10") (; ";")) (} "}"))) (} "}")))) (expression_statement "DAT_001e3cf4 = 3;" (assignment_expression "DAT_001e3cf4 = 3" (identifier "DAT_001e3cf4") (= "=") (number_literal "3")) (; ";")) (goto_statement "goto LAB_001330bc;" (goto "goto") (statement_identifier "LAB_001330bc") (; ";")) (} "}"))) (expression_statement "DAT_001e3d18 = DAT_001e3c70;" (assignment_expression "DAT_001e3d18 = DAT_001e3c70" (identifier "DAT_001e3d18") (= "=") (identifier "DAT_001e3c70")) (; ";")) (if_statement "if (DAT_001e3c30 != 0) goto LAB_001330bc;" (if "if") (parenthesized_expression "(DAT_001e3c30 != 0)" (( "(") (binary_expression "DAT_001e3c30 != 0" (identifier "DAT_001e3c30") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_001330bc;" (goto "goto") (statement_identifier "LAB_001330bc") (; ";"))) (expression_statement "bVar21 = *(byte *)(DAT_001e3c68 + 0x11);" (assignment_expression "bVar21 = *(byte *)(DAT_001e3c68 + 0x11)" (identifier "bVar21") (= "=") (pointer_expression "*(byte *)(DAT_001e3c68 + 0x11)" (* "*") (cast_expression "(byte *)(DAT_001e3c68 + 0x11)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_001e3c68 + 0x11)" (( "(") (binary_expression "DAT_001e3c68 + 0x11" (identifier "DAT_001e3c68") (+ "+") (number_literal "0x11")) () ")"))))) (; ";")) (expression_statement "bVar19 = *(byte *)(DAT_001e3c68 + 0x10);" (assignment_expression "bVar19 = *(byte *)(DAT_001e3c68 + 0x10)" (identifier "bVar19") (= "=") (pointer_expression "*(byte *)(DAT_001e3c68 + 0x10)" (* "*") (cast_expression "(byte *)(DAT_001e3c68 + 0x10)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_001e3c68 + 0x10)" (( "(") (binary_expression "DAT_001e3c68 + 0x10" (identifier "DAT_001e3c68") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (} "}"))))) (expression_statement "DAT_001e3cec = (uint)bVar21;" (assignment_expression "DAT_001e3cec = (uint)bVar21" (identifier "DAT_001e3cec") (= "=") (cast_expression "(uint)bVar21" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar21"))) (; ";")) (expression_statement "DAT_001e3cf4 = 3;" (assignment_expression "DAT_001e3cf4 = 3" (identifier "DAT_001e3cf4") (= "=") (number_literal "3")) (; ";")) (if_statement "if ((bVar19 & 1) != 0) {\n    DAT_001e3cf4 = 3;\n    DAT_001e3cf8 = DAT_001e3cf8 | 1;\n  }" (if "if") (parenthesized_expression "((bVar19 & 1) != 0)" (( "(") (binary_expression "(bVar19 & 1) != 0" (parenthesized_expression "(bVar19 & 1)" (( "(") (binary_expression "bVar19 & 1" (identifier "bVar19") (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    DAT_001e3cf4 = 3;\n    DAT_001e3cf8 = DAT_001e3cf8 | 1;\n  }" ({ "{") (expression_statement "DAT_001e3cf4 = 3;" (assignment_expression "DAT_001e3cf4 = 3" (identifier "DAT_001e3cf4") (= "=") (number_literal "3")) (; ";")) (expression_statement "DAT_001e3cf8 = DAT_001e3cf8 | 1;" (assignment_expression "DAT_001e3cf8 = DAT_001e3cf8 | 1" (identifier "DAT_001e3cf8") (= "=") (binary_expression "DAT_001e3cf8 | 1" (identifier "DAT_001e3cf8") (| "|") (number_literal "1"))) (; ";")) (} "}"))) (labeled_statement "LAB_001330bc:\n  if (DAT_001e3bd0 != 0xffff) {\n    DAT_001e3cf0 = DAT_001e3bd0;\n    return puVar10;\n  }" (statement_identifier "LAB_001330bc") (: ":") (if_statement "if (DAT_001e3bd0 != 0xffff) {\n    DAT_001e3cf0 = DAT_001e3bd0;\n    return puVar10;\n  }" (if "if") (parenthesized_expression "(DAT_001e3bd0 != 0xffff)" (( "(") (binary_expression "DAT_001e3bd0 != 0xffff" (identifier "DAT_001e3bd0") (!= "!=") (number_literal "0xffff")) () ")")) (compound_statement "{\n    DAT_001e3cf0 = DAT_001e3bd0;\n    return puVar10;\n  }" ({ "{") (expression_statement "DAT_001e3cf0 = DAT_001e3bd0;" (assignment_expression "DAT_001e3cf0 = DAT_001e3bd0" (identifier "DAT_001e3cf0") (= "=") (identifier "DAT_001e3bd0")) (; ";")) (return_statement "return puVar10;" (return "return") (identifier "puVar10") (; ";")) (} "}")))) (return_statement "return puVar10;" (return "return") (identifier "puVar10") (; ";")) (} "}")))

/* WARNING: Unknown calling convention */
/* WARNING: Enum "anon_enum_32": Some values do not have unique names */

type_1 * function_1(void)

{
  type_2 *puVar1;
  type_3 *var_14;
  long var_18;
  type_4 *pbVar4;
  type_5 var_24;
  type_4 var_25;
  type_6 *peVar7;
  type_3 iVar8;
  type_7 var_15;
  type_8 *var_16;
  type_8 *prVar11;
  type_9 aVar12;
  int var_20;
  type_10 var_9;
  type_7 *puVar15;
  type_10 var_3;
  type_4 var_26;
  type_2 var_8;
  type_9 var_22;
  type_2 var_7;
  type_10 var_10;
  type_4 var_1;
  type_4 var_5;
  type_10 var_17;
  type_4 var_4;
  type_2 var_6;
  type_2 var_21;
  bool bVar28;
  
  var_15 = i.tm.opcode_modifier._6_1_;
  var_10 = 0;
  var_17 = 0;
  var_1 = i.tm.opcode_modifier._6_1_ & 0xc;
  if (var_1 == 8) {
    var_6 = i.operands - 1;
    var_10 = (type_10)var_6;
    var_8 = i.operands - 2;
    if (((i.reg_operands != 4) && ((i.reg_operands != 3 || (i.mem_operands != 1)))) ||
       (((i.tm.opcode_modifier._5_1_ & 0x18) != 8 ||
        (((i.tm.opcode_modifier._5_1_ & 0x60) == 0 || (((type_10)i.tm.operand_types[var_10] & 4) == 0)
         ))))) {
                    /* WARNING: Subroutine does not return */
      var_2("../../gas/config/tc-i386.c",0x1a12,"build_modrm_byte");
    }
    var_9 = (type_10)i.imm_operands;
    var_17 = (type_10)(i.imm_operands + 1);
    if ((i.tm.opcode_modifier._5_1_ & 0x60) == 0x40) {
      var_17 = (type_10)i.imm_operands;
      var_9 = (type_10)(i.imm_operands + 1);
    }
    if (i.imm_operands == 0) {
      var_3 = (type_10)i.operands;
      i.operands = i.operands + 1;
      i.imm_operands = 1;
      i.op[var_3].disps = im_expressions;
      i.types[var_3] = (type_3)0x0;
      *(type_7 *)((long)i.types + var_3 * 8 + 1) = 4;
      if (((type_10)i.tm.operand_types[var_9] & 4) == 0) {
                    /* WARNING: Subroutine does not return */
        var_2("../../gas/config/tc-i386.c",0x1a2a,"build_modrm_byte");
      }
      im_expressions[0]._24_1_ = 2;
      var_4 = (i.op[var_9].regs)->reg_flags;
      var_5 = (i.op[var_9].regs)->reg_num;
      var_6 = (type_2)var_5;
      if ((var_4 & 1) != 0) {
        var_6 = var_5 + 8;
      }
      if ((var_4 & 4) != 0) {
        im_expressions[0].X_add_number = (offsetT)((var_6 + 0x10) * 0x10);
                    /* WARNING: Subroutine does not return */
        var_2("../../gas/config/tc-i386.c",0x1a2d,"build_modrm_byte");
      }
      im_expressions[0].X_add_number = (offsetT)(var_6 << 4);
    }
    else {
      if ((i.imm_operands != 1) || ((i.types[0].array[1]._1_1_ & 1) == 0)) {
                    /* WARNING: Subroutine does not return */
        var_2("../../gas/config/tc-i386.c",0x1a33,"build_modrm_byte");
      }
      if ((i.tm.opcode_modifier._4_1_ & 0x20) == 0) {
        i.types[0].array[0]._1_1_ = i.types[0].array[0]._1_1_ | 4;
        var_6 = 0;
      }
      else {
        var_17 = (type_10)((int)var_17 - 1);
        var_9 = (type_10)((int)var_9 - 1);
      }
      if (((type_10)i.tm.operand_types[var_9] & 4) == 0) {
                    /* WARNING: Subroutine does not return */
        var_2("../../gas/config/tc-i386.c",0x1a45,"build_modrm_byte");
      }
      var_4 = (i.op[var_9].regs)->reg_flags;
      var_5 = (i.op[var_9].regs)->reg_num;
      var_7 = (type_2)var_5;
      if ((var_4 & 1) != 0) {
        var_7 = var_5 + 8;
      }
      peVar7 = i.op[var_6].disps;
      if ((var_4 & 4) != 0) {
        peVar7->X_add_number = (type_10)((var_7 + 0x10) * 0x10) | peVar7->X_add_number;
                    /* WARNING: Subroutine does not return */
        var_2("../../gas/config/tc-i386.c",0x1a48,"build_modrm_byte");
      }
      peVar7->X_add_number = (type_10)(var_7 << 4) | peVar7->X_add_number;
    }
    if (((type_10)i.tm.operand_types[var_8] & 4) == 0) {
                    /* WARNING: Subroutine does not return */
      var_2("../../gas/config/tc-i386.c",0x1a4b,"build_modrm_byte");
    }
    i.vex.register_specifier = i.op[var_8].regs;
  }
  prVar11 = i.index_reg;
  var_16 = i.base_reg;
  var_9 = (type_10)i.mem_operands;
  var_4 = var_1;
  if (i.mem_operands == 0) {
    if (i.reg_operands == 2) {
      if (((type_4)i.tm.opcode_modifier._5_1_ >> 3 & 3) < 2) {
LAB_0013335b:
        if (i.operands == 3) {
LAB_00133ea8:
          if ((i.imm_operands != 1) &&
             ((i.imm_operands != 0 ||
              (((i.tm.opcode_modifier._5_1_ & 0x18) != 8 && ((i.types[0].array[0]._3_1_ & 1) == 0)))
              ))) {
                    /* WARNING: Subroutine does not return */
            var_2("../../gas/config/tc-i386.c",0x1a6b,"build_modrm_byte");
          }
          var_9 = (type_10)((i.types[0].array[0]._1_1_ & 0xfc) != 0 ||
                          (i.types[0].array[0]._3_1_ & 1) != 0);
          var_6 = 3;
        }
        else if (i.operands < 4) {
          var_6 = i.operands;
          if (i.operands != 2) goto LAB_00133dcf;
        }
        else {
          if (i.operands != 4) goto joined_r0x00133753;
LAB_00133379:
          var_9 = (type_10)i.imm_operands;
          if (i.imm_operands == 2) {
            if (((i.types[0].array[0]._1_1_ & 4) == 0) || ((i.types[1].array[0]._1_1_ & 4) == 0))
            goto LAB_00133d61;
          }
          else {
            if ((((i.tm.opcode_modifier._5_1_ & 0x18) != 8) || (i.imm_operands != 1)) ||
               ((((i.types[0].array[0]._1_1_ & 4) == 0 && ((i.types[3].array[0]._1_1_ & 4) == 0)) &&
                (i.rounding == (type_11 *)0x0)))) {
LAB_00133d61:
                    /* WARNING: Subroutine does not return */
              var_2("../../gas/config/tc-i386.c",0x1a81,"build_modrm_byte");
            }
            var_9 = (type_10)((i.types[0].array[0]._1_1_ & 4) != 0);
          }
          var_6 = 4;
        }
LAB_001337c1:
        if (var_1 != 8) {
          var_8 = (int)var_9 + 1;
          var_10 = (type_10)var_8;
          if ((i.rounding != (type_11 *)0x0) && ((i.rounding)->operand == var_8)) {
            var_10 = (type_10)((int)var_9 + 2);
          }
          if ((i.tm.opcode_modifier._5_1_ & 0x18) == 8) {
            var_17 = var_9;
            var_3 = var_10;
            if (((*(type_4 *)((long)i.tm.operand_types + var_9 * 8 + 2) & 0x40) == 0) &&
               ((*(type_4 *)((long)i.tm.operand_types + var_10 * 8 + 2) & 0x40) != 0)) {
              var_17 = var_10;
              var_3 = var_9;
            }
            var_7 = (int)var_10 + 1;
            var_10 = (type_10)var_7;
            var_9 = *(type_10 *)i.tm.operand_types[var_3].array;
            var_8 = *(type_2 *)((long)i.tm.operand_types + var_3 * 8 + 4);
            if ((var_6 <= var_7) ||
               ((((var_9 & 1) == 0 ||
                 ((-1 < (char)((var_9 & 0xfffffffff7ffffff) >> 0x18) && ((var_8 & 2) == 0)))) &&
                (((var_9 & 4) == 0 &&
                 ((regmask.array[0] != (type_2)(var_9 & 0xfffffffff7ffffff) ||
                  (regmask.array[1] != var_8)))))))) {
                    /* WARNING: Subroutine does not return */
              var_2("../../gas/config/tc-i386.c",0x1ac9,"build_modrm_byte");
            }
            i.vex.register_specifier = i.op[var_3].regs;
            var_9 = var_17;
          }
        }
LAB_001337ff:
        i.rm.mode = 3;
        if (((*(type_4 *)((long)i.tm.operand_types + var_10 * 8 + 3) & 8) == 0) &&
           (((type_10)i.tm.operand_types[var_10] & 0x5f0000) == 0)) {
          i.rm.reg = (type_2)(i.op[var_10].regs)->reg_num;
          i.rm.regmem = (type_2)(i.op[var_9].regs)->reg_num;
          var_1 = (i.op[var_10].regs)->reg_flags;
          if ((var_1 & 1) != 0) {
            i.rex = i.rex | 4;
          }
          if ((var_1 & 4) != 0) {
            i.vrex = i.vrex | 4;
          }
          var_1 = (i.op[var_9].regs)->reg_flags;
          if ((var_1 & 1) != 0) {
            i.rex = i.rex | 1;
          }
          if ((var_1 & 4) != 0) {
            i.vrex = i.vrex | 1;
          }
        }
        else {
          i.rm.reg = (type_2)(i.op[var_9].regs)->reg_num;
          i.rm.regmem = (type_2)(i.op[var_10].regs)->reg_num;
          var_1 = (i.op[var_10].regs)->reg_flags;
          if ((var_1 & 1) != 0) {
            i.rex = i.rex | 1;
          }
          if ((var_1 & 4) != 0) {
            i.vrex = i.vrex | 1;
          }
          var_1 = (i.op[var_9].regs)->reg_flags;
          if ((var_1 & 1) != 0) {
            i.rex = i.rex | 4;
          }
          if ((var_1 & 4) != 0) {
            i.vrex = i.vrex | 4;
          }
        }
        if ((var_11 != var_12) && ((i.rex & 4U) != 0)) {
          if (((type_10)i.types[(type_4)i.tm.operand_types[0].array[0]._3_1_ >> 3 & 1] & 0x10) == 0) {
                    /* WARNING: Subroutine does not return */
            var_2("../../gas/config/tc-i386.c",0x1af4,"build_modrm_byte");
          }
          i.rex = i.rex & 0xfffffffb;
          var_13(0xf0);
          return (type_1 *)0x0;
        }
        i.rm.mode = 3;
        return (type_1 *)0x0;
      }
    }
    else if (i.reg_operands == 3) {
      if ((i.tm.opcode_modifier._5_1_ & 0x18) == 8) goto LAB_0013335b;
    }
    else if ((i.reg_operands == 4) && (var_1 == 8)) {
      if (i.operands == 3) goto LAB_00133ea8;
      if (i.operands < 4) {
        if (i.operands != 2) goto LAB_00133dcf;
        goto LAB_001337ff;
      }
      if (i.operands == 4) goto LAB_00133379;
joined_r0x00133753:
      if (i.operands != 5) {
LAB_00133dcf:
                    /* WARNING: Subroutine does not return */
        var_2("../../gas/config/tc-i386.c",0x1aa0,"build_modrm_byte");
      }
      if (i.tm.opcode_modifier._7_1_ == '\0') {
        var_9 = var_17;
        var_6 = 5;
      }
      else {
        if (((i.imm_operands != 2) || (-1 < (char)i.tm.opcode_modifier._7_1_)) ||
           ((i.types[0].array[0]._1_1_ & 0xfc) == 0)) {
                    /* WARNING: Subroutine does not return */
          var_2("../../gas/config/tc-i386.c",0x1a96,"build_modrm_byte");
        }
        if ((i.types[1].array[0]._1_1_ & 0xfc) == 0) {
          if ((i.types[4].array[0]._1_1_ & 0xfc) == 0) {
                    /* WARNING: Subroutine does not return */
            var_2("../../gas/config/tc-i386.c",0x1a9c,"build_modrm_byte");
          }
          var_9 = 1;
          var_6 = 5;
        }
        else {
          var_9 = (type_10)i.imm_operands;
          var_6 = 5;
        }
      }
      goto LAB_001337c1;
    }
    var_6 = 0xffffffff;
    puVar15 = (type_7 *)0x0;
  }
  else {
    if (i.operands == 0) {
LAB_0013303b:
                    /* WARNING: Subroutine does not return */
      var_2("../../gas/config/tc-i386.c",0x1b05,"build_modrm_byte");
    }
    if ((i.types[0].array[0]._2_1_ & 0x5f) == 0) {
      var_9 = 1;
      do {
        var_17 = var_9 & 0xffffffff;
        if (i.operands <= (type_2)var_9) goto LAB_0013303b;
        var_14 = i.types + var_9;
        var_9 = var_9 + 1;
      } while (((type_10)*var_14 & 0x5f0000) == 0);
    }
    else {
      var_17 = 0;
    }
    var_5 = var_15 & 0x30;
    var_6 = (type_2)var_17;
    if (var_5 == 0) {
LAB_0013313d:
      if (var_16 != (type_8 *)0x0) goto LAB_00133146;
LAB_00133448:
      var_16 = i.index_reg;
      i.rm.mode = 0;
      if (i.disp_operands == 0) {
        if (i.index_reg == (type_8 *)0x0) {
          var_22 = var_27;
          goto LAB_00133cae;
        }
        if (var_5 == 0) {
          var_22 = var_27;
          goto LAB_00133af0;
        }
        goto LAB_00133a60;
      }
      if (i.index_reg != (type_8 *)0x0) {
        if (var_5 == 0) {
          var_22 = var_23;
LAB_00133af0:
          i.sib.index = (type_2)(i.index_reg)->reg_num;
          i.rm.regmem = 4;
          if ((type_4)((i.index_reg)->reg_num + 4) < 2) {
            i.sib.index = 4;
          }
          i.sib.base = 5;
          i.sib.scale = i.log2_scale_factor;
          var_18 = var_17 * 8;
          var_4 = *(type_4 *)((long)i.types + var_18 + 2);
          bVar28 = var_11 == var_12;
          *(type_4 *)((long)i.types + var_18 + 2) = var_4 & 0xec;
          if ((bVar28) && (i.prefix[2] == '\0')) {
            *(type_4 *)((long)i.types + var_18 + 2) = var_4 & 0xe0 | 8;
          }
          else {
            *(type_4 *)((long)i.types + var_17 * 8 + 2) =
                 *(type_4 *)((long)i.types + var_17 * 8 + 2) & 0xf3 | 4;
          }
          puVar15 = ds;
          if ((var_16->reg_flags & 1) != 0) {
            i.rex = i.rex | 2;
          }
          goto LAB_00133b80;
        }
        goto LAB_00133424;
      }
      var_22 = var_23;
LAB_00133cae:
      if (var_5 != 0) {
                    /* WARNING: Subroutine does not return */
        var_2("../../gas/config/tc-i386.c",0x1b33,"build_modrm_byte");
      }
      if (var_11 == var_12) {
        i.rm.regmem = 4;
        var_7 = (type_2)(i.prefix[2] == '\0');
        var_8 = (type_2)(i.prefix[2] != '\0');
        i.sib.base = 5;
        i.sib.index = 4;
        var_20 = 0;
      }
      else if ((var_11 == var_19) == (i.prefix[2] != '\0')) {
        i.rm.regmem = 5;
        var_7 = 0;
        var_8 = 1;
        var_20 = 0;
      }
      else {
        i.rm.regmem = 6;
        var_7 = 0;
        var_8 = 0;
        var_20 = 1;
      }
      var_21 = ~anydisp.array[1];
      i.types[var_17].array[0] =
           var_20 << 0x11 | var_8 << 0x12 | var_7 << 0x13 |
           ~anydisp.array[0] & i.types[var_17].array[0];
      puVar15 = ds;
      puVar1 = (type_2 *)((long)i.types + var_17 * 8 + 4);
      *puVar1 = *puVar1 & var_21;
LAB_00133b80:
      if (var_22 != var_23) goto LAB_00133a67;
    }
    else {
      var_24 = (i.index_reg)->reg_num;
      if ((type_4)(var_24 + 4) < 2) {
                    /* WARNING: Subroutine does not return */
        var_2("../../gas/config/tc-i386.c",0x1b0b,"build_modrm_byte");
      }
      i.rm.regmem = 4;
      if (i.base_reg == (type_8 *)0x0) {
        i.sib.base = 5;
        i.sib.index = 0;
        i.sib.scale = i.log2_scale_factor;
        var_18 = var_17 * 8;
        var_25 = *(type_4 *)((long)i.types + var_18 + 2);
        bVar28 = var_11 == var_12;
        *(type_4 *)((long)i.types + var_18 + 2) = var_25 & 0xec;
        if ((bVar28) && (i.prefix[2] == '\0')) {
          *(type_4 *)((long)i.types + var_18 + 2) = var_25 & 0xe0 | 8;
        }
        else {
          *(type_4 *)((long)i.types + var_17 * 8 + 2) =
               *(type_4 *)((long)i.types + var_17 * 8 + 2) & 0xf3 | 4;
        }
      }
      i.sib.index._0_1_ = var_24;
      i.sib.index._1_3_ = 0;
      if ((prVar11->reg_flags & 1) != 0) {
        i.rex = i.rex | 2;
      }
      if ((prVar11->reg_flags & 4) == 0) goto LAB_0013313d;
      i.vrex = i.vrex | 2;
      if (var_16 == (type_8 *)0x0) goto LAB_00133448;
LAB_00133146:
      var_25 = var_16->reg_num;
      if (var_25 < 0xfe) {
        if (((type_10)var_16->reg_type & 0x40000000) == 0) {
          if ((var_11 == var_12) && ((*(type_4 *)((long)i.types + var_17 * 8 + 2) & 0x1f) != 0)
             ) {
            var_18 = var_17 * 8;
            var_4 = *(type_4 *)((long)i.types + var_18 + 2);
            var_26 = var_4 & 0xe1;
            *(type_4 *)((long)i.types + var_18 + 2) = var_4 & 0xed;
            if (i.prefix[2] == '\0') {
              *(type_4 *)((long)i.types + var_18 + 2) = var_26 | 8;
            }
            else {
              *(type_4 *)((long)i.types + var_18 + 2) = var_26 | 4;
            }
          }
          if (var_5 == 0) {
            i.rm.regmem = (type_2)var_25;
          }
          if ((var_16->reg_flags & 1) == 0) {
            puVar15 = ss;
            if (1 < (type_4)(var_25 - 4)) {
              puVar15 = ds;
            }
          }
          else {
            i.rex = i.rex | 1;
            puVar15 = ds;
          }
          i.sib.base = (type_2)var_25;
          var_22 = var_23;
          if ((var_25 == 5) && (var_22 = var_23, i.disp_operands == 0)) {
            var_22 = var_27;
            pbVar4 = (type_4 *)((long)i.types + var_17 * 8 + 2);
            *pbVar4 = *pbVar4 | 1;
          }
          aVar12 = i.disp_encoding;
          i.sib.scale = i.log2_scale_factor;
          if (i.index_reg == (type_8 *)0x0) {
            if (var_5 != 0) {
                    /* WARNING: Subroutine does not return */
              var_2("../../gas/config/tc-i386.c",0x1bbf,"build_modrm_byte");
            }
            i.sib.index = 4;
          }
          else if (var_5 == 0) {
            i.rm.regmem = 4;
            i.sib.index = (type_2)(i.index_reg)->reg_num;
            if ((type_4)((i.index_reg)->reg_num + 4) < 2) {
              i.sib.index = 4;
            }
            if (((i.index_reg)->reg_flags & 1) != 0) {
              i.rex = i.rex | 2;
            }
          }
          if (i.disp_operands == 0) {
            if ((var_22 == var_23) && (var_22 = aVar12, i.disp_encoding != var_23)) {
              if (i.disp_encoding == var_27) {
                pbVar4 = (type_4 *)((long)i.types + var_17 * 8 + 2);
                *pbVar4 = *pbVar4 | 1;
              }
              else {
                pbVar4 = (type_4 *)((long)i.types + var_17 * 8 + 2);
                *pbVar4 = *pbVar4 | 4;
                var_22 = var_27;
              }
            }
          }
          else if ((i.reloc[var_17] == var_28) ||
                  (i.reloc[var_17] == var_29)) {
            i.rm.mode = 0;
            goto LAB_00133b80;
          }
        }
        else {
          if (var_5 != 0) {
                    /* WARNING: Subroutine does not return */
            var_2("../../gas/config/tc-i386.c",0x1b7c,"build_modrm_byte");
          }
          if (var_25 == 3) {
            if (i.index_reg != (type_8 *)0x0) {
              i.rm.regmem = (i.index_reg)->reg_num - 6;
              goto LAB_0013317e;
            }
            i.rm.regmem = 7;
            puVar15 = ds;
            var_22 = var_23;
          }
          else if (var_25 == 5) {
            if (i.index_reg == (type_8 *)0x0) {
              puVar15 = ss;
              i.rm.regmem = 6;
              var_22 = var_23;
              if ((*(type_4 *)((long)i.types + var_17 * 8 + 2) & 0x1f) == 0) {
                pbVar4 = (type_4 *)((long)i.types + var_17 * 8 + 2);
                *pbVar4 = *pbVar4 | 1;
                var_22 = var_27;
              }
            }
            else {
              i.rm.regmem = (i.index_reg)->reg_num - 4;
              puVar15 = ss;
              var_22 = var_23;
            }
          }
          else {
            i.rm.regmem = var_25 - 2;
LAB_0013317e:
            var_22 = var_23;
            puVar15 = ds;
          }
        }
        i.rm.mode = 1;
        if (((type_10)i.types[var_17] >> 0x10 & 1) == 0) {
          i.rm.mode = (type_2)(((type_10)i.types[var_17] & 0xe0000) != 0) * 2;
        }
        goto LAB_00133b80;
      }
      if (var_5 != 0) {
                    /* WARNING: Subroutine does not return */
        var_2("../../gas/config/tc-i386.c",0x1b6f,"build_modrm_byte");
      }
      i.rm.regmem = 5;
      *(type_4 *)((long)i.types + var_17 * 8 + 2) =
           *(type_4 *)((long)i.types + var_17 * 8 + 2) & 0xe0 | 8;
      var_8 = i.disp_operands;
      i.flags[var_17] = i.flags[var_17] | 1;
      if (var_8 != 0) {
LAB_00133424:
        puVar15 = ds;
        goto LAB_00133089;
      }
LAB_00133a60:
      puVar15 = ds;
LAB_00133a67:
      if (i.op[var_17].disps != (type_6 *)0x0) {
                    /* WARNING: Subroutine does not return */
        var_2("../../gas/config/tc-i386.c",0x1bed,"build_modrm_byte");
      }
      var_9 = (type_10)i.disp_operands;
      i.disp_operands = i.disp_operands + 1;
      i.op[var_17].disps = var_30 + var_9;
      var_30[var_9].field_0x18 = 2;
      var_30[var_9].X_add_number = 0;
      var_30[var_9].X_add_symbol = (type_12 *)0x0;
      var_30[var_9].X_op_symbol = (type_12 *)0x0;
    }
    var_4 = i.tm.opcode_modifier._6_1_ & 0xc;
  }
LAB_00133089:
  if (var_4 == 4) {
    if ((i.types[0].array[0]._1_1_ & 0xfc) == 0) {
      if ((i.tm.opcode_modifier._5_1_ & 0x60) == 0x20) {
        i.vex.register_specifier = i.op[0].regs;
      }
      else {
        i.vex.register_specifier = i.op[1].regs;
      }
    }
    else {
      i.vex.register_specifier = (type_8 *)0x0;
    }
    i.rm.reg = (type_2)(i.op[2].regs)->reg_num;
    if (((i.op[2].regs)->reg_flags & 1) != 0) {
      i.rex = i.rex | 4;
    }
    if (i.mem_operands != 0) goto LAB_001330bc;
    if ((i.tm.opcode_modifier._5_1_ & 0x60) == 0x20) {
      var_1 = (i.op[1].regs)->reg_num;
    }
    else {
      var_1 = (i.op[0].regs)->reg_num;
    }
    var_4 = (i.op[1].regs)->reg_flags;
  }
  else {
    var_4 = i.tm.opcode_modifier._5_1_ & 0x18;
    if (var_4 != 0x18) {
      if (i.reg_operands == 0) goto LAB_001330bc;
      if ((((i.operands == 0) || ((i.types[0].array[0]._0_1_ & 1) != 0)) ||
          ((i.types[0].array[0]._0_1_ & 2) != 0)) ||
         (((i.types[0].array[0]._0_1_ & 4) != 0 || ((i.types[0].array[1]._1_1_ & 2) != 0)))) {
        var_17 = 0;
      }
      else {
        var_17 = 0;
        if ((i.types[0].array[0]._0_1_ & 8) == 0) {
          var_9 = 0;
          while( true ) {
            var_5 = *(type_4 *)(i.types + var_9);
            if ((((char)var_5 < '\0') || ((*(type_4 *)((long)i.types + var_9 * 8 + 1) & 1) != 0)) ||
               (((var_5 & 0x10) != 0 || (((var_5 & 0x20) != 0 || ((var_5 & 0x40) != 0))))))
            goto LAB_00133670;
            var_8 = (int)var_17 + 1;
            var_17 = (type_10)var_8;
            if (i.operands == var_8) break;
            var_9 = (type_10)var_8;
            iVar8 = i.types[var_9];
            if ((((((type_10)iVar8 & 1) != 0) || (((type_10)iVar8 & 2) != 0)) ||
                (((type_10)iVar8 & 4) != 0)) ||
               (((*(type_4 *)((long)i.types + var_9 * 8 + 5) & 2) != 0 ||
                (((type_10)i.types[var_9] & 8) != 0)))) goto LAB_00133670;
          }
          var_17 = (type_10)i.operands;
        }
      }
LAB_00133670:
      var_8 = (type_2)var_17;
      if (var_1 == 8) {
        var_8 = 0xffffffff;
        var_17 = var_10;
LAB_00133b96:
        if (var_8 != (type_2)var_17) goto LAB_001336a6;
        if (i.mem_operands != 0) goto LAB_001330bc;
      }
      else {
        var_10 = var_17;
        if (var_4 == 8) {
          if (var_6 == 0xffffffff) {
                    /* WARNING: Subroutine does not return */
            var_2("../../gas/config/tc-i386.c",0x1c44,"build_modrm_byte");
          }
          var_7 = var_8 + 1;
          var_10 = (type_10)var_7;
          var_9 = var_17;
          if (var_6 < var_8) {
            if (i.operands <= var_7) {
                    /* WARNING: Subroutine does not return */
              var_2("../../gas/config/tc-i386.c",0x1c49,"build_modrm_byte");
            }
          }
          else if (((*(type_4 *)((long)i.tm.operand_types + var_17 * 8 + 2) & 0x40) == 0) &&
                  ((*(type_4 *)((long)i.tm.operand_types + var_10 * 8 + 2) & 0x40) != 0)) {
            if ((i.operands <= var_8 + 2) || (var_6 != var_7)) {
                    /* WARNING: Subroutine does not return */
              var_2("../../gas/config/tc-i386.c",0x1c55,"build_modrm_byte");
            }
            var_10 = (type_10)(var_8 + 2);
          }
          else {
            var_9 = var_10;
            var_10 = var_17;
            var_8 = var_7;
            if (i.operands <= var_7) {
                    /* WARNING: Subroutine does not return */
              var_2("../../gas/config/tc-i386.c",0x1c5a,"build_modrm_byte");
            }
          }
LAB_00133e49:
          iVar8 = i.tm.operand_types[var_9];
          if (((((type_10)iVar8 & 1) == 0) ||
              ((-1 < *(char *)((long)i.tm.operand_types + var_9 * 8 + 3) &&
               ((*(type_4 *)((long)i.tm.operand_types + var_9 * 8 + 4) & 2) == 0)))) &&
             ((((type_10)iVar8 & 4) == 0 &&
              ((*(type_2 *)((long)i.tm.operand_types + var_9 * 8 + 4) != regmask.array[1] ||
               (i.tm.operand_types[var_9].array[0] != regmask.array[0])))))) {
                    /* WARNING: Subroutine does not return */
            var_2("../../gas/config/tc-i386.c",0x1c7b,"build_modrm_byte");
          }
          i.vex.register_specifier = i.op[var_9].regs;
          var_17 = var_10;
          goto LAB_00133b96;
        }
        if (var_4 == 0x10) {
          if (i.mem_operands == 0) {
            if (i.operands != var_8 + 2) {
                    /* WARNING: Subroutine does not return */
              var_2("../../gas/config/tc-i386.c",0x1c65,"build_modrm_byte");
            }
            var_9 = (type_10)(var_8 + 1);
            var_8 = var_8 + 1;
          }
          else {
            if ((i.imm_operands + 2 <= var_8) || (i.operands != i.imm_operands + 2)) {
                    /* WARNING: Subroutine does not return */
              var_2("../../gas/config/tc-i386.c",0x1c6c,"build_modrm_byte");
            }
            var_8 = i.imm_operands + 1;
            if (var_8 == 0xffffffff) goto LAB_001336a6;
            var_9 = (type_10)var_8;
          }
          goto LAB_00133e49;
        }
        if (i.operands <= var_8) {
                    /* WARNING: Subroutine does not return */
          var_2("../../gas/config/tc-i386.c",0x1c71,"build_modrm_byte");
        }
LAB_001336a6:
        if (i.tm.extension_opcode == 0xffff) {
          i.rm.reg = (type_2)(i.op[var_17].regs)->reg_num;
          var_1 = (i.op[var_17].regs)->reg_flags;
          if ((var_1 & 1) != 0) {
            i.rex = i.rex | 4;
          }
          if ((var_1 & 4) != 0) {
            i.vrex = i.vrex | 4;
          }
          if (i.mem_operands == 0) {
            i.rm.mode = 3;
            return (type_1 *)puVar15;
          }
          return (type_1 *)puVar15;
        }
        i.rm.regmem = (type_2)(i.op[var_17].regs)->reg_num;
        var_1 = (i.op[var_17].regs)->reg_flags;
        if ((var_1 & 1) != 0) {
          i.rex = i.rex | 1;
        }
        if ((var_1 & 4) != 0) {
          i.vrex = i.vrex | 1;
        }
        if (i.mem_operands != 0) {
          i.rm.reg = i.tm.extension_opcode;
          return (type_1 *)puVar15;
        }
      }
      i.rm.mode = 3;
      goto LAB_001330bc;
    }
    i.vex.register_specifier = i.op[2].regs;
    if (i.mem_operands != 0) goto LAB_001330bc;
    var_1 = (i.op[1].regs)->reg_num;
    var_4 = (i.op[1].regs)->reg_flags;
  }
  i.rm.regmem = (type_2)var_1;
  i.rm.mode = 3;
  if ((var_4 & 1) != 0) {
    i.rm.mode = 3;
    i.rex = i.rex | 1;
  }
LAB_001330bc:
  if (i.tm.extension_opcode != 0xffff) {
    i.rm.reg = i.tm.extension_opcode;
    return (type_1 *)puVar15;
  }
  return (type_1 *)puVar15;
}


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

/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */

undefined1 * MASKED(void)

{
  uint *puVar1;
  long lVar2;
  ulong *puVar3;
  long lVar4;
  byte *pbVar5;
  char cVar6;
  byte bVar7;
  int iVar8;
  ulong uVar9;
  undefined1 *puVar10;
  ulong uVar11;
  byte bVar12;
  long lVar13;
  byte bVar14;
  uint uVar15;
  int iVar16;
  uint uVar17;
  ulong uVar18;
  byte bVar19;
  ulong uVar20;
  byte bVar21;
  uint uVar22;
  uint uVar23;
  bool bVar24;
  
  bVar21 = DAT_001e3bee;
  uVar18 = 0;
  uVar20 = 0;
  bVar19 = DAT_001e3bee & 0xc;
  if (bVar19 == 8) {
    uVar22 = DAT_001e3c24 - 1;
    uVar18 = (ulong)uVar22;
    uVar15 = DAT_001e3c24 - 2;
    if (((DAT_001e3c28 != 4) && ((DAT_001e3c28 != 3 || (DAT_001e3c30 != 1)))) ||
       (((DAT_001e3bed & 0x18) != 8 ||
        (((DAT_001e3bed & 0x60) == 0 || (((&DAT_001e3bf4)[uVar18 * 8] & 4) == 0)))))) {
                    /* WARNING: Subroutine does not return */
      FUN_0011dd00("../../gas/config/tc-i386.c",0x1a12,"build_modrm_byte");
    }
    uVar9 = (ulong)DAT_001e3c34;
    uVar20 = (ulong)(DAT_001e3c34 + 1);
    if ((DAT_001e3bed & 0x60) == 0x40) {
      uVar20 = (ulong)DAT_001e3c34;
      uVar9 = (ulong)(DAT_001e3c34 + 1);
    }
    if (DAT_001e3c34 == 0) {
      uVar11 = (ulong)DAT_001e3c24;
      DAT_001e3c24 = DAT_001e3c24 + 1;
      DAT_001e3c34 = 1;
      (&DAT_001e3c60)[uVar11] = (long)&DAT_001e3b20;
      lVar13 = uVar11 + 0xe;
      *(undefined8 *)(&DAT_001e3bc8 + lVar13 * 2) = 0;
      *(undefined1 *)((long)&DAT_001e3bc8 + lVar13 * 8 + 1) = 4;
      if (((&DAT_001e3bf4)[uVar9 * 8] & 4) == 0) {
                    /* WARNING: Subroutine does not return */
        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a2a,"build_modrm_byte");
      }
      DAT_001e3b38 = 2;
      bVar14 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10);
      bVar7 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x11);
      uVar22 = (uint)bVar7;
      if ((bVar14 & 1) != 0) {
        uVar22 = bVar7 + 8;
      }
      if ((bVar14 & 4) != 0) {
        _DAT_001e3b30 = (ulong)((uVar22 + 0x10) * 0x10);
                    /* WARNING: Subroutine does not return */
        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a2d,"build_modrm_byte");
      }
      _DAT_001e3b30 = (ulong)(uVar22 << 4);
    }
    else {
      if ((DAT_001e3c34 != 1) || ((DAT_001e3c38._5_1_ & 1) == 0)) {
                    /* WARNING: Subroutine does not return */
        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a33,"build_modrm_byte");
      }
      if ((DAT_001e3bec & 0x20) == 0) {
        DAT_001e3c38._1_1_ = DAT_001e3c38._1_1_ | 4;
        uVar22 = 0;
      }
      else {
        uVar20 = (ulong)((int)uVar20 - 1);
        uVar9 = (ulong)((int)uVar9 - 1);
      }
      if (((&DAT_001e3bf4)[uVar9 * 8] & 4) == 0) {
                    /* WARNING: Subroutine does not return */
        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a45,"build_modrm_byte");
      }
      bVar14 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10);
      bVar7 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x11);
      uVar17 = (uint)bVar7;
      if ((bVar14 & 1) != 0) {
        uVar17 = bVar7 + 8;
      }
      lVar13 = (&DAT_001e3c60)[uVar22];
      if ((bVar14 & 4) != 0) {
        *(ulong *)(lVar13 + 0x10) = (ulong)((uVar17 + 0x10) * 0x10) | *(ulong *)(lVar13 + 0x10);
                    /* WARNING: Subroutine does not return */
        FUN_0011dd00("../../gas/config/tc-i386.c",0x1a48,"build_modrm_byte");
      }
      *(ulong *)(lVar13 + 0x10) = (ulong)(uVar17 << 4) | *(ulong *)(lVar13 + 0x10);
    }
    if (((&DAT_001e3bf4)[(ulong)uVar15 * 8] & 4) == 0) {
                    /* WARNING: Subroutine does not return */
      FUN_0011dd00("../../gas/config/tc-i386.c",0x1a4b,"build_modrm_byte");
    }
    DAT_001e3d18 = (&DAT_001e3c60)[uVar15];
  }
  lVar2 = DAT_001e3cb8;
  lVar13 = DAT_001e3cb0;
  uVar9 = (ulong)DAT_001e3c30;
  bVar14 = bVar19;
  if (DAT_001e3c30 == 0) {
    if (DAT_001e3c28 == 2) {
      if ((DAT_001e3bed >> 3 & 3) < 2) {
LAB_0013335b:
        if (DAT_001e3c24 == 3) {
LAB_00133ea8:
          if ((DAT_001e3c34 != 1) &&
             ((DAT_001e3c34 != 0 ||
              (((DAT_001e3bed & 0x18) != 8 && ((DAT_001e3c38._3_1_ & 1) == 0)))))) {
                    /* WARNING: Subroutine does not return */
            FUN_0011dd00("../../gas/config/tc-i386.c",0x1a6b,"build_modrm_byte");
          }
          uVar9 = (ulong)((DAT_001e3c38._1_1_ & 0xfc) != 0 || (DAT_001e3c38._3_1_ & 1) != 0);
          uVar22 = 3;
        }
        else if (DAT_001e3c24 < 4) {
          uVar22 = DAT_001e3c24;
          if (DAT_001e3c24 != 2) goto LAB_00133dcf;
        }
        else {
          if (DAT_001e3c24 != 4) goto joined_r0x00133753;
LAB_00133379:
          uVar9 = (ulong)DAT_001e3c34;
          if (DAT_001e3c34 == 2) {
            if (((DAT_001e3c38._1_1_ & 4) == 0) || ((DAT_001e3c40._1_1_ & 4) == 0))
            goto LAB_00133d61;
          }
          else {
            if ((((DAT_001e3bed & 0x18) != 8) || (DAT_001e3c34 != 1)) ||
               ((((DAT_001e3c38._1_1_ & 4) == 0 && ((DAT_001e3c50._1_1_ & 4) == 0)) &&
                (DAT_001e3d28 == 0)))) {
LAB_00133d61:
                    /* WARNING: Subroutine does not return */
              FUN_0011dd00("../../gas/config/tc-i386.c",0x1a81,"build_modrm_byte");
            }
            uVar9 = (ulong)((DAT_001e3c38._1_1_ & 4) != 0);
          }
          uVar22 = 4;
        }
LAB_001337c1:
        if (bVar19 != 8) {
          uVar15 = (int)uVar9 + 1;
          uVar18 = (ulong)uVar15;
          if ((DAT_001e3d28 != 0) && (*(uint *)(DAT_001e3d28 + 4) == uVar15)) {
            uVar18 = (ulong)((int)uVar9 + 2);
          }
          if ((DAT_001e3bed & 0x18) == 8) {
            uVar20 = uVar9;
            uVar11 = uVar18;
            if ((((&DAT_001e3bf6)[uVar9 * 8] & 0x40) == 0) &&
               (((&DAT_001e3bf6)[uVar18 * 8] & 0x40) != 0)) {
              uVar20 = uVar18;
              uVar11 = uVar9;
            }
            uVar15 = (int)uVar18 + 1;
            uVar18 = (ulong)uVar15;
            uVar9 = *(ulong *)((long)&DAT_001e3bc0 + (uVar11 + 6) * 8 + 4);
            if ((uVar22 <= uVar15) ||
               ((((uVar9 & 1) == 0 ||
                 ((-1 < (char)((uVar9 & 0xfffffffff7ffffff) >> 0x18) &&
                  (((&DAT_001e3bc8)[(uVar11 + 6) * 2] & 2) == 0)))) &&
                (((uVar9 & 4) == 0 &&
                 ((DAT_00153a50 != (int)(uVar9 & 0xfffffffff7ffffff) ||
                  (DAT_00153a54 != (&DAT_001e3bc8)[(uVar11 + 6) * 2])))))))) {
                    /* WARNING: Subroutine does not return */
              FUN_0011dd00("../../gas/config/tc-i386.c",0x1ac9,"build_modrm_byte");
            }
            DAT_001e3d18 = (&DAT_001e3c60)[uVar11];
            uVar9 = uVar20;
          }
        }
LAB_001337ff:
        DAT_001e3cf4 = 3;
        if (((*(byte *)((long)&DAT_001e3bc0 + (uVar18 + 6) * 8 + 7) & 8) == 0) &&
           ((*(ulong *)((long)&DAT_001e3bc0 + (uVar18 + 6) * 8 + 4) & 0x5f0000) == 0)) {
          DAT_001e3cf0 = (uint)*(byte *)((&DAT_001e3c60)[uVar18] + 0x11);
          DAT_001e3cec = (uint)*(byte *)((&DAT_001e3c60)[uVar9] + 0x11);
          bVar21 = *(byte *)((&DAT_001e3c60)[uVar18] + 0x10);
          if ((bVar21 & 1) != 0) {
            DAT_001e3cf8 = DAT_001e3cf8 | 4;
          }
          if ((bVar21 & 4) != 0) {
            DAT_001e3cfc = DAT_001e3cfc | 4;
          }
          bVar21 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10);
          if ((bVar21 & 1) != 0) {
            DAT_001e3cf8 = DAT_001e3cf8 | 1;
          }
          if ((bVar21 & 4) != 0) {
            DAT_001e3cfc = DAT_001e3cfc | 1;
          }
        }
        else {
          DAT_001e3cf0 = (uint)*(byte *)((&DAT_001e3c60)[uVar9] + 0x11);
          DAT_001e3cec = (uint)*(byte *)((&DAT_001e3c60)[uVar18] + 0x11);
          bVar21 = *(byte *)((&DAT_001e3c60)[uVar18] + 0x10);
          if ((bVar21 & 1) != 0) {
            DAT_001e3cf8 = DAT_001e3cf8 | 1;
          }
          if ((bVar21 & 4) != 0) {
            DAT_001e3cfc = DAT_001e3cfc | 1;
          }
          bVar21 = *(byte *)((&DAT_001e3c60)[uVar9] + 0x10);
          if ((bVar21 & 1) != 0) {
            DAT_001e3cf8 = DAT_001e3cf8 | 4;
          }
          if ((bVar21 & 4) != 0) {
            DAT_001e3cfc = DAT_001e3cfc | 4;
          }
        }
        if ((DAT_001e3b14 != 2) && ((DAT_001e3cf8 & 4) != 0)) {
          if ((*(byte *)(&DAT_001e3bc8 + ((ulong)(DAT_001e3bf7 >> 3 & 1) + 0xe) * 2) & 0x10) == 0) {
                    /* WARNING: Subroutine does not return */
            FUN_0011dd00("../../gas/config/tc-i386.c",0x1af4,"build_modrm_byte");
          }
          DAT_001e3cf8 = DAT_001e3cf8 & 0xfffffffb;
          FUN_00131f90(0xf0);
          return (undefined1 *)0x0;
        }
        DAT_001e3cf4 = 3;
        return (undefined1 *)0x0;
      }
    }
    else if (DAT_001e3c28 == 3) {
      if ((DAT_001e3bed & 0x18) == 8) goto LAB_0013335b;
    }
    else if ((DAT_001e3c28 == 4) && (bVar19 == 8)) {
      if (DAT_001e3c24 == 3) goto LAB_00133ea8;
      if (DAT_001e3c24 < 4) {
        if (DAT_001e3c24 != 2) goto LAB_00133dcf;
        goto LAB_001337ff;
      }
      if (DAT_001e3c24 == 4) goto LAB_00133379;
joined_r0x00133753:
      if (DAT_001e3c24 != 5) {
LAB_00133dcf:
                    /* WARNING: Subroutine does not return */
        FUN_0011dd00("../../gas/config/tc-i386.c",0x1aa0,"build_modrm_byte");
      }
      if (DAT_001e3bef == '\0') {
        uVar9 = uVar20;
        uVar22 = 5;
      }
      else {
        if (((DAT_001e3c34 != 2) || (-1 < DAT_001e3bef)) || ((DAT_001e3c38._1_1_ & 0xfc) == 0)) {
                    /* WARNING: Subroutine does not return */
          FUN_0011dd00("../../gas/config/tc-i386.c",0x1a96,"build_modrm_byte");
        }
        if ((DAT_001e3c40._1_1_ & 0xfc) == 0) {
          if ((DAT_001e3c58._1_1_ & 0xfc) == 0) {
                    /* WARNING: Subroutine does not return */
            FUN_0011dd00("../../gas/config/tc-i386.c",0x1a9c,"build_modrm_byte");
          }
          uVar9 = 1;
          uVar22 = 5;
        }
        else {
          uVar9 = (ulong)DAT_001e3c34;
          uVar22 = 5;
        }
      }
      goto LAB_001337c1;
    }
    uVar22 = 0xffffffff;
    puVar10 = (undefined1 *)0x0;
  }
  else {
    if (DAT_001e3c24 == 0) {
LAB_0013303b:
                    /* WARNING: Subroutine does not return */
      FUN_0011dd00("../../gas/config/tc-i386.c",0x1b05,"build_modrm_byte");
    }
    if ((DAT_001e3c38._2_1_ & 0x5f) == 0) {
      uVar9 = 1;
      do {
        uVar20 = uVar9 & 0xffffffff;
        if (DAT_001e3c24 <= (uint)uVar9) goto LAB_0013303b;
        puVar3 = &DAT_001e3c38 + uVar9;
        uVar9 = uVar9 + 1;
      } while ((*puVar3 & 0x5f0000) == 0);
    }
    else {
      uVar20 = 0;
    }
    bVar21 = bVar21 & 0x30;
    uVar22 = (uint)uVar20;
    if (bVar21 == 0) {
LAB_0013313d:
      if (lVar13 != 0) goto LAB_00133146;
LAB_00133448:
      lVar13 = DAT_001e3cb8;
      DAT_001e3cf4 = 0;
      if (DAT_001e3c2c == 0) {
        if (DAT_001e3cb8 == 0) {
          iVar16 = 1;
          goto LAB_00133cae;
        }
        if (bVar21 == 0) {
          iVar16 = 1;
          goto LAB_00133af0;
        }
        goto LAB_00133a60;
      }
      if (DAT_001e3cb8 != 0) {
        if (bVar21 == 0) {
          iVar16 = 0;
LAB_00133af0:
          uVar15 = (uint)*(byte *)(DAT_001e3cb8 + 0x11);
          DAT_001e3cec = 4;
          if ((byte)(*(byte *)(DAT_001e3cb8 + 0x11) + 4) < 2) {
            uVar15 = 4;
          }
          _DAT_001e3d00 = CONCAT44(uVar15,5);
          DAT_001e3d08 = DAT_001e3cc0;
          lVar2 = uVar20 * 8;
          bVar21 = *(byte *)((long)&DAT_001e3c38 + lVar2 + 2);
          bVar24 = DAT_001e3b14 == 2;
          *(byte *)((long)&DAT_001e3c38 + lVar2 + 2) = bVar21 & 0xec;
          if ((bVar24) && (DAT_001e3ce6 == '\0')) {
            *(byte *)((long)&DAT_001e3c38 + lVar2 + 2) = bVar21 & 0xe0 | 8;
          }
          else {
            *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) =
                 *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xf3 | 4;
          }
          puVar10 = ds;
          if ((*(byte *)(lVar13 + 0x10) & 1) != 0) {
            DAT_001e3cf8 = DAT_001e3cf8 | 2;
          }
          goto LAB_00133b80;
        }
        goto LAB_00133424;
      }
      iVar16 = 0;
LAB_00133cae:
      if (bVar21 != 0) {
                    /* WARNING: Subroutine does not return */
        FUN_0011dd00("../../gas/config/tc-i386.c",0x1b33,"build_modrm_byte");
      }
      if (DAT_001e3b14 == 2) {
        DAT_001e3cec = 4;
        uVar17 = (uint)(DAT_001e3ce6 == '\0');
        uVar15 = (uint)(DAT_001e3ce6 != '\0');
        _DAT_001e3d00 = 0x400000005;
        iVar8 = 0;
      }
      else if ((DAT_001e3b14 == 1) == (DAT_001e3ce6 != '\0')) {
        DAT_001e3cec = 5;
        uVar17 = 0;
        uVar15 = 1;
        iVar8 = 0;
      }
      else {
        DAT_001e3cec = 6;
        uVar17 = 0;
        uVar15 = 0;
        iVar8 = 1;
      }
      uVar23 = ~DAT_00153a64;
      *(uint *)(&DAT_001e3c38 + uVar20) =
           iVar8 << 0x11 | uVar15 << 0x12 | uVar17 << 0x13 |
           ~DAT_00153a60 & *(uint *)(&DAT_001e3c38 + uVar20);
      puVar10 = ds;
      puVar1 = (uint *)((long)&DAT_001e3c38 + uVar20 * 8 + 4);
      *puVar1 = *puVar1 & uVar23;
LAB_00133b80:
      if (iVar16 != 0) goto LAB_00133a67;
    }
    else {
      cVar6 = *(char *)(DAT_001e3cb8 + 0x11);
      if ((byte)(cVar6 + 4U) < 2) {
                    /* WARNING: Subroutine does not return */
        FUN_0011dd00("../../gas/config/tc-i386.c",0x1b0b,"build_modrm_byte");
      }
      DAT_001e3cec = 4;
      if (DAT_001e3cb0 == 0) {
        _DAT_001e3d00 = 5;
        DAT_001e3d08 = DAT_001e3cc0;
        lVar4 = uVar20 * 8;
        bVar7 = *(byte *)((long)&DAT_001e3c38 + lVar4 + 2);
        bVar24 = DAT_001e3b14 == 2;
        *(byte *)((long)&DAT_001e3c38 + lVar4 + 2) = bVar7 & 0xec;
        if ((bVar24) && (DAT_001e3ce6 == '\0')) {
          *(byte *)((long)&DAT_001e3c38 + lVar4 + 2) = bVar7 & 0xe0 | 8;
        }
        else {
          *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) =
               *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xf3 | 4;
        }
      }
      _DAT_001e3d00 = (ulong)CONCAT14(cVar6,_DAT_001e3d00);
      if ((*(byte *)(lVar2 + 0x10) & 1) != 0) {
        DAT_001e3cf8 = DAT_001e3cf8 | 2;
      }
      if ((*(byte *)(lVar2 + 0x10) & 4) == 0) goto LAB_0013313d;
      DAT_001e3cfc = DAT_001e3cfc | 2;
      if (lVar13 == 0) goto LAB_00133448;
LAB_00133146:
      bVar7 = *(byte *)(lVar13 + 0x11);
      if (bVar7 < 0xfe) {
        if ((*(byte *)(lVar13 + 0xb) & 0x40) == 0) {
          if ((DAT_001e3b14 == 2) &&
             ((*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f) != 0)) {
            lVar2 = (uVar20 + 0xe) * 8;
            bVar14 = *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2);
            bVar12 = bVar14 & 0xe1;
            *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar14 & 0xed;
            if (DAT_001e3ce6 == '\0') {
              *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar12 | 8;
            }
            else {
              *(byte *)((long)&DAT_001e3bc8 + lVar2 + 2) = bVar12 | 4;
            }
          }
          if (bVar21 == 0) {
            DAT_001e3cec = (uint)bVar7;
          }
          if ((*(byte *)(lVar13 + 0x10) & 1) == 0) {
            puVar10 = ss;
            if (1 < (byte)(bVar7 - 4)) {
              puVar10 = ds;
            }
          }
          else {
            DAT_001e3cf8 = DAT_001e3cf8 | 1;
            puVar10 = ds;
          }
          _DAT_001e3d00 = CONCAT44(DAT_001e3d04,(uint)bVar7);
          iVar16 = 0;
          if ((bVar7 == 5) && (iVar16 = 0, DAT_001e3c2c == 0)) {
            iVar16 = 1;
            pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);
            *pbVar5 = *pbVar5 | 1;
          }
          iVar8 = DAT_001e3d40;
          DAT_001e3d08 = DAT_001e3cc0;
          if (DAT_001e3cb8 == 0) {
            if (bVar21 != 0) {
                    /* WARNING: Subroutine does not return */
              FUN_0011dd00("../../gas/config/tc-i386.c",0x1bbf,"build_modrm_byte");
            }
            _DAT_001e3d00 = CONCAT44(4,_DAT_001e3d00);
          }
          else if (bVar21 == 0) {
            DAT_001e3cec = 4;
            uVar15 = (uint)*(byte *)(DAT_001e3cb8 + 0x11);
            if ((byte)(*(byte *)(DAT_001e3cb8 + 0x11) + 4) < 2) {
              uVar15 = 4;
            }
            _DAT_001e3d00 = CONCAT44(uVar15,_DAT_001e3d00);
            if ((*(byte *)(DAT_001e3cb8 + 0x10) & 1) != 0) {
              DAT_001e3cf8 = DAT_001e3cf8 | 2;
            }
          }
          if (DAT_001e3c2c == 0) {
            if ((iVar16 == 0) && (iVar16 = iVar8, DAT_001e3d40 != 0)) {
              if (DAT_001e3d40 == 1) {
                pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);
                *pbVar5 = *pbVar5 | 1;
              }
              else {
                pbVar5 = (byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2);
                *pbVar5 = *pbVar5 | 4;
                iVar16 = 1;
              }
            }
          }
          else if (((&DAT_001e3c9c)[uVar20] == 0x179) || ((&DAT_001e3c9c)[uVar20] == 0x195)) {
            DAT_001e3cf4 = 0;
            goto LAB_00133b80;
          }
        }
        else {
          if (bVar21 != 0) {
                    /* WARNING: Subroutine does not return */
            FUN_0011dd00("../../gas/config/tc-i386.c",0x1b7c,"build_modrm_byte");
          }
          if (bVar7 == 3) {
            if (DAT_001e3cb8 != 0) {
              DAT_001e3cec = *(byte *)(DAT_001e3cb8 + 0x11) - 6;
              goto LAB_0013317e;
            }
            DAT_001e3cec = 7;
            puVar10 = ds;
            iVar16 = 0;
          }
          else if (bVar7 == 5) {
            if (DAT_001e3cb8 == 0) {
              puVar10 = ss;
              DAT_001e3cec = 6;
              iVar16 = 0;
              if ((*(byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2) & 0x1f) == 0) {
                pbVar5 = (byte *)((long)&DAT_001e3bc8 + (uVar20 + 0xe) * 8 + 2);
                *pbVar5 = *pbVar5 | 1;
                iVar16 = 1;
              }
            }
            else {
              DAT_001e3cec = *(byte *)(DAT_001e3cb8 + 0x11) - 4;
              puVar10 = ss;
              iVar16 = 0;
            }
          }
          else {
            DAT_001e3cec = bVar7 - 2;
LAB_0013317e:
            iVar16 = 0;
            puVar10 = ds;
          }
        }
        DAT_001e3cf4 = 1;
        if (((ulong)(&DAT_001e3c38)[uVar20] >> 0x10 & 1) == 0) {
          DAT_001e3cf4 = (uint)(((&DAT_001e3c38)[uVar20] & 0xe0000) != 0) * 2;
        }
        goto LAB_00133b80;
      }
      if (bVar21 != 0) {
                    /* WARNING: Subroutine does not return */
        FUN_0011dd00("../../gas/config/tc-i386.c",0x1b6f,"build_modrm_byte");
      }
      DAT_001e3cec = 5;
      *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) =
           *(byte *)((long)&DAT_001e3c38 + uVar20 * 8 + 2) & 0xe0 | 8;
      uVar15 = DAT_001e3c2c;
      (&DAT_001e3c88)[uVar20] = (&DAT_001e3c88)[uVar20] | 1;
      if (uVar15 != 0) {
LAB_00133424:
        puVar10 = ds;
        goto LAB_00133089;
      }
LAB_00133a60:
      puVar10 = ds;
LAB_00133a67:
      if ((&DAT_001e3bc0)[uVar20 + 0x14] != 0) {
                    /* WARNING: Subroutine does not return */
        FUN_0011dd00("../../gas/config/tc-i386.c",0x1bed,"build_modrm_byte");
      }
      uVar9 = (ulong)DAT_001e3c2c;
      DAT_001e3c2c = DAT_001e3c2c + 1;
      lVar13 = uVar9 * 0x20;
      (&DAT_001e3bc0)[uVar20 + 0x14] = &DAT_001e3b60 + lVar13;
      (&DAT_001e3b78)[lVar13] = 2;
      *(undefined8 *)(&DAT_001e3b70 + lVar13) = 0;
      *(undefined8 *)(&DAT_001e3b60 + lVar13) = 0;
      *(undefined8 *)(&DAT_001e3b68 + lVar13) = 0;
    }
    bVar14 = DAT_001e3bee & 0xc;
  }
LAB_00133089:
  if (bVar14 == 4) {
    if ((DAT_001e3c38._1_1_ & 0xfc) == 0) {
      if ((DAT_001e3bed & 0x60) == 0x20) {
        DAT_001e3d18 = DAT_001e3c60;
      }
      else {
        DAT_001e3d18 = DAT_001e3c68;
      }
    }
    else {
      DAT_001e3d18 = 0;
    }
    DAT_001e3cf0 = (uint)*(byte *)(DAT_001e3c70 + 0x11);
    if ((*(byte *)(DAT_001e3c70 + 0x10) & 1) != 0) {
      DAT_001e3cf8 = DAT_001e3cf8 | 4;
    }
    if (DAT_001e3c30 != 0) goto LAB_001330bc;
    if ((DAT_001e3bed & 0x60) == 0x20) {
      bVar21 = *(byte *)(DAT_001e3c68 + 0x11);
    }
    else {
      bVar21 = *(byte *)(DAT_001e3c60 + 0x11);
    }
    bVar19 = *(byte *)(DAT_001e3c68 + 0x10);
  }
  else {
    bVar21 = DAT_001e3bed & 0x18;
    if (bVar21 != 0x18) {
      if (DAT_001e3c28 == 0) goto LAB_001330bc;
      if ((((DAT_001e3c24 == 0) || (((byte)DAT_001e3c38 & 1) != 0)) ||
          (((byte)DAT_001e3c38 & 2) != 0)) ||
         ((((byte)DAT_001e3c38 & 4) != 0 || ((DAT_001e3c38._5_1_ & 2) != 0)))) {
        uVar20 = 0;
      }
      else {
        uVar20 = 0;
        if (((byte)DAT_001e3c38 & 8) == 0) {
          uVar9 = 0;
          while( true ) {
            bVar14 = *(byte *)(&DAT_001e3bc8 + (uVar9 + 0xe) * 2);
            if ((((char)bVar14 < '\0') ||
                ((*(byte *)((long)&DAT_001e3bc8 + (uVar9 + 0xe) * 8 + 1) & 1) != 0)) ||
               (((bVar14 & 0x10) != 0 || (((bVar14 & 0x20) != 0 || ((bVar14 & 0x40) != 0))))))
            goto LAB_00133670;
            uVar15 = (int)uVar20 + 1;
            uVar20 = (ulong)uVar15;
            if (DAT_001e3c24 == uVar15) break;
            uVar9 = (ulong)uVar15;
            bVar14 = *(byte *)(&DAT_001e3bc8 + (uVar9 + 0xe) * 2);
            if (((((bVar14 & 1) != 0) || ((bVar14 & 2) != 0)) || ((bVar14 & 4) != 0)) ||
               (((*(byte *)((long)&DAT_001e3bcc + (uVar9 + 0xe) * 8 + 1) & 2) != 0 ||
                ((*(byte *)(&DAT_001e3c38 + uVar9) & 8) != 0)))) goto LAB_00133670;
          }
          uVar20 = (ulong)DAT_001e3c24;
        }
      }
LAB_00133670:
      uVar15 = (uint)uVar20;
      if (bVar19 == 8) {
        uVar15 = 0xffffffff;
        uVar20 = uVar18;
LAB_00133b96:
        if (uVar15 != (uint)uVar20) goto LAB_001336a6;
        if (DAT_001e3c30 != 0) goto LAB_001330bc;
      }
      else {
        uVar18 = uVar20;
        if (bVar21 == 8) {
          if (uVar22 == 0xffffffff) {
                    /* WARNING: Subroutine does not return */
            FUN_0011dd00("../../gas/config/tc-i386.c",0x1c44,"build_modrm_byte");
          }
          uVar17 = uVar15 + 1;
          uVar18 = (ulong)uVar17;
          uVar9 = uVar20;
          if (uVar22 < uVar15) {
            if (DAT_001e3c24 <= uVar17) {
                    /* WARNING: Subroutine does not return */
              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c49,"build_modrm_byte");
            }
          }
          else if ((((&DAT_001e3bf6)[uVar20 * 8] & 0x40) == 0) &&
                  (((&DAT_001e3bf6)[uVar18 * 8] & 0x40) != 0)) {
            if ((DAT_001e3c24 <= uVar15 + 2) || (uVar22 != uVar17)) {
                    /* WARNING: Subroutine does not return */
              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c55,"build_modrm_byte");
            }
            uVar18 = (ulong)(uVar15 + 2);
          }
          else {
            uVar9 = uVar18;
            uVar18 = uVar20;
            uVar15 = uVar17;
            if (DAT_001e3c24 <= uVar17) {
                    /* WARNING: Subroutine does not return */
              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c5a,"build_modrm_byte");
            }
          }
LAB_00133e49:
          lVar13 = uVar9 + 6;
          bVar21 = *(byte *)((long)&DAT_001e3bc0 + lVar13 * 8 + 4);
          if ((((bVar21 & 1) == 0) ||
              ((-1 < *(char *)((long)&DAT_001e3bc0 + lVar13 * 8 + 7) &&
               ((*(byte *)(&DAT_001e3bc8 + lVar13 * 2) & 2) == 0)))) &&
             (((bVar21 & 4) == 0 &&
              ((*(uint *)(&DAT_001e3bf8 + uVar9 * 8) != DAT_00153a54 ||
               (*(int *)(&DAT_001e3bf4 + uVar9 * 8) != DAT_00153a50)))))) {
                    /* WARNING: Subroutine does not return */
            FUN_0011dd00("../../gas/config/tc-i386.c",0x1c7b,"build_modrm_byte");
          }
          DAT_001e3d18 = (&DAT_001e3c60)[uVar9];
          uVar20 = uVar18;
          goto LAB_00133b96;
        }
        if (bVar21 == 0x10) {
          if (DAT_001e3c30 == 0) {
            if (DAT_001e3c24 != uVar15 + 2) {
                    /* WARNING: Subroutine does not return */
              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c65,"build_modrm_byte");
            }
            uVar9 = (ulong)(uVar15 + 1);
            uVar15 = uVar15 + 1;
          }
          else {
            if ((DAT_001e3c34 + 2 <= uVar15) || (DAT_001e3c24 != DAT_001e3c34 + 2)) {
                    /* WARNING: Subroutine does not return */
              FUN_0011dd00("../../gas/config/tc-i386.c",0x1c6c,"build_modrm_byte");
            }
            uVar15 = DAT_001e3c34 + 1;
            if (uVar15 == 0xffffffff) goto LAB_001336a6;
            uVar9 = (ulong)uVar15;
          }
          goto LAB_00133e49;
        }
        if (DAT_001e3c24 <= uVar15) {
                    /* WARNING: Subroutine does not return */
          FUN_0011dd00("../../gas/config/tc-i386.c",0x1c71,"build_modrm_byte");
        }
LAB_001336a6:
        if (DAT_001e3bd0 == 0xffff) {
          DAT_001e3cf0 = (uint)*(byte *)((&DAT_001e3c60)[uVar20] + 0x11);
          bVar21 = *(byte *)((&DAT_001e3c60)[uVar20] + 0x10);
          if ((bVar21 & 1) != 0) {
            DAT_001e3cf8 = DAT_001e3cf8 | 4;
          }
          if ((bVar21 & 4) != 0) {
            DAT_001e3cfc = DAT_001e3cfc | 4;
          }
          if (DAT_001e3c30 == 0) {
            DAT_001e3cf4 = 3;
            return puVar10;
          }
          return puVar10;
        }
        DAT_001e3cec = (uint)*(byte *)((&DAT_001e3c60)[uVar20] + 0x11);
        bVar21 = *(byte *)((&DAT_001e3c60)[uVar20] + 0x10);
        if ((bVar21 & 1) != 0) {
          DAT_001e3cf8 = DAT_001e3cf8 | 1;
        }
        if ((bVar21 & 4) != 0) {
          DAT_001e3cfc = DAT_001e3cfc | 1;
        }
        if (DAT_001e3c30 != 0) {
          DAT_001e3cf0 = DAT_001e3bd0;
          return puVar10;
        }
      }
      DAT_001e3cf4 = 3;
      goto LAB_001330bc;
    }
    DAT_001e3d18 = DAT_001e3c70;
    if (DAT_001e3c30 != 0) goto LAB_001330bc;
    bVar21 = *(byte *)(DAT_001e3c68 + 0x11);
    bVar19 = *(byte *)(DAT_001e3c68 + 0x10);
  }
  DAT_001e3cec = (uint)bVar21;
  DAT_001e3cf4 = 3;
  if ((bVar19 & 1) != 0) {
    DAT_001e3cf4 = 3;
    DAT_001e3cf8 = DAT_001e3cf8 | 1;
  }
LAB_001330bc:
  if (DAT_001e3bd0 != 0xffff) {
    DAT_001e3cf0 = DAT_001e3bd0;
    return puVar10;
  }
  return puVar10;
}

