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

char * __regparm3 parse_insn(char *line,char *mnemonic)

{
  templates *ptVar1;
  byte bVar2;
  char cVar3;
  uint uVar4;
  uint uVar5;
  PREFIX_GROUP PVar6;
  char *pcVar7;
  int iVar8;
  templates *ptVar9;
  char *pcVar10;
  byte *pbVar11;
  char *pcVar12;
  char *pcVar13;
  insn_template *piVar14;
  byte *local_38;
  char local_20;
  
  pcVar10 = (char *)0x0;
  local_38 = (byte *)line;
  do {
    cVar3 = mnemonic_chars[*local_38];
    *mnemonic = cVar3;
    pcVar13 = mnemonic;
    pbVar11 = local_38;
    if (cVar3 == '\0') {
      bVar2 = *local_38;
      uVar4 = (uint)(char)bVar2;
      if ((uVar4 & 0xdf) == 0) goto LAB_000454ae;
LAB_00045208:
      if ((intel_syntax == 0) && (((char)uVar4 == '/' || ((char)uVar4 == ',')))) goto LAB_000450fb;
LAB_00045222:
      pcVar10 = output_invalid(uVar4);
      pcVar13 = (char *)dcgettext(0,"invalid character %s in mnemonic",5);
      goto LAB_000451a1;
    }
    do {
      if (cVar3 == '.') {
        pcVar10 = pcVar13;
      }
      pcVar13 = pcVar13 + 1;
      ptVar1 = current_templates;
      if (pbVar11 == local_38 + 0x13) goto _L1930;
      pbVar11 = pbVar11 + 1;
      cVar3 = mnemonic_chars[*pbVar11];
      *pcVar13 = cVar3;
    } while (cVar3 != '\0');
    uVar4 = (uint)(char)*pbVar11;
    if ((uVar4 & 0xdf) != 0) goto LAB_00045208;
LAB_000450fb:
    bVar2 = (byte)uVar4;
    if (pbVar11 == local_38) {
LAB_000454ae:
      if ((intel_syntax == 0) && (bVar2 == 0x2f)) {
        pcVar10 = "expecting prefix; got nothing";
      }
      else {
        pcVar10 = "expecting mnemonic; got nothing";
      }
      pcVar10 = (char *)dcgettext(0,pcVar10,5);
      as_bad(pcVar10);
      return (char *)0x0;
    }
    current_templates = (templates *)hash_find(op_hash,mnemonic);
    bVar2 = *pbVar11;
    if ((bVar2 == 0) || ((bVar2 == 0x20 && (pbVar11[1] == 0)))) {
      if (current_templates == (templates *)0x0) goto LAB_00045540;
      piVar14 = current_templates->start;
      if ((undefined1  [12])((undefined1  [12])piVar14->opcode_modifier & (undefined1  [12])0xa0) ==
          (undefined1  [12])0x0) {
LAB_00045264:
        piVar14 = current_templates->start;
      }
LAB_0004526c:
      ptVar1 = current_templates;
      if (current_templates->end <= piVar14) goto LAB_0004562d;
      uVar4 = 0;
      do {
        uVar5 = cpu_flags_match(piVar14);
        uVar4 = uVar4 | uVar5;
        if (uVar4 == 3) {
          if (((cpu_arch_flags.array[0]._0_1_ & 4) == 0) && (flag_code != CODE_16BIT)) {
            pcVar10 = (char *)dcgettext(0,"use .code16 to ensure correct addressing mode",5);
            as_warn(pcVar10);
          }
          return (char *)pbVar11;
        }
        piVar14 = piVar14 + 1;
      } while (piVar14 < ptVar1->end);
      piVar14 = ptVar1->start;
      if ((uVar4 & 2) == 0) {
LAB_0004562d:
        pcVar10 = piVar14->name;
        if (flag_code == CODE_64BIT) {
LAB_00045352:
          pcVar13 = (char *)dcgettext(0,"`%s\' is not supported in 64-bit mode",5);
        }
        else {
LAB_00045188:
          pcVar13 = (char *)dcgettext(0,"`%s\' is only supported in 64-bit mode",5);
        }
LAB_000451a1:
        as_bad(pcVar13,pcVar10);
      }
      else {
        pcVar10 = piVar14->name;
        pcVar13 = cpu_sub_arch_name;
        if (cpu_sub_arch_name == (char *)0x0) {
          pcVar13 = "";
        }
        pcVar12 = cpu_arch_name;
        if (cpu_arch_name == (char *)0x0) {
          pcVar12 = default_arch;
        }
        pcVar7 = (char *)dcgettext(0,"`%s\' is not supported on `%s%s\'",5);
        as_bad(pcVar7,pcVar10,pcVar12,pcVar13);
      }
      return (char *)0x0;
    }
    if (current_templates == (templates *)0x0) {
LAB_00045540:
      if ((pcVar10 == pcVar13 + -2) && (pcVar10[1] == 's')) {
        i.dir_encoding = Cpu386;
LAB_00045660:
        *pcVar10 = '\0';
        ptVar9 = (templates *)hash_find(op_hash,mnemonic);
        current_templates = ptVar9;
        if (ptVar9 == (templates *)0x0) {
          cVar3 = pcVar10[-1];
          current_templates = (templates *)0x0;
          pcVar13 = pcVar10;
          ptVar1 = (templates *)0x0;
          switch(cVar3) {
          case 'b':
          case 'q':
            goto _L2009;
          default:
            goto _L1930;
          case 'd':
            goto _L1927;
          case 'l':
          case 's':
            goto _L1925;
          case 'w':
            goto _L1921;
          }
        }
      }
      else {
        if (pcVar10 == pcVar13 + -3) {
          if (pcVar10[1] == 'd') {
            if (pcVar10[2] == '8') {
              i.disp_encoding = Cpu286;
              goto LAB_00045660;
            }
            if (pcVar10 == pcVar13 + -4) goto LAB_000456b1;
          }
        }
        else if ((pcVar10 == pcVar13 + -4) && (pcVar10[1] == 'd')) {
LAB_000456b1:
          if ((pcVar10[2] == '3') && (pcVar10[3] == '2')) {
            i.disp_encoding = Cpu386;
            goto LAB_00045660;
          }
        }
        cVar3 = pcVar13[-1];
        ptVar1 = current_templates;
        ptVar9 = current_templates;
        switch(cVar3) {
        case 'b':
        case 'q':
          break;
        default:
          goto _L1930;
        case 'd':
_L1927:
          current_templates = ptVar9;
          if (intel_syntax != 0) {
            cVar3 = 'l';
            if ((*mnemonic == 'f') && (iVar8 = intel_float_operand(mnemonic), iVar8 == 1)) {
              cVar3 = 's';
            }
            break;
          }
          goto LAB_000455d5;
        case 'l':
        case 's':
_L1925:
          current_templates = ptVar9;
          if (intel_syntax != 0) goto LAB_000455d5;
          break;
        case 'w':
_L1921:
          cVar3 = 'w';
          if ((intel_syntax != 0) && (*mnemonic == 'f')) {
            uVar4 = intel_float_operand(mnemonic);
            cVar3 = (-((uVar4 & 2) == 0) & 4U) + 0x73;
          }
        }
_L2009:
        i.suffix = cVar3;
        pcVar13[-1] = '\0';
        current_templates = (templates *)hash_find(op_hash,mnemonic);
LAB_000455d5:
        ptVar1 = current_templates;
        if (current_templates == (templates *)0x0) {
_L1930:
          current_templates = ptVar1;
          pcVar10 = (char *)dcgettext(0,"no such instruction: `%s\'",5);
          as_bad(pcVar10,local_38);
          return (char *)0x0;
        }
      }
      piVar14 = current_templates->start;
      bVar2 = *pbVar11;
LAB_000454eb:
      if ((undefined1  [12])((undefined1  [12])piVar14->opcode_modifier & (undefined1  [12])0xa0) ==
          (undefined1  [12])0x0) {
LAB_00045532:
        if (bVar2 != 0x2c) goto LAB_00045264;
      }
      else {
        if (bVar2 != 0x2c) goto LAB_0004526c;
        if (pbVar11[1] == 0x70) {
          if (pbVar11[2] == 0x74) {
            PVar6 = add_prefix(0x3e);
          }
          else {
            if (pbVar11[2] != 0x6e) goto LAB_000454ff;
            PVar6 = add_prefix(0x2e);
          }
          if (PVar6 == PREFIX_EXIST) {
            return (char *)0x0;
          }
          bVar2 = pbVar11[3];
          pbVar11 = pbVar11 + 3;
          goto LAB_00045532;
        }
      }
LAB_000454ff:
      uVar4 = 0x2c;
      goto LAB_00045222;
    }
    piVar14 = current_templates->start;
    if (((piVar14->opcode_modifier).field_0x4 & 0x10) == 0) goto LAB_000454eb;
    local_20 = (char)(piVar14->cpu_flags).array[3];
    if (flag_code == CODE_64BIT) {
      if (local_20 < '\0') {
        pcVar10 = piVar14->name;
        goto LAB_00045352;
      }
    }
    else {
      if (((piVar14->cpu_flags).array[3] & 0x40) != 0) {
        pcVar10 = piVar14->name;
        goto LAB_00045188;
      }
      bVar2 = (piVar14->opcode_modifier).field_0x1;
      if (((bVar2 & 0x18) != 0) && ((bool)(bVar2 >> 4 & 1) != (flag_code == CODE_16BIT))) {
        pcVar10 = piVar14->name;
        pcVar13 = (char *)dcgettext(0,"redundant %s prefix",5);
        as_bad(pcVar13,pcVar10);
        return (char *)0x0;
      }
    }
    if (piVar14->opcode_length == '\0') {
      pcVar13 = i.rep_prefix;
      pcVar12 = i.hle_prefix;
      switch(piVar14->base_opcode) {
      case 0:
        i.disp_encoding = Cpu286;
        break;
      case 1:
        i.disp_encoding = Cpu386;
        break;
      case 2:
        i.dir_encoding = Cpu286;
        break;
      case 3:
        i.dir_encoding = Cpu386;
        break;
      case 4:
        i.vec_encoding = Cpu286;
        break;
      case 5:
        i.vec_encoding = Cpu386;
        break;
      case 6:
        i.vec_encoding = Cpu486;
        break;
      case 7:
        i.rex_encoding = 1;
        break;
      case 8:
        i.no_optimize = 1;
        break;
      default:
                    /* WARNING: Subroutine does not return */
        as_abort("../../gas/config/tc-i386.c",0x1127,"parse_insn");
      }
    }
    else {
      PVar6 = add_prefix(piVar14->base_opcode);
      pcVar13 = i.rep_prefix;
      pcVar12 = i.hle_prefix;
      if (PVar6 == PREFIX_REP) {
        piVar14 = current_templates->start;
        pcVar7 = piVar14->name;
        pcVar12 = pcVar7;
        if (((undefined1  [16])
             ((undefined1  [16])piVar14->cpu_flags & (undefined1  [16])0x1000000000000000) ==
             (undefined1  [16])0x0) &&
           (pcVar13 = pcVar7, pcVar12 = i.hle_prefix,
           (undefined1  [16])((undefined1  [16])piVar14->cpu_flags & (undefined1  [16])0x1) !=
           (undefined1  [16])0x0)) {
          pcVar13 = i.rep_prefix;
          i.bnd_prefix = pcVar7;
        }
      }
      else if (PVar6 == PREFIX_DS) {
        if ((undefined1  [16])
            ((undefined1  [16])current_templates->start->cpu_flags & (undefined1  [16])0x8000000) !=
            (undefined1  [16])0x0) {
          i.notrack_prefix = current_templates->start->name;
        }
      }
      else if (PVar6 == PREFIX_EXIST) {
        return (char *)0x0;
      }
    }
    i.hle_prefix = pcVar12;
    i.rep_prefix = pcVar13;
    local_38 = pbVar11 + 1;
  } while( true );
}



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

byte * __regparm3 FUN_00045090(byte *param_1,char *param_2)

{
  undefined4 uVar1;
  int *piVar2;
  byte bVar3;
  char cVar4;
  undefined4 uVar5;
  undefined4 uVar6;
  uint uVar7;
  int iVar8;
  int *piVar9;
  char *pcVar10;
  uint uVar11;
  undefined *puVar12;
  byte *pbVar13;
  undefined *puVar14;
  char *pcVar15;
  undefined4 *puVar16;
  byte *local_38;
  char local_20;
  
  pcVar10 = (char *)0x0;
  local_38 = param_1;
  do {
    cVar4 = (&DAT_000844e0)[*local_38];
    *param_2 = cVar4;
    pcVar15 = param_2;
    pbVar13 = local_38;
    if (cVar4 == '\0') {
      bVar3 = *local_38;
      if ((bVar3 & 0xdf) == 0) goto LAB_000454ae;
LAB_00045208:
      if ((DAT_00083ed0 == 0) && ((bVar3 == 0x2f || (bVar3 == 0x2c)))) goto LAB_000450fb;
      goto LAB_00045222;
    }
    do {
      if (cVar4 == '.') {
        pcVar10 = pcVar15;
      }
      pcVar15 = pcVar15 + 1;
      piVar2 = DAT_00083f40;
      if (pbVar13 == local_38 + 0x13) goto LAB_000451c0;
      pbVar13 = pbVar13 + 1;
      cVar4 = (&DAT_000844e0)[*pbVar13];
      *pcVar15 = cVar4;
    } while (cVar4 != '\0');
    bVar3 = *pbVar13;
    if ((bVar3 & 0xdf) != 0) goto LAB_00045208;
LAB_000450fb:
    if (pbVar13 == local_38) {
LAB_000454ae:
      if ((DAT_00083ed0 == 0) && (bVar3 == 0x2f)) {
        pcVar10 = "expecting prefix; got nothing";
      }
      else {
        pcVar10 = "expecting mnemonic; got nothing";
      }
      uVar6 = dcgettext(0,pcVar10,5);
      FUN_0002a980(uVar6);
      return (byte *)0x0;
    }
    DAT_00083f40 = (int *)FUN_00024180(DAT_00083e60,param_2);
    bVar3 = *pbVar13;
    if ((bVar3 == 0) || ((bVar3 == 0x20 && (pbVar13[1] == 0)))) {
      if (DAT_00083f40 == (int *)0x0) goto LAB_00045540;
      puVar16 = (undefined4 *)*DAT_00083f40;
      if ((*(byte *)(puVar16 + 9) & 0xa0) == 0) {
LAB_00045264:
        puVar16 = (undefined4 *)*DAT_00083f40;
      }
LAB_0004526c:
      piVar2 = DAT_00083f40;
      if ((undefined4 *)DAT_00083f40[1] <= puVar16) goto LAB_0004562d;
      uVar11 = 0;
      do {
        uVar7 = FUN_00044e30();
        uVar11 = uVar11 | uVar7;
        if (uVar11 == 3) {
          if (((DAT_0007b53c & 4) == 0) && (DAT_00083ee8 != 1)) {
            uVar6 = dcgettext(0,"use .code16 to ensure correct addressing mode",5);
            FUN_0002a8a0(uVar6);
          }
          return pbVar13;
        }
        puVar16 = puVar16 + 0x16;
      } while (puVar16 < (undefined4 *)piVar2[1]);
      puVar16 = (undefined4 *)*piVar2;
      if ((uVar11 & 2) == 0) {
LAB_0004562d:
        uVar6 = *puVar16;
        if (DAT_00083ee8 == 2) {
LAB_00045352:
          uVar5 = dcgettext(0,"`%s\' is not supported in 64-bit mode",5);
        }
        else {
LAB_00045188:
          uVar5 = dcgettext(0,"`%s\' is only supported in 64-bit mode",5);
        }
LAB_000451a1:
        FUN_0002a980(uVar5,uVar6);
      }
      else {
        uVar6 = *puVar16;
        puVar12 = DAT_00083e94;
        if (DAT_00083e94 == (undefined *)0x0) {
          puVar12 = &DAT_00059ae5;
        }
        puVar14 = DAT_00083e98;
        if (DAT_00083e98 == (undefined *)0x0) {
          puVar14 = PTR_s_i386_0007b71c;
        }
        uVar5 = dcgettext(0,"`%s\' is not supported on `%s%s\'",5);
        FUN_0002a980(uVar5,uVar6,puVar14,puVar12);
      }
      return (byte *)0x0;
    }
    if (DAT_00083f40 == (int *)0x0) {
LAB_00045540:
      if ((pcVar10 == pcVar15 + -2) && (pcVar10[1] == 's')) {
        DAT_00084094 = 2;
LAB_00045660:
        *pcVar10 = '\0';
        piVar9 = (int *)FUN_00024180(DAT_00083e60,param_2);
        DAT_00083f40 = piVar9;
        if (piVar9 == (int *)0x0) {
          cVar4 = pcVar10[-1];
          DAT_00083f40 = (int *)0x0;
          pcVar15 = pcVar10;
          piVar2 = (int *)0x0;
          switch(cVar4) {
          case 'b':
          case 'q':
            goto code_r0x000455ae;
          default:
            goto LAB_000451c0;
          case 'd':
            goto code_r0x000455fd;
          case 'l':
          case 's':
            goto code_r0x000455e9;
          case 'w':
            goto code_r0x00045581;
          }
        }
      }
      else {
        if (pcVar10 == pcVar15 + -3) {
          if (pcVar10[1] == 'd') {
            if (pcVar10[2] == '8') {
              DAT_00084098 = 1;
              goto LAB_00045660;
            }
            if (pcVar10 == pcVar15 + -4) goto LAB_000456b1;
          }
        }
        else if ((pcVar10 == pcVar15 + -4) && (pcVar10[1] == 'd')) {
LAB_000456b1:
          if ((pcVar10[2] == '3') && (pcVar10[3] == '2')) {
            DAT_00084098 = 2;
            goto LAB_00045660;
          }
        }
        cVar4 = pcVar15[-1];
        piVar2 = DAT_00083f40;
        piVar9 = DAT_00083f40;
        switch(cVar4) {
        case 'b':
        case 'q':
          break;
        default:
          goto LAB_000451c0;
        case 'd':
code_r0x000455fd:
          DAT_00083f40 = piVar9;
          if (DAT_00083ed0 != 0) {
            cVar4 = 'l';
            if ((*param_2 == 'f') && (iVar8 = FUN_00043060(), iVar8 == 1)) {
              cVar4 = 's';
            }
            break;
          }
          goto code_r0x000455d5;
        case 'l':
        case 's':
code_r0x000455e9:
          DAT_00083f40 = piVar9;
          if (DAT_00083ed0 != 0) goto code_r0x000455d5;
          break;
        case 'w':
code_r0x00045581:
          cVar4 = 'w';
          if ((DAT_00083ed0 != 0) && (*param_2 == 'f')) {
            uVar11 = FUN_00043060();
            cVar4 = (-((uVar11 & 2) == 0) & 4U) + 0x73;
          }
        }
code_r0x000455ae:
        DAT_00083fb8 = cVar4;
        pcVar15[-1] = '\0';
        DAT_00083f40 = (int *)FUN_00024180(DAT_00083e60,param_2);
code_r0x000455d5:
        piVar2 = DAT_00083f40;
        if (DAT_00083f40 == (int *)0x0) {
LAB_000451c0:
          DAT_00083f40 = piVar2;
          uVar6 = dcgettext(0,"no such instruction: `%s\'",5);
          FUN_0002a980(uVar6,local_38);
          return (byte *)0x0;
        }
      }
      puVar16 = (undefined4 *)*DAT_00083f40;
      bVar3 = *pbVar13;
LAB_000454eb:
      if ((*(byte *)(puVar16 + 9) & 0xa0) == 0) {
LAB_00045532:
        if (bVar3 != 0x2c) goto LAB_00045264;
      }
      else {
        if (bVar3 != 0x2c) goto LAB_0004526c;
        if (pbVar13[1] == 0x70) {
          if (pbVar13[2] == 0x74) {
            iVar8 = FUN_0003fd30();
          }
          else {
            if (pbVar13[2] != 0x6e) goto LAB_00045222;
            iVar8 = FUN_0003fd30();
          }
          if (iVar8 == 0) {
            return (byte *)0x0;
          }
          bVar3 = pbVar13[3];
          pbVar13 = pbVar13 + 3;
          goto LAB_00045532;
        }
      }
LAB_00045222:
      uVar6 = FUN_00043af0();
      uVar5 = dcgettext(0,"invalid character %s in mnemonic",5);
      goto LAB_000451a1;
    }
    puVar16 = (undefined4 *)*DAT_00083f40;
    if ((*(byte *)(puVar16 + 10) & 0x10) == 0) goto LAB_000454eb;
    local_20 = (char)puVar16[8];
    if (DAT_00083ee8 == 2) {
      if (local_20 < '\0') {
        uVar6 = *puVar16;
        goto LAB_00045352;
      }
    }
    else {
      if ((puVar16[8] & 0x40) != 0) {
        uVar6 = *puVar16;
        goto LAB_00045188;
      }
      if (((*(byte *)((int)puVar16 + 0x25) & 0x18) != 0) &&
         ((bool)(*(byte *)((int)puVar16 + 0x25) >> 4 & 1) != (DAT_00083ee8 == 1))) {
        uVar6 = *puVar16;
        uVar5 = dcgettext(0,"redundant %s prefix",5);
        FUN_0002a980(uVar5,uVar6);
        return (byte *)0x0;
      }
    }
    if (*(char *)(puVar16 + 4) == '\0') {
      uVar6 = DAT_000840a8;
      uVar5 = DAT_000840ac;
      switch(puVar16[2]) {
      case 0:
        DAT_00084098 = 1;
        break;
      case 1:
        DAT_00084098 = 2;
        break;
      case 2:
        DAT_00084094 = 1;
        break;
      case 3:
        DAT_00084094 = 2;
        break;
      case 4:
        DAT_000840a4 = 1;
        break;
      case 5:
        DAT_000840a4 = 2;
        break;
      case 6:
        DAT_000840a4 = 3;
        break;
      case 7:
        uRam0008409c = 1;
        break;
      case 8:
        uRam000840a0 = 1;
        break;
      default:
                    /* WARNING: Subroutine does not return */
        FUN_0002aaa0("../../gas/config/tc-i386.c",0x1127,"parse_insn",pbVar13);
      }
    }
    else {
      iVar8 = FUN_0003fd30();
      uVar6 = DAT_000840a8;
      uVar5 = DAT_000840ac;
      if (iVar8 == 2) {
        puVar16 = (undefined4 *)*DAT_00083f40;
        uVar1 = *puVar16;
        uVar5 = uVar1;
        if (((*(byte *)((int)puVar16 + 0x1b) & 0x10) == 0) &&
           (uVar6 = uVar1, uVar5 = DAT_000840ac, (*(byte *)(puVar16 + 7) & 1) != 0)) {
          uVar6 = DAT_000840a8;
          DAT_000840b0 = uVar1;
        }
      }
      else if (iVar8 == 3) {
        if ((*(byte *)(*DAT_00083f40 + 0x1f) & 8) != 0) {
          DAT_000840b4 = *(undefined4 *)*DAT_00083f40;
        }
      }
      else if (iVar8 == 0) {
        return (byte *)0x0;
      }
    }
    DAT_000840ac = uVar5;
    DAT_000840a8 = uVar6;
    local_38 = pbVar13 + 1;
  } while( true );
}


PUSH EBP
XOR EBP,EBP
PUSH EDI
PUSH ESI
PUSH EBX
CALL 0x00016020
ADD EBX,0x35f65
SUB ESP,0x2c
MOV dword ptr [ESP + 0x4],EAX
MOV dword ptr [ESP + 0x8],EDX
LEA EDX,[EBX + 0x94e0]
MOV ESI,dword ptr [ESP + 0x4]
MOV EDI,dword ptr [ESP + 0x8]
MOVZX EAX,byte ptr [ESI]
MOVZX EAX,byte ptr [EDX + EAX*0x1]
MOV byte ptr [EDI],AL
TEST AL,AL
JZ 0x000451ee
LEA ECX,[ESI + 0x13]
NOP
CMP AL,0x2e
CMOVZ EBP,EDI
ADD EDI,0x1
CMP ESI,ECX
JZ 0x000451c0
ADD ESI,0x1
MOVZX EAX,byte ptr [ESI]
MOVZX EAX,byte ptr [EDX + EAX*0x1]
MOV byte ptr [EDI],AL
TEST AL,AL
JNZ 0x000450d0
MOVSX EAX,byte ptr [ESI]
TEST AL,0xdf
JNZ 0x00045208
CMP ESI,dword ptr [ESP + 0x4]
JZ 0x000454ae
MOV dword ptr [ESP + 0xc],EDX
SUB ESP,0x8
PUSH dword ptr [ESP + 0x10]
PUSH dword ptr [EBX + 0x8e60]
CALL 0x00024180
MOVZX ECX,byte ptr [ESI]
ADD ESP,0x10
MOV dword ptr [EBX + 0x8f40],EAX
TEST CL,CL
JZ 0x00045252
CMP CL,0x20
MOV EDX,dword ptr [ESP + 0xc]
JZ 0x00045248
TEST EAX,EAX
JZ 0x00045540
MOV EDI,dword ptr [EAX]
TEST byte ptr [EDI + 0x28],0x10
JZ 0x000454e5
MOV EAX,dword ptr [EDI + 0x14]
MOV dword ptr [ESP + 0x10],EAX
MOV EAX,dword ptr [EDI + 0x18]
MOV dword ptr [ESP + 0x14],EAX
MOV EAX,dword ptr [EDI + 0x1c]
MOV dword ptr [ESP + 0x18],EAX
MOV EAX,dword ptr [EDI + 0x20]
MOV dword ptr [ESP + 0x1c],EAX
MOV EAX,dword ptr [EBX + 0x8ee8]
CMP EAX,0x2
JZ 0x000452e0
TEST byte ptr [ESP + 0x1c],0x40
JZ 0x00045308
MOV ESI,dword ptr [EDI]
SUB ESP,0x4
LEA EAX,[EBX + 0xfffe36f8]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000141a0
ADD ESP,0x10
SUB ESP,0x8
PUSH ESI
PUSH EAX
CALL 0x0002a980
ADD ESP,0x10
XOR ESI,ESI
ADD ESP,0x2c
MOV EAX,ESI
POP EBX
POP ESI
POP EDI
POP EBP
RET
SUB ESP,0x4
LEA EAX,[EBX + 0xfffe4c95]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000141a0
POP ESI
POP EDI
PUSH dword ptr [ESP + 0xc]
PUSH EAX
XOR ESI,ESI
CALL 0x0002a980
ADD ESP,0x10
ADD ESP,0x2c
MOV EAX,ESI
POP EBX
POP ESI
POP EDI
POP EBP
RET
MOV EAX,dword ptr [ESP + 0x4]
MOVSX EAX,byte ptr [EAX]
TEST AL,0xdf
JZ 0x000454ae
MOV EDI,dword ptr [ESP + 0x8]
MOV ESI,dword ptr [ESP + 0x4]
LEA ESI,[ESI]
MOV ECX,dword ptr [EBX + 0x8ed0]
TEST ECX,ECX
JNZ 0x00045222
CMP AL,0x2f
JZ 0x000450fb
CMP AL,0x2c
JZ 0x000450fb
CALL 0x00043af0
SUB ESP,0x4
MOV ESI,EAX
LEA EAX,[EBX + 0xfffe365c]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000141a0
POP EDX
POP ECX
JMP 0x000451a1
CMP byte ptr [ESI + 0x1],0x0
JNZ 0x0004513c
MOV ECX,EAX
TEST EAX,EAX
JZ 0x00045540
MOV EDI,dword ptr [EAX]
TEST byte ptr [EDI + 0x24],0xa0
JNZ 0x0004526c
MOV ECX,dword ptr [EBX + 0x8f40]
MOV EDI,dword ptr [ECX]
CMP dword ptr [ECX + 0x4],EDI
JBE 0x0004562d
MOV dword ptr [ESP + 0x4],ESI
XOR EBP,EBP
MOV ESI,ECX
JMP 0x0004528c
ADD EDI,0x58
CMP dword ptr [ESI + 0x4],EDI
JBE 0x00045446
MOV EAX,EDI
CALL 0x00044e30
OR EBP,EAX
CMP EBP,0x3
JNZ 0x00045280
MOV ESI,dword ptr [ESP + 0x4]
TEST byte ptr [EBX + 0x53c],0x4
JNZ 0x000451e4
CMP dword ptr [EBX + 0x8ee8],0x1
JZ 0x000451e4
SUB ESP,0x4
LEA EAX,[EBX + 0xfffe36a0]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000141a0
MOV dword ptr [ESP],EAX
CALL 0x0002a8a0
ADD ESP,0x10
JMP 0x000451e4
CMP byte ptr [ESP + 0x1c],0x0
JS 0x00045350
CMP byte ptr [EDI + 0x10],0x0
MOV EAX,dword ptr [EDI + 0x8]
JNZ 0x0004536d
CMP EAX,0x8
JA 0x00045717
MOV ECX,dword ptr [EBX + EAX*0x4 + 0xfffe59f4]
ADD ECX,EBX
JMP ECX
MOVZX ECX,byte ptr [EDI + 0x25]
TEST CL,0x18
JZ 0x000452e7
SHR CL,0x4
AND ECX,0x1
CMP EAX,0x1
SETZ AL
CMP CL,AL
JZ 0x000452e7
SUB ESP,0x4
LEA EAX,[EBX + 0xfffe4ccd]
MOV ESI,dword ptr [EDI]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000141a0
POP EDI
POP EBP
PUSH ESI
PUSH EAX
XOR ESI,ESI
CALL 0x0002a980
ADD ESP,0x10
JMP 0x000451e4
MOV ESI,dword ptr [EDI]
SUB ESP,0x4
LEA EAX,[EBX + 0xfffe36d0]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000141a0
ADD ESP,0x10
JMP 0x0004519e
MOV dword ptr [ESP + 0x4],EDX
CALL 0x0003fd30
MOV EDX,dword ptr [ESP + 0x4]
CMP EAX,0x2
JZ 0x0004542b
CMP EAX,0x3
JZ 0x0004540c
TEST EAX,EAX
JZ 0x000451ab
LEA EAX,[ESI + 0x1]
MOV dword ptr [ESP + 0x4],EAX
JMP 0x000450b2
MOV EAX,dword ptr [EBX + 0x8f40]
MOV EAX,dword ptr [EAX]
TEST byte ptr [EAX + 0x1f],0x8
JZ 0x00045394
MOV EAX,dword ptr [EAX]
MOV dword ptr [EBX + 0x90b4],EAX
JMP 0x00045394
MOV EAX,dword ptr [EBX + 0x8f40]
MOV EAX,dword ptr [EAX]
MOV ECX,dword ptr [EAX]
TEST byte ptr [EAX + 0x1b],0x10
JZ 0x00045499
MOV dword ptr [EBX + 0x90ac],ECX
JMP 0x00045394
AND EBP,0x2
MOV EDI,dword ptr [ESI]
JZ 0x0004562d
MOV EBP,dword ptr [EBX + 0x8e94]
MOV ESI,dword ptr [EBX + 0x8e98]
LEA EAX,[EBX + 0xfffdeae5]
MOV EDI,dword ptr [EDI]
TEST EBP,EBP
CMOVZ EBP,EAX
TEST ESI,ESI
LEA EAX,[EBX + 0xfffe3720]
CMOVZ ESI,dword ptr [EBX + 0x71c]
SUB ESP,0x4
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000141a0
PUSH EBP
PUSH ESI
XOR ESI,ESI
PUSH EDI
PUSH EAX
CALL 0x0002a980
ADD ESP,0x20
JMP 0x000451ad
TEST byte ptr [EAX + 0x1c],0x1
JZ 0x00045641
MOV dword ptr [EBX + 0x90b0],ECX
JMP 0x00045394
MOV EDX,dword ptr [EBX + 0x8ed0]
TEST EDX,EDX
JNZ 0x000454c0
CMP AL,0x2f
JZ 0x000456ee
SUB ESP,0x4
LEA EAX,[EBX + 0xfffe3680]
PUSH 0x5
PUSH EAX
XOR ESI,ESI
PUSH 0x0
CALL 0x000141a0
MOV dword ptr [ESP],EAX
CALL 0x0002a980
ADD ESP,0x10
JMP 0x000451e4
MOV EDX,ECX
MOV ECX,EAX
MOV EAX,EDX
TEST byte ptr [EDI + 0x24],0xa0
JZ 0x00045532
CMP AL,0x2c
JNZ 0x0004526c
CMP byte ptr [ESI + 0x1],0x70
JZ 0x00045509
MOV EAX,0x2c
JMP 0x00045222
MOVZX EAX,byte ptr [ESI + 0x2]
CMP AL,0x74
JZ 0x000456fe
CMP AL,0x6e
JNZ 0x000454ff
MOV EAX,0x2e
CALL 0x0003fd30
TEST EAX,EAX
JZ 0x000451ab
MOVZX EAX,byte ptr [ESI + 0x3]
ADD ESI,0x3
CMP AL,0x2c
JNZ 0x00045264
JMP 0x000454ff
LEA EAX,[EDI + -0x2]
CMP EBP,EAX
JZ 0x0004564c
LEA EAX,[EDI + -0x3]
CMP EBP,EAX
JZ 0x000456d1
LEA EAX,[EDI + -0x4]
CMP EBP,EAX
JZ 0x000456a7
MOVZX EAX,byte ptr [EDI + -0x1]
LEA EDX,[EAX + -0x62]
CMP DL,0x15
JA 0x000451c0
MOVZX EDX,DL
MOV ECX,dword ptr [EBX + EDX*0x4 + 0xfffe5a18]
ADD ECX,EBX
JMP ECX
MOV EDI,dword ptr [ECX]
MOVZX EAX,byte ptr [ESI]
JMP 0x000454eb
CMP dword ptr [EBX + 0x8ee8],0x2
MOV ESI,dword ptr [EDI]
JNZ 0x00045188
JMP 0x00045352
MOV dword ptr [EBX + 0x90a8],ECX
JMP 0x00045394
CMP byte ptr [EBP + 0x1],0x73
JNZ 0x0004554b
MOV dword ptr [EBX + 0x9094],0x2
SUB ESP,0x8
MOV byte ptr [EBP],0x0
PUSH dword ptr [ESP + 0x10]
PUSH dword ptr [EBX + 0x8e60]
CALL 0x00024180
ADD ESP,0x10
MOV ECX,EAX
MOV dword ptr [EBX + 0x8f40],EAX
TEST EAX,EAX
JNZ 0x000455dd
MOVZX EAX,byte ptr [EBP + -0x1]
LEA EDX,[EAX + -0x62]
CMP DL,0x15
JA 0x000451c0
MOVZX EDX,DL
MOV ECX,dword ptr [EBX + EDX*0x4 + 0xfffe5a70]
ADD ECX,EBX
JMP ECX
CMP byte ptr [EBP + 0x1],0x64
JNZ 0x00045561
CMP byte ptr [EBP + 0x2],0x33
JNZ 0x00045561
CMP byte ptr [EBP + 0x3],0x32
JNZ 0x00045561
MOV dword ptr [EBX + 0x9098],0x2
JMP 0x00045660
CMP byte ptr [EBP + 0x1],0x64
JNZ 0x00045561
CMP byte ptr [EBP + 0x2],0x38
JZ 0x00045730
LEA EAX,[EDI + -0x4]
CMP EBP,EAX
JNZ 0x00045561
JMP 0x000456b1
SUB ESP,0x4
LEA EAX,[EBX + 0xfffe4caf]
PUSH 0x5
JMP 0x000454cb
MOV EAX,0x3e
CALL 0x0003fd30
TEST EAX,EAX
JNZ 0x0004552b
XOR ESI,ESI
JMP 0x000451ad
LEA EAX,[EBX + 0xfffe6380]
PUSH ESI
PUSH EAX
LEA EAX,[EBX + 0xfffe4ad6]
PUSH 0x1127
PUSH EAX
CALL 0x0002aaa0
MOV dword ptr [EBX + 0x9098],0x1
JMP 0x00045660
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nbyte * __regparm3 FUN_00045090(byte *param_1,char *param_2)\n\n{\n  undefined4 uVar1;\n  int *piVar2;\n  byte bVar3;\n  char cVar4;\n  undefined4 uVar5;\n  undefined4 uVar6;\n  uint uVar7;\n  int iVar8;\n  int *piVar9;\n  char *pcVar10;\n  uint uVar11;\n  undefined *puVar12;\n  byte *pbVar13;\n  undefined *puVar14;\n  char *pcVar15;\n  undefined4 *puVar16;\n  byte *local_38;\n  char local_20;\n  \n  pcVar10 = (char *)0x0;\n  local_38 = param_1;\n  do {\n    cVar4 = (&DAT_000844e0)[*local_38];\n    *param_2 = cVar4;\n    pcVar15 = param_2;\n    pbVar13 = local_38;\n    if (cVar4 == '\0') {\n      bVar3 = *local_38;\n      if ((bVar3 & 0xdf) == 0) goto LAB_000454ae;\nLAB_00045208:\n      if ((DAT_00083ed0 == 0) && ((bVar3 == 0x2f || (bVar3 == 0x2c)))) goto LAB_000450fb;\n      goto LAB_00045222;\n    }\n    do {\n      if (cVar4 == '.') {\n        pcVar10 = pcVar15;\n      }\n      pcVar15 = pcVar15 + 1;\n      piVar2 = DAT_00083f40;\n      if (pbVar13 == local_38 + 0x13) goto LAB_000451c0;\n      pbVar13 = pbVar13 + 1;\n      cVar4 = (&DAT_000844e0)[*pbVar13];\n      *pcVar15 = cVar4;\n    } while (cVar4 != '\0');\n    bVar3 = *pbVar13;\n    if ((bVar3 & 0xdf) != 0) goto LAB_00045208;\nLAB_000450fb:\n    if (pbVar13 == local_38) {\nLAB_000454ae:\n      if ((DAT_00083ed0 == 0) && (bVar3 == 0x2f)) {\n        pcVar10 = "expecting prefix; got nothing";\n      }\n      else {\n        pcVar10 = "expecting mnemonic; got nothing";\n      }\n      uVar6 = dcgettext(0,pcVar10,5);\n      FUN_0002a980(uVar6);\n      return (byte *)0x0;\n    }\n    DAT_00083f40 = (int *)FUN_00024180(DAT_00083e60,param_2);\n    bVar3 = *pbVar13;\n    if ((bVar3 == 0) || ((bVar3 == 0x20 && (pbVar13[1] == 0)))) {\n      if (DAT_00083f40 == (int *)0x0) goto LAB_00045540;\n      puVar16 = (undefined4 *)*DAT_00083f40;\n      if ((*(byte *)(puVar16 + 9) & 0xa0) == 0) {\nLAB_00045264:\n        puVar16 = (undefined4 *)*DAT_00083f40;\n      }\nLAB_0004526c:\n      piVar2 = DAT_00083f40;\n      if ((undefined4 *)DAT_00083f40[1] <= puVar16) goto LAB_0004562d;\n      uVar11 = 0;\n      do {\n        uVar7 = FUN_00044e30();\n        uVar11 = uVar11 | uVar7;\n        if (uVar11 == 3) {\n          if (((DAT_0007b53c & 4) == 0) && (DAT_00083ee8 != 1)) {\n            uVar6 = dcgettext(0,"use .code16 to ensure correct addressing mode",5);\n            FUN_0002a8a0(uVar6);\n          }\n          return pbVar13;\n        }\n        puVar16 = puVar16 + 0x16;\n      } while (puVar16 < (undefined4 *)piVar2[1]);\n      puVar16 = (undefined4 *)*piVar2;\n      if ((uVar11 & 2) == 0) {\nLAB_0004562d:\n        uVar6 = *puVar16;\n        if (DAT_00083ee8 == 2) {\nLAB_00045352:\n          uVar5 = dcgettext(0,"`%s\' is not supported in 64-bit mode",5);\n        }\n        else {\nLAB_00045188:\n          uVar5 = dcgettext(0,"`%s\' is only supported in 64-bit mode",5);\n        }\nLAB_000451a1:\n        FUN_0002a980(uVar5,uVar6);\n      }\n      else {\n        uVar6 = *puVar16;\n        puVar12 = DAT_00083e94;\n        if (DAT_00083e94 == (undefined *)0x0) {\n          puVar12 = &DAT_00059ae5;\n        }\n        puVar14 = DAT_00083e98;\n        if (DAT_00083e98 == (undefined *)0x0) {\n          puVar14 = PTR_s_i386_0007b71c;\n        }\n        uVar5 = dcgettext(0,"`%s\' is not supported on `%s%s\'",5);\n        FUN_0002a980(uVar5,uVar6,puVar14,puVar12);\n      }\n      return (byte *)0x0;\n    }\n    if (DAT_00083f40 == (int *)0x0) {\nLAB_00045540:\n      if ((pcVar10 == pcVar15 + -2) && (pcVar10[1] == 's')) {\n        DAT_00084094 = 2;\nLAB_00045660:\n        *pcVar10 = '\0';\n        piVar9 = (int *)FUN_00024180(DAT_00083e60,param_2);\n        DAT_00083f40 = piVar9;\n        if (piVar9 == (int *)0x0) {\n          cVar4 = pcVar10[-1];\n          DAT_00083f40 = (int *)0x0;\n          pcVar15 = pcVar10;\n          piVar2 = (int *)0x0;\n          switch(cVar4) {\n          case 'b':\n          case 'q':\n            goto code_r0x000455ae;\n          default:\n            goto LAB_000451c0;\n          case 'd':\n            goto code_r0x000455fd;\n          case 'l':\n          case 's':\n            goto code_r0x000455e9;\n          case 'w':\n            goto code_r0x00045581;\n          }\n        }\n      }\n      else {\n        if (pcVar10 == pcVar15 + -3) {\n          if (pcVar10[1] == 'd') {\n            if (pcVar10[2] == '8') {\n              DAT_00084098 = 1;\n              goto LAB_00045660;\n            }\n            if (pcVar10 == pcVar15 + -4) goto LAB_000456b1;\n          }\n        }\n        else if ((pcVar10 == pcVar15 + -4) && (pcVar10[1] == 'd')) {\nLAB_000456b1:\n          if ((pcVar10[2] == '3') && (pcVar10[3] == '2')) {\n            DAT_00084098 = 2;\n            goto LAB_00045660;\n          }\n        }\n        cVar4 = pcVar15[-1];\n        piVar2 = DAT_00083f40;\n        piVar9 = DAT_00083f40;\n        switch(cVar4) {\n        case 'b':\n        case 'q':\n          break;\n        default:\n          goto LAB_000451c0;\n        case 'd':\ncode_r0x000455fd:\n          DAT_00083f40 = piVar9;\n          if (DAT_00083ed0 != 0) {\n            cVar4 = 'l';\n            if ((*param_2 == 'f') && (iVar8 = FUN_00043060(), iVar8 == 1)) {\n              cVar4 = 's';\n            }\n            break;\n          }\n          goto code_r0x000455d5;\n        case 'l':\n        case 's':\ncode_r0x000455e9:\n          DAT_00083f40 = piVar9;\n          if (DAT_00083ed0 != 0) goto code_r0x000455d5;\n          break;\n        case 'w':\ncode_r0x00045581:\n          cVar4 = 'w';\n          if ((DAT_00083ed0 != 0) && (*param_2 == 'f')) {\n            uVar11 = FUN_00043060();\n            cVar4 = (-((uVar11 & 2) == 0) & 4U) + 0x73;\n          }\n        }\ncode_r0x000455ae:\n        DAT_00083fb8 = cVar4;\n        pcVar15[-1] = '\0';\n        DAT_00083f40 = (int *)FUN_00024180(DAT_00083e60,param_2);\ncode_r0x000455d5:\n        piVar2 = DAT_00083f40;\n        if (DAT_00083f40 == (int *)0x0) {\nLAB_000451c0:\n          DAT_00083f40 = piVar2;\n          uVar6 = dcgettext(0,"no such instruction: `%s\'",5);\n          FUN_0002a980(uVar6,local_38);\n          return (byte *)0x0;\n        }\n      }\n      puVar16 = (undefined4 *)*DAT_00083f40;\n      bVar3 = *pbVar13;\nLAB_000454eb:\n      if ((*(byte *)(puVar16 + 9) & 0xa0) == 0) {\nLAB_00045532:\n        if (bVar3 != 0x2c) goto LAB_00045264;\n      }\n      else {\n        if (bVar3 != 0x2c) goto LAB_0004526c;\n        if (pbVar13[1] == 0x70) {\n          if (pbVar13[2] == 0x74) {\n            iVar8 = FUN_0003fd30();\n          }\n          else {\n            if (pbVar13[2] != 0x6e) goto LAB_00045222;\n            iVar8 = FUN_0003fd30();\n          }\n          if (iVar8 == 0) {\n            return (byte *)0x0;\n          }\n          bVar3 = pbVar13[3];\n          pbVar13 = pbVar13 + 3;\n          goto LAB_00045532;\n        }\n      }\nLAB_00045222:\n      uVar6 = FUN_00043af0();\n      uVar5 = dcgettext(0,"invalid character %s in mnemonic",5);\n      goto LAB_000451a1;\n    }\n    puVar16 = (undefined4 *)*DAT_00083f40;\n    if ((*(byte *)(puVar16 + 10) & 0x10) == 0) goto LAB_000454eb;\n    local_20 = (char)puVar16[8];\n    if (DAT_00083ee8 == 2) {\n      if (local_20 < '\0') {\n        uVar6 = *puVar16;\n        goto LAB_00045352;\n      }\n    }\n    else {\n      if ((puVar16[8] & 0x40) != 0) {\n        uVar6 = *puVar16;\n        goto LAB_00045188;\n      }\n      if (((*(byte *)((int)puVar16 + 0x25) & 0x18) != 0) &&\n         ((bool)(*(byte *)((int)puVar16 + 0x25) >> 4 & 1) != (DAT_00083ee8 == 1))) {\n        uVar6 = *puVar16;\n        uVar5 = dcgettext(0,"redundant %s prefix",5);\n        FUN_0002a980(uVar5,uVar6);\n        return (byte *)0x0;\n      }\n    }\n    if (*(char *)(puVar16 + 4) == '\0') {\n      uVar6 = DAT_000840a8;\n      uVar5 = DAT_000840ac;\n      switch(puVar16[2]) {\n      case 0:\n        DAT_00084098 = 1;\n        break;\n      case 1:\n        DAT_00084098 = 2;\n        break;\n      case 2:\n        DAT_00084094 = 1;\n        break;\n      case 3:\n        DAT_00084094 = 2;\n        break;\n      case 4:\n        DAT_000840a4 = 1;\n        break;\n      case 5:\n        DAT_000840a4 = 2;\n        break;\n      case 6:\n        DAT_000840a4 = 3;\n        break;\n      case 7:\n        uRam0008409c = 1;\n        break;\n      case 8:\n        uRam000840a0 = 1;\n        break;\n      default:\n                    /* WARNING: Subroutine does not return */\n        FUN_0002aaa0("../../gas/config/tc-i386.c",0x1127,"parse_insn",pbVar13);\n      }\n    }\n    else {\n      iVar8 = FUN_0003fd30();\n      uVar6 = DAT_000840a8;\n      uVar5 = DAT_000840ac;\n      if (iVar8 == 2) {\n        puVar16 = (undefined4 *)*DAT_00083f40;\n        uVar1 = *puVar16;\n        uVar5 = uVar1;\n        if (((*(byte *)((int)puVar16 + 0x1b) & 0x10) == 0) &&\n           (uVar6 = uVar1, uVar5 = DAT_000840ac, (*(byte *)(puVar16 + 7) & 1) != 0)) {\n          uVar6 = DAT_000840a8;\n          DAT_000840b0 = uVar1;\n        }\n      }\n      else if (iVar8 == 3) {\n        if ((*(byte *)(*DAT_00083f40 + 0x1f) & 8) != 0) {\n          DAT_000840b4 = *(undefined4 *)*DAT_00083f40;\n        }\n      }\n      else if (iVar8 == 0) {\n        return (byte *)0x0;\n      }\n    }\n    DAT_000840ac = uVar5;\n    DAT_000840a8 = uVar6;\n    local_38 = pbVar13 + 1;\n  } while( true );\n}\n\n" comment (ERROR "byte * __regparm3 FUN_00045090(byte *param_1,char *param_2)" (binary_expression "byte * __regparm3 FUN_00045090(byte *param_1,char *param_2)" identifier * (ERROR "__regparm3" identifier) (call_expression "FUN_00045090(byte *param_1,char *param_2)" identifier (argument_list "(byte *param_1,char *param_2)" ( (binary_expression "byte *param_1" identifier * identifier) , (binary_expression "char *param_2" identifier * identifier) ))))) (compound_statement "{\n  undefined4 uVar1;\n  int *piVar2;\n  byte bVar3;\n  char cVar4;\n  undefined4 uVar5;\n  undefined4 uVar6;\n  uint uVar7;\n  int iVar8;\n  int *piVar9;\n  char *pcVar10;\n  uint uVar11;\n  undefined *puVar12;\n  byte *pbVar13;\n  undefined *puVar14;\n  char *pcVar15;\n  undefined4 *puVar16;\n  byte *local_38;\n  char local_20;\n  \n  pcVar10 = (char *)0x0;\n  local_38 = param_1;\n  do {\n    cVar4 = (&DAT_000844e0)[*local_38];\n    *param_2 = cVar4;\n    pcVar15 = param_2;\n    pbVar13 = local_38;\n    if (cVar4 == '\0') {\n      bVar3 = *local_38;\n      if ((bVar3 & 0xdf) == 0) goto LAB_000454ae;\nLAB_00045208:\n      if ((DAT_00083ed0 == 0) && ((bVar3 == 0x2f || (bVar3 == 0x2c)))) goto LAB_000450fb;\n      goto LAB_00045222;\n    }\n    do {\n      if (cVar4 == '.') {\n        pcVar10 = pcVar15;\n      }\n      pcVar15 = pcVar15 + 1;\n      piVar2 = DAT_00083f40;\n      if (pbVar13 == local_38 + 0x13) goto LAB_000451c0;\n      pbVar13 = pbVar13 + 1;\n      cVar4 = (&DAT_000844e0)[*pbVar13];\n      *pcVar15 = cVar4;\n    } while (cVar4 != '\0');\n    bVar3 = *pbVar13;\n    if ((bVar3 & 0xdf) != 0) goto LAB_00045208;\nLAB_000450fb:\n    if (pbVar13 == local_38) {\nLAB_000454ae:\n      if ((DAT_00083ed0 == 0) && (bVar3 == 0x2f)) {\n        pcVar10 = "expecting prefix; got nothing";\n      }\n      else {\n        pcVar10 = "expecting mnemonic; got nothing";\n      }\n      uVar6 = dcgettext(0,pcVar10,5);\n      FUN_0002a980(uVar6);\n      return (byte *)0x0;\n    }\n    DAT_00083f40 = (int *)FUN_00024180(DAT_00083e60,param_2);\n    bVar3 = *pbVar13;\n    if ((bVar3 == 0) || ((bVar3 == 0x20 && (pbVar13[1] == 0)))) {\n      if (DAT_00083f40 == (int *)0x0) goto LAB_00045540;\n      puVar16 = (undefined4 *)*DAT_00083f40;\n      if ((*(byte *)(puVar16 + 9) & 0xa0) == 0) {\nLAB_00045264:\n        puVar16 = (undefined4 *)*DAT_00083f40;\n      }\nLAB_0004526c:\n      piVar2 = DAT_00083f40;\n      if ((undefined4 *)DAT_00083f40[1] <= puVar16) goto LAB_0004562d;\n      uVar11 = 0;\n      do {\n        uVar7 = FUN_00044e30();\n        uVar11 = uVar11 | uVar7;\n        if (uVar11 == 3) {\n          if (((DAT_0007b53c & 4) == 0) && (DAT_00083ee8 != 1)) {\n            uVar6 = dcgettext(0,"use .code16 to ensure correct addressing mode",5);\n            FUN_0002a8a0(uVar6);\n          }\n          return pbVar13;\n        }\n        puVar16 = puVar16 + 0x16;\n      } while (puVar16 < (undefined4 *)piVar2[1]);\n      puVar16 = (undefined4 *)*piVar2;\n      if ((uVar11 & 2) == 0) {\nLAB_0004562d:\n        uVar6 = *puVar16;\n        if (DAT_00083ee8 == 2) {\nLAB_00045352:\n          uVar5 = dcgettext(0,"`%s\' is not supported in 64-bit mode",5);\n        }\n        else {\nLAB_00045188:\n          uVar5 = dcgettext(0,"`%s\' is only supported in 64-bit mode",5);\n        }\nLAB_000451a1:\n        FUN_0002a980(uVar5,uVar6);\n      }\n      else {\n        uVar6 = *puVar16;\n        puVar12 = DAT_00083e94;\n        if (DAT_00083e94 == (undefined *)0x0) {\n          puVar12 = &DAT_00059ae5;\n        }\n        puVar14 = DAT_00083e98;\n        if (DAT_00083e98 == (undefined *)0x0) {\n          puVar14 = PTR_s_i386_0007b71c;\n        }\n        uVar5 = dcgettext(0,"`%s\' is not supported on `%s%s\'",5);\n        FUN_0002a980(uVar5,uVar6,puVar14,puVar12);\n      }\n      return (byte *)0x0;\n    }\n    if (DAT_00083f40 == (int *)0x0) {\nLAB_00045540:\n      if ((pcVar10 == pcVar15 + -2) && (pcVar10[1] == 's')) {\n        DAT_00084094 = 2;\nLAB_00045660:\n        *pcVar10 = '\0';\n        piVar9 = (int *)FUN_00024180(DAT_00083e60,param_2);\n        DAT_00083f40 = piVar9;\n        if (piVar9 == (int *)0x0) {\n          cVar4 = pcVar10[-1];\n          DAT_00083f40 = (int *)0x0;\n          pcVar15 = pcVar10;\n          piVar2 = (int *)0x0;\n          switch(cVar4) {\n          case 'b':\n          case 'q':\n            goto code_r0x000455ae;\n          default:\n            goto LAB_000451c0;\n          case 'd':\n            goto code_r0x000455fd;\n          case 'l':\n          case 's':\n            goto code_r0x000455e9;\n          case 'w':\n            goto code_r0x00045581;\n          }\n        }\n      }\n      else {\n        if (pcVar10 == pcVar15 + -3) {\n          if (pcVar10[1] == 'd') {\n            if (pcVar10[2] == '8') {\n              DAT_00084098 = 1;\n              goto LAB_00045660;\n            }\n            if (pcVar10 == pcVar15 + -4) goto LAB_000456b1;\n          }\n        }\n        else if ((pcVar10 == pcVar15 + -4) && (pcVar10[1] == 'd')) {\nLAB_000456b1:\n          if ((pcVar10[2] == '3') && (pcVar10[3] == '2')) {\n            DAT_00084098 = 2;\n            goto LAB_00045660;\n          }\n        }\n        cVar4 = pcVar15[-1];\n        piVar2 = DAT_00083f40;\n        piVar9 = DAT_00083f40;\n        switch(cVar4) {\n        case 'b':\n        case 'q':\n          break;\n        default:\n          goto LAB_000451c0;\n        case 'd':\ncode_r0x000455fd:\n          DAT_00083f40 = piVar9;\n          if (DAT_00083ed0 != 0) {\n            cVar4 = 'l';\n            if ((*param_2 == 'f') && (iVar8 = FUN_00043060(), iVar8 == 1)) {\n              cVar4 = 's';\n            }\n            break;\n          }\n          goto code_r0x000455d5;\n        case 'l':\n        case 's':\ncode_r0x000455e9:\n          DAT_00083f40 = piVar9;\n          if (DAT_00083ed0 != 0) goto code_r0x000455d5;\n          break;\n        case 'w':\ncode_r0x00045581:\n          cVar4 = 'w';\n          if ((DAT_00083ed0 != 0) && (*param_2 == 'f')) {\n            uVar11 = FUN_00043060();\n            cVar4 = (-((uVar11 & 2) == 0) & 4U) + 0x73;\n          }\n        }\ncode_r0x000455ae:\n        DAT_00083fb8 = cVar4;\n        pcVar15[-1] = '\0';\n        DAT_00083f40 = (int *)FUN_00024180(DAT_00083e60,param_2);\ncode_r0x000455d5:\n        piVar2 = DAT_00083f40;\n        if (DAT_00083f40 == (int *)0x0) {\nLAB_000451c0:\n          DAT_00083f40 = piVar2;\n          uVar6 = dcgettext(0,"no such instruction: `%s\'",5);\n          FUN_0002a980(uVar6,local_38);\n          return (byte *)0x0;\n        }\n      }\n      puVar16 = (undefined4 *)*DAT_00083f40;\n      bVar3 = *pbVar13;\nLAB_000454eb:\n      if ((*(byte *)(puVar16 + 9) & 0xa0) == 0) {\nLAB_00045532:\n        if (bVar3 != 0x2c) goto LAB_00045264;\n      }\n      else {\n        if (bVar3 != 0x2c) goto LAB_0004526c;\n        if (pbVar13[1] == 0x70) {\n          if (pbVar13[2] == 0x74) {\n            iVar8 = FUN_0003fd30();\n          }\n          else {\n            if (pbVar13[2] != 0x6e) goto LAB_00045222;\n            iVar8 = FUN_0003fd30();\n          }\n          if (iVar8 == 0) {\n            return (byte *)0x0;\n          }\n          bVar3 = pbVar13[3];\n          pbVar13 = pbVar13 + 3;\n          goto LAB_00045532;\n        }\n      }\nLAB_00045222:\n      uVar6 = FUN_00043af0();\n      uVar5 = dcgettext(0,"invalid character %s in mnemonic",5);\n      goto LAB_000451a1;\n    }\n    puVar16 = (undefined4 *)*DAT_00083f40;\n    if ((*(byte *)(puVar16 + 10) & 0x10) == 0) goto LAB_000454eb;\n    local_20 = (char)puVar16[8];\n    if (DAT_00083ee8 == 2) {\n      if (local_20 < '\0') {\n        uVar6 = *puVar16;\n        goto LAB_00045352;\n      }\n    }\n    else {\n      if ((puVar16[8] & 0x40) != 0) {\n        uVar6 = *puVar16;\n        goto LAB_00045188;\n      }\n      if (((*(byte *)((int)puVar16 + 0x25) & 0x18) != 0) &&\n         ((bool)(*(byte *)((int)puVar16 + 0x25) >> 4 & 1) != (DAT_00083ee8 == 1))) {\n        uVar6 = *puVar16;\n        uVar5 = dcgettext(0,"redundant %s prefix",5);\n        FUN_0002a980(uVar5,uVar6);\n        return (byte *)0x0;\n      }\n    }\n    if (*(char *)(puVar16 + 4) == '\0') {\n      uVar6 = DAT_000840a8;\n      uVar5 = DAT_000840ac;\n      switch(puVar16[2]) {\n      case 0:\n        DAT_00084098 = 1;\n        break;\n      case 1:\n        DAT_00084098 = 2;\n        break;\n      case 2:\n        DAT_00084094 = 1;\n        break;\n      case 3:\n        DAT_00084094 = 2;\n        break;\n      case 4:\n        DAT_000840a4 = 1;\n        break;\n      case 5:\n        DAT_000840a4 = 2;\n        break;\n      case 6:\n        DAT_000840a4 = 3;\n        break;\n      case 7:\n        uRam0008409c = 1;\n        break;\n      case 8:\n        uRam000840a0 = 1;\n        break;\n      default:\n                    /* WARNING: Subroutine does not return */\n        FUN_0002aaa0("../../gas/config/tc-i386.c",0x1127,"parse_insn",pbVar13);\n      }\n    }\n    else {\n      iVar8 = FUN_0003fd30();\n      uVar6 = DAT_000840a8;\n      uVar5 = DAT_000840ac;\n      if (iVar8 == 2) {\n        puVar16 = (undefined4 *)*DAT_00083f40;\n        uVar1 = *puVar16;\n        uVar5 = uVar1;\n        if (((*(byte *)((int)puVar16 + 0x1b) & 0x10) == 0) &&\n           (uVar6 = uVar1, uVar5 = DAT_000840ac, (*(byte *)(puVar16 + 7) & 1) != 0)) {\n          uVar6 = DAT_000840a8;\n          DAT_000840b0 = uVar1;\n        }\n      }\n      else if (iVar8 == 3) {\n        if ((*(byte *)(*DAT_00083f40 + 0x1f) & 8) != 0) {\n          DAT_000840b4 = *(undefined4 *)*DAT_00083f40;\n        }\n      }\n      else if (iVar8 == 0) {\n        return (byte *)0x0;\n      }\n    }\n    DAT_000840ac = uVar5;\n    DAT_000840a8 = uVar6;\n    local_38 = pbVar13 + 1;\n  } while( true );\n}" { (declaration "undefined4 uVar1;" type_identifier identifier ;) (declaration "int *piVar2;" primitive_type (pointer_declarator "*piVar2" * identifier) ;) (declaration "byte bVar3;" type_identifier identifier ;) (declaration "char cVar4;" primitive_type identifier ;) (declaration "undefined4 uVar5;" type_identifier identifier ;) (declaration "undefined4 uVar6;" type_identifier identifier ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "int *piVar9;" primitive_type (pointer_declarator "*piVar9" * identifier) ;) (declaration "char *pcVar10;" primitive_type (pointer_declarator "*pcVar10" * identifier) ;) (declaration "uint uVar11;" type_identifier identifier ;) (declaration "undefined *puVar12;" type_identifier (pointer_declarator "*puVar12" * identifier) ;) (declaration "byte *pbVar13;" type_identifier (pointer_declarator "*pbVar13" * identifier) ;) (declaration "undefined *puVar14;" type_identifier (pointer_declarator "*puVar14" * identifier) ;) (declaration "char *pcVar15;" primitive_type (pointer_declarator "*pcVar15" * identifier) ;) (declaration "undefined4 *puVar16;" type_identifier (pointer_declarator "*puVar16" * identifier) ;) (declaration "byte *local_38;" type_identifier (pointer_declarator "*local_38" * identifier) ;) (declaration "char local_20;" primitive_type identifier ;) (expression_statement "pcVar10 = (char *)0x0;" (assignment_expression "pcVar10 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_38 = param_1;" (assignment_expression "local_38 = param_1" identifier = identifier) ;) (do_statement "do {\n    cVar4 = (&DAT_000844e0)[*local_38];\n    *param_2 = cVar4;\n    pcVar15 = param_2;\n    pbVar13 = local_38;\n    if (cVar4 == '\0') {\n      bVar3 = *local_38;\n      if ((bVar3 & 0xdf) == 0) goto LAB_000454ae;\nLAB_00045208:\n      if ((DAT_00083ed0 == 0) && ((bVar3 == 0x2f || (bVar3 == 0x2c)))) goto LAB_000450fb;\n      goto LAB_00045222;\n    }\n    do {\n      if (cVar4 == '.') {\n        pcVar10 = pcVar15;\n      }\n      pcVar15 = pcVar15 + 1;\n      piVar2 = DAT_00083f40;\n      if (pbVar13 == local_38 + 0x13) goto LAB_000451c0;\n      pbVar13 = pbVar13 + 1;\n      cVar4 = (&DAT_000844e0)[*pbVar13];\n      *pcVar15 = cVar4;\n    } while (cVar4 != '\0');\n    bVar3 = *pbVar13;\n    if ((bVar3 & 0xdf) != 0) goto LAB_00045208;\nLAB_000450fb:\n    if (pbVar13 == local_38) {\nLAB_000454ae:\n      if ((DAT_00083ed0 == 0) && (bVar3 == 0x2f)) {\n        pcVar10 = "expecting prefix; got nothing";\n      }\n      else {\n        pcVar10 = "expecting mnemonic; got nothing";\n      }\n      uVar6 = dcgettext(0,pcVar10,5);\n      FUN_0002a980(uVar6);\n      return (byte *)0x0;\n    }\n    DAT_00083f40 = (int *)FUN_00024180(DAT_00083e60,param_2);\n    bVar3 = *pbVar13;\n    if ((bVar3 == 0) || ((bVar3 == 0x20 && (pbVar13[1] == 0)))) {\n      if (DAT_00083f40 == (int *)0x0) goto LAB_00045540;\n      puVar16 = (undefined4 *)*DAT_00083f40;\n      if ((*(byte *)(puVar16 + 9) & 0xa0) == 0) {\nLAB_00045264:\n        puVar16 = (undefined4 *)*DAT_00083f40;\n      }\nLAB_0004526c:\n      piVar2 = DAT_00083f40;\n      if ((undefined4 *)DAT_00083f40[1] <= puVar16) goto LAB_0004562d;\n      uVar11 = 0;\n      do {\n        uVar7 = FUN_00044e30();\n        uVar11 = uVar11 | uVar7;\n        if (uVar11 == 3) {\n          if (((DAT_0007b53c & 4) == 0) && (DAT_00083ee8 != 1)) {\n            uVar6 = dcgettext(0,"use .code16 to ensure correct addressing mode",5);\n            FUN_0002a8a0(uVar6);\n          }\n          return pbVar13;\n        }\n        puVar16 = puVar16 + 0x16;\n      } while (puVar16 < (undefined4 *)piVar2[1]);\n      puVar16 = (undefined4 *)*piVar2;\n      if ((uVar11 & 2) == 0) {\nLAB_0004562d:\n        uVar6 = *puVar16;\n        if (DAT_00083ee8 == 2) {\nLAB_00045352:\n          uVar5 = dcgettext(0,"`%s\' is not supported in 64-bit mode",5);\n        }\n        else {\nLAB_00045188:\n          uVar5 = dcgettext(0,"`%s\' is only supported in 64-bit mode",5);\n        }\nLAB_000451a1:\n        FUN_0002a980(uVar5,uVar6);\n      }\n      else {\n        uVar6 = *puVar16;\n        puVar12 = DAT_00083e94;\n        if (DAT_00083e94 == (undefined *)0x0) {\n          puVar12 = &DAT_00059ae5;\n        }\n        puVar14 = DAT_00083e98;\n        if (DAT_00083e98 == (undefined *)0x0) {\n          puVar14 = PTR_s_i386_0007b71c;\n        }\n        uVar5 = dcgettext(0,"`%s\' is not supported on `%s%s\'",5);\n        FUN_0002a980(uVar5,uVar6,puVar14,puVar12);\n      }\n      return (byte *)0x0;\n    }\n    if (DAT_00083f40 == (int *)0x0) {\nLAB_00045540:\n      if ((pcVar10 == pcVar15 + -2) && (pcVar10[1] == 's')) {\n        DAT_00084094 = 2;\nLAB_00045660:\n        *pcVar10 = '\0';\n        piVar9 = (int *)FUN_00024180(DAT_00083e60,param_2);\n        DAT_00083f40 = piVar9;\n        if (piVar9 == (int *)0x0) {\n          cVar4 = pcVar10[-1];\n          DAT_00083f40 = (int *)0x0;\n          pcVar15 = pcVar10;\n          piVar2 = (int *)0x0;\n          switch(cVar4) {\n          case 'b':\n          case 'q':\n            goto code_r0x000455ae;\n          default:\n            goto LAB_000451c0;\n          case 'd':\n            goto code_r0x000455fd;\n          case 'l':\n          case 's':\n            goto code_r0x000455e9;\n          case 'w':\n            goto code_r0x00045581;\n          }\n        }\n      }\n      else {\n        if (pcVar10 == pcVar15 + -3) {\n          if (pcVar10[1] == 'd') {\n            if (pcVar10[2] == '8') {\n              DAT_00084098 = 1;\n              goto LAB_00045660;\n            }\n            if (pcVar10 == pcVar15 + -4) goto LAB_000456b1;\n          }\n        }\n        else if ((pcVar10 == pcVar15 + -4) && (pcVar10[1] == 'd')) {\nLAB_000456b1:\n          if ((pcVar10[2] == '3') && (pcVar10[3] == '2')) {\n            DAT_00084098 = 2;\n            goto LAB_00045660;\n          }\n        }\n        cVar4 = pcVar15[-1];\n        piVar2 = DAT_00083f40;\n        piVar9 = DAT_00083f40;\n        switch(cVar4) {\n        case 'b':\n        case 'q':\n          break;\n        default:\n          goto LAB_000451c0;\n        case 'd':\ncode_r0x000455fd:\n          DAT_00083f40 = piVar9;\n          if (DAT_00083ed0 != 0) {\n            cVar4 = 'l';\n            if ((*param_2 == 'f') && (iVar8 = FUN_00043060(), iVar8 == 1)) {\n              cVar4 = 's';\n            }\n            break;\n          }\n          goto code_r0x000455d5;\n        case 'l':\n        case 's':\ncode_r0x000455e9:\n          DAT_00083f40 = piVar9;\n          if (DAT_00083ed0 != 0) goto code_r0x000455d5;\n          break;\n        case 'w':\ncode_r0x00045581:\n          cVar4 = 'w';\n          if ((DAT_00083ed0 != 0) && (*param_2 == 'f')) {\n            uVar11 = FUN_00043060();\n            cVar4 = (-((uVar11 & 2) == 0) & 4U) + 0x73;\n          }\n        }\ncode_r0x000455ae:\n        DAT_00083fb8 = cVar4;\n        pcVar15[-1] = '\0';\n        DAT_00083f40 = (int *)FUN_00024180(DAT_00083e60,param_2);\ncode_r0x000455d5:\n        piVar2 = DAT_00083f40;\n        if (DAT_00083f40 == (int *)0x0) {\nLAB_000451c0:\n          DAT_00083f40 = piVar2;\n          uVar6 = dcgettext(0,"no such instruction: `%s\'",5);\n          FUN_0002a980(uVar6,local_38);\n          return (byte *)0x0;\n        }\n      }\n      puVar16 = (undefined4 *)*DAT_00083f40;\n      bVar3 = *pbVar13;\nLAB_000454eb:\n      if ((*(byte *)(puVar16 + 9) & 0xa0) == 0) {\nLAB_00045532:\n        if (bVar3 != 0x2c) goto LAB_00045264;\n      }\n      else {\n        if (bVar3 != 0x2c) goto LAB_0004526c;\n        if (pbVar13[1] == 0x70) {\n          if (pbVar13[2] == 0x74) {\n            iVar8 = FUN_0003fd30();\n          }\n          else {\n            if (pbVar13[2] != 0x6e) goto LAB_00045222;\n            iVar8 = FUN_0003fd30();\n          }\n          if (iVar8 == 0) {\n            return (byte *)0x0;\n          }\n          bVar3 = pbVar13[3];\n          pbVar13 = pbVar13 + 3;\n          goto LAB_00045532;\n        }\n      }\nLAB_00045222:\n      uVar6 = FUN_00043af0();\n      uVar5 = dcgettext(0,"invalid character %s in mnemonic",5);\n      goto LAB_000451a1;\n    }\n    puVar16 = (undefined4 *)*DAT_00083f40;\n    if ((*(byte *)(puVar16 + 10) & 0x10) == 0) goto LAB_000454eb;\n    local_20 = (char)puVar16[8];\n    if (DAT_00083ee8 == 2) {\n      if (local_20 < '\0') {\n        uVar6 = *puVar16;\n        goto LAB_00045352;\n      }\n    }\n    else {\n      if ((puVar16[8] & 0x40) != 0) {\n        uVar6 = *puVar16;\n        goto LAB_00045188;\n      }\n      if (((*(byte *)((int)puVar16 + 0x25) & 0x18) != 0) &&\n         ((bool)(*(byte *)((int)puVar16 + 0x25) >> 4 & 1) != (DAT_00083ee8 == 1))) {\n        uVar6 = *puVar16;\n        uVar5 = dcgettext(0,"redundant %s prefix",5);\n        FUN_0002a980(uVar5,uVar6);\n        return (byte *)0x0;\n      }\n    }\n    if (*(char *)(puVar16 + 4) == '\0') {\n      uVar6 = DAT_000840a8;\n      uVar5 = DAT_000840ac;\n      switch(puVar16[2]) {\n      case 0:\n        DAT_00084098 = 1;\n        break;\n      case 1:\n        DAT_00084098 = 2;\n        break;\n      case 2:\n        DAT_00084094 = 1;\n        break;\n      case 3:\n        DAT_00084094 = 2;\n        break;\n      case 4:\n        DAT_000840a4 = 1;\n        break;\n      case 5:\n        DAT_000840a4 = 2;\n        break;\n      case 6:\n        DAT_000840a4 = 3;\n        break;\n      case 7:\n        uRam0008409c = 1;\n        break;\n      case 8:\n        uRam000840a0 = 1;\n        break;\n      default:\n                    /* WARNING: Subroutine does not return */\n        FUN_0002aaa0("../../gas/config/tc-i386.c",0x1127,"parse_insn",pbVar13);\n      }\n    }\n    else {\n      iVar8 = FUN_0003fd30();\n      uVar6 = DAT_000840a8;\n      uVar5 = DAT_000840ac;\n      if (iVar8 == 2) {\n        puVar16 = (undefined4 *)*DAT_00083f40;\n        uVar1 = *puVar16;\n        uVar5 = uVar1;\n        if (((*(byte *)((int)puVar16 + 0x1b) & 0x10) == 0) &&\n           (uVar6 = uVar1, uVar5 = DAT_000840ac, (*(byte *)(puVar16 + 7) & 1) != 0)) {\n          uVar6 = DAT_000840a8;\n          DAT_000840b0 = uVar1;\n        }\n      }\n      else if (iVar8 == 3) {\n        if ((*(byte *)(*DAT_00083f40 + 0x1f) & 8) != 0) {\n          DAT_000840b4 = *(undefined4 *)*DAT_00083f40;\n        }\n      }\n      else if (iVar8 == 0) {\n        return (byte *)0x0;\n      }\n    }\n    DAT_000840ac = uVar5;\n    DAT_000840a8 = uVar6;\n    local_38 = pbVar13 + 1;\n  } while( true );" do (compound_statement "{\n    cVar4 = (&DAT_000844e0)[*local_38];\n    *param_2 = cVar4;\n    pcVar15 = param_2;\n    pbVar13 = local_38;\n    if (cVar4 == '\0') {\n      bVar3 = *local_38;\n      if ((bVar3 & 0xdf) == 0) goto LAB_000454ae;\nLAB_00045208:\n      if ((DAT_00083ed0 == 0) && ((bVar3 == 0x2f || (bVar3 == 0x2c)))) goto LAB_000450fb;\n      goto LAB_00045222;\n    }\n    do {\n      if (cVar4 == '.') {\n        pcVar10 = pcVar15;\n      }\n      pcVar15 = pcVar15 + 1;\n      piVar2 = DAT_00083f40;\n      if (pbVar13 == local_38 + 0x13) goto LAB_000451c0;\n      pbVar13 = pbVar13 + 1;\n      cVar4 = (&DAT_000844e0)[*pbVar13];\n      *pcVar15 = cVar4;\n    } while (cVar4 != '\0');\n    bVar3 = *pbVar13;\n    if ((bVar3 & 0xdf) != 0) goto LAB_00045208;\nLAB_000450fb:\n    if (pbVar13 == local_38) {\nLAB_000454ae:\n      if ((DAT_00083ed0 == 0) && (bVar3 == 0x2f)) {\n        pcVar10 = "expecting prefix; got nothing";\n      }\n      else {\n        pcVar10 = "expecting mnemonic; got nothing";\n      }\n      uVar6 = dcgettext(0,pcVar10,5);\n      FUN_0002a980(uVar6);\n      return (byte *)0x0;\n    }\n    DAT_00083f40 = (int *)FUN_00024180(DAT_00083e60,param_2);\n    bVar3 = *pbVar13;\n    if ((bVar3 == 0) || ((bVar3 == 0x20 && (pbVar13[1] == 0)))) {\n      if (DAT_00083f40 == (int *)0x0) goto LAB_00045540;\n      puVar16 = (undefined4 *)*DAT_00083f40;\n      if ((*(byte *)(puVar16 + 9) & 0xa0) == 0) {\nLAB_00045264:\n        puVar16 = (undefined4 *)*DAT_00083f40;\n      }\nLAB_0004526c:\n      piVar2 = DAT_00083f40;\n      if ((undefined4 *)DAT_00083f40[1] <= puVar16) goto LAB_0004562d;\n      uVar11 = 0;\n      do {\n        uVar7 = FUN_00044e30();\n        uVar11 = uVar11 | uVar7;\n        if (uVar11 == 3) {\n          if (((DAT_0007b53c & 4) == 0) && (DAT_00083ee8 != 1)) {\n            uVar6 = dcgettext(0,"use .code16 to ensure correct addressing mode",5);\n            FUN_0002a8a0(uVar6);\n          }\n          return pbVar13;\n        }\n        puVar16 = puVar16 + 0x16;\n      } while (puVar16 < (undefined4 *)piVar2[1]);\n      puVar16 = (undefined4 *)*piVar2;\n      if ((uVar11 & 2) == 0) {\nLAB_0004562d:\n        uVar6 = *puVar16;\n        if (DAT_00083ee8 == 2) {\nLAB_00045352:\n          uVar5 = dcgettext(0,"`%s\' is not supported in 64-bit mode",5);\n        }\n        else {\nLAB_00045188:\n          uVar5 = dcgettext(0,"`%s\' is only supported in 64-bit mode",5);\n        }\nLAB_000451a1:\n        FUN_0002a980(uVar5,uVar6);\n      }\n      else {\n        uVar6 = *puVar16;\n        puVar12 = DAT_00083e94;\n        if (DAT_00083e94 == (undefined *)0x0) {\n          puVar12 = &DAT_00059ae5;\n        }\n        puVar14 = DAT_00083e98;\n        if (DAT_00083e98 == (undefined *)0x0) {\n          puVar14 = PTR_s_i386_0007b71c;\n        }\n        uVar5 = dcgettext(0,"`%s\' is not supported on `%s%s\'",5);\n        FUN_0002a980(uVar5,uVar6,puVar14,puVar12);\n      }\n      return (byte *)0x0;\n    }\n    if (DAT_00083f40 == (int *)0x0) {\nLAB_00045540:\n      if ((pcVar10 == pcVar15 + -2) && (pcVar10[1] == 's')) {\n        DAT_00084094 = 2;\nLAB_00045660:\n        *pcVar10 = '\0';\n        piVar9 = (int *)FUN_00024180(DAT_00083e60,param_2);\n        DAT_00083f40 = piVar9;\n        if (piVar9 == (int *)0x0) {\n          cVar4 = pcVar10[-1];\n          DAT_00083f40 = (int *)0x0;\n          pcVar15 = pcVar10;\n          piVar2 = (int *)0x0;\n          switch(cVar4) {\n          case 'b':\n          case 'q':\n            goto code_r0x000455ae;\n          default:\n            goto LAB_000451c0;\n          case 'd':\n            goto code_r0x000455fd;\n          case 'l':\n          case 's':\n            goto code_r0x000455e9;\n          case 'w':\n            goto code_r0x00045581;\n          }\n        }\n      }\n      else {\n        if (pcVar10 == pcVar15 + -3) {\n          if (pcVar10[1] == 'd') {\n            if (pcVar10[2] == '8') {\n              DAT_00084098 = 1;\n              goto LAB_00045660;\n            }\n            if (pcVar10 == pcVar15 + -4) goto LAB_000456b1;\n          }\n        }\n        else if ((pcVar10 == pcVar15 + -4) && (pcVar10[1] == 'd')) {\nLAB_000456b1:\n          if ((pcVar10[2] == '3') && (pcVar10[3] == '2')) {\n            DAT_00084098 = 2;\n            goto LAB_00045660;\n          }\n        }\n        cVar4 = pcVar15[-1];\n        piVar2 = DAT_00083f40;\n        piVar9 = DAT_00083f40;\n        switch(cVar4) {\n        case 'b':\n        case 'q':\n          break;\n        default:\n          goto LAB_000451c0;\n        case 'd':\ncode_r0x000455fd:\n          DAT_00083f40 = piVar9;\n          if (DAT_00083ed0 != 0) {\n            cVar4 = 'l';\n            if ((*param_2 == 'f') && (iVar8 = FUN_00043060(), iVar8 == 1)) {\n              cVar4 = 's';\n            }\n            break;\n          }\n          goto code_r0x000455d5;\n        case 'l':\n        case 's':\ncode_r0x000455e9:\n          DAT_00083f40 = piVar9;\n          if (DAT_00083ed0 != 0) goto code_r0x000455d5;\n          break;\n        case 'w':\ncode_r0x00045581:\n          cVar4 = 'w';\n          if ((DAT_00083ed0 != 0) && (*param_2 == 'f')) {\n            uVar11 = FUN_00043060();\n            cVar4 = (-((uVar11 & 2) == 0) & 4U) + 0x73;\n          }\n        }\ncode_r0x000455ae:\n        DAT_00083fb8 = cVar4;\n        pcVar15[-1] = '\0';\n        DAT_00083f40 = (int *)FUN_00024180(DAT_00083e60,param_2);\ncode_r0x000455d5:\n        piVar2 = DAT_00083f40;\n        if (DAT_00083f40 == (int *)0x0) {\nLAB_000451c0:\n          DAT_00083f40 = piVar2;\n          uVar6 = dcgettext(0,"no such instruction: `%s\'",5);\n          FUN_0002a980(uVar6,local_38);\n          return (byte *)0x0;\n        }\n      }\n      puVar16 = (undefined4 *)*DAT_00083f40;\n      bVar3 = *pbVar13;\nLAB_000454eb:\n      if ((*(byte *)(puVar16 + 9) & 0xa0) == 0) {\nLAB_00045532:\n        if (bVar3 != 0x2c) goto LAB_00045264;\n      }\n      else {\n        if (bVar3 != 0x2c) goto LAB_0004526c;\n        if (pbVar13[1] == 0x70) {\n          if (pbVar13[2] == 0x74) {\n            iVar8 = FUN_0003fd30();\n          }\n          else {\n            if (pbVar13[2] != 0x6e) goto LAB_00045222;\n            iVar8 = FUN_0003fd30();\n          }\n          if (iVar8 == 0) {\n            return (byte *)0x0;\n          }\n          bVar3 = pbVar13[3];\n          pbVar13 = pbVar13 + 3;\n          goto LAB_00045532;\n        }\n      }\nLAB_00045222:\n      uVar6 = FUN_00043af0();\n      uVar5 = dcgettext(0,"invalid character %s in mnemonic",5);\n      goto LAB_000451a1;\n    }\n    puVar16 = (undefined4 *)*DAT_00083f40;\n    if ((*(byte *)(puVar16 + 10) & 0x10) == 0) goto LAB_000454eb;\n    local_20 = (char)puVar16[8];\n    if (DAT_00083ee8 == 2) {\n      if (local_20 < '\0') {\n        uVar6 = *puVar16;\n        goto LAB_00045352;\n      }\n    }\n    else {\n      if ((puVar16[8] & 0x40) != 0) {\n        uVar6 = *puVar16;\n        goto LAB_00045188;\n      }\n      if (((*(byte *)((int)puVar16 + 0x25) & 0x18) != 0) &&\n         ((bool)(*(byte *)((int)puVar16 + 0x25) >> 4 & 1) != (DAT_00083ee8 == 1))) {\n        uVar6 = *puVar16;\n        uVar5 = dcgettext(0,"redundant %s prefix",5);\n        FUN_0002a980(uVar5,uVar6);\n        return (byte *)0x0;\n      }\n    }\n    if (*(char *)(puVar16 + 4) == '\0') {\n      uVar6 = DAT_000840a8;\n      uVar5 = DAT_000840ac;\n      switch(puVar16[2]) {\n      case 0:\n        DAT_00084098 = 1;\n        break;\n      case 1:\n        DAT_00084098 = 2;\n        break;\n      case 2:\n        DAT_00084094 = 1;\n        break;\n      case 3:\n        DAT_00084094 = 2;\n        break;\n      case 4:\n        DAT_000840a4 = 1;\n        break;\n      case 5:\n        DAT_000840a4 = 2;\n        break;\n      case 6:\n        DAT_000840a4 = 3;\n        break;\n      case 7:\n        uRam0008409c = 1;\n        break;\n      case 8:\n        uRam000840a0 = 1;\n        break;\n      default:\n                    /* WARNING: Subroutine does not return */\n        FUN_0002aaa0("../../gas/config/tc-i386.c",0x1127,"parse_insn",pbVar13);\n      }\n    }\n    else {\n      iVar8 = FUN_0003fd30();\n      uVar6 = DAT_000840a8;\n      uVar5 = DAT_000840ac;\n      if (iVar8 == 2) {\n        puVar16 = (undefined4 *)*DAT_00083f40;\n        uVar1 = *puVar16;\n        uVar5 = uVar1;\n        if (((*(byte *)((int)puVar16 + 0x1b) & 0x10) == 0) &&\n           (uVar6 = uVar1, uVar5 = DAT_000840ac, (*(byte *)(puVar16 + 7) & 1) != 0)) {\n          uVar6 = DAT_000840a8;\n          DAT_000840b0 = uVar1;\n        }\n      }\n      else if (iVar8 == 3) {\n        if ((*(byte *)(*DAT_00083f40 + 0x1f) & 8) != 0) {\n          DAT_000840b4 = *(undefined4 *)*DAT_00083f40;\n        }\n      }\n      else if (iVar8 == 0) {\n        return (byte *)0x0;\n      }\n    }\n    DAT_000840ac = uVar5;\n    DAT_000840a8 = uVar6;\n    local_38 = pbVar13 + 1;\n  }" { (expression_statement "cVar4 = (&DAT_000844e0)[*local_38];" (assignment_expression "cVar4 = (&DAT_000844e0)[*local_38]" identifier = (subscript_expression "(&DAT_000844e0)[*local_38]" (parenthesized_expression "(&DAT_000844e0)" ( (pointer_expression "&DAT_000844e0" & identifier) )) [ (pointer_expression "*local_38" * identifier) ])) ;) (expression_statement "*param_2 = cVar4;" (assignment_expression "*param_2 = cVar4" (pointer_expression "*param_2" * identifier) = identifier) ;) (expression_statement "pcVar15 = param_2;" (assignment_expression "pcVar15 = param_2" identifier = identifier) ;) (expression_statement "pbVar13 = local_38;" (assignment_expression "pbVar13 = local_38" identifier = identifier) ;) (if_statement "if (cVar4 == '\0') {\n      bVar3 = *local_38;\n      if ((bVar3 & 0xdf) == 0) goto LAB_000454ae;\nLAB_00045208:\n      if ((DAT_00083ed0 == 0) && ((bVar3 == 0x2f || (bVar3 == 0x2c)))) goto LAB_000450fb;\n      goto LAB_00045222;\n    }" if (parenthesized_expression "(cVar4 == '\0')" ( (binary_expression "cVar4 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      bVar3 = *local_38;\n      if ((bVar3 & 0xdf) == 0) goto LAB_000454ae;\nLAB_00045208:\n      if ((DAT_00083ed0 == 0) && ((bVar3 == 0x2f || (bVar3 == 0x2c)))) goto LAB_000450fb;\n      goto LAB_00045222;\n    }" { (expression_statement "bVar3 = *local_38;" (assignment_expression "bVar3 = *local_38" identifier = (pointer_expression "*local_38" * identifier)) ;) (if_statement "if ((bVar3 & 0xdf) == 0) goto LAB_000454ae;" if (parenthesized_expression "((bVar3 & 0xdf) == 0)" ( (binary_expression "(bVar3 & 0xdf) == 0" (parenthesized_expression "(bVar3 & 0xdf)" ( (binary_expression "bVar3 & 0xdf" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_000454ae;" goto statement_identifier ;)) (labeled_statement "LAB_00045208:\n      if ((DAT_00083ed0 == 0) && ((bVar3 == 0x2f || (bVar3 == 0x2c)))) goto LAB_000450fb;" statement_identifier : (if_statement "if ((DAT_00083ed0 == 0) && ((bVar3 == 0x2f || (bVar3 == 0x2c)))) goto LAB_000450fb;" if (parenthesized_expression "((DAT_00083ed0 == 0) && ((bVar3 == 0x2f || (bVar3 == 0x2c))))" ( (binary_expression "(DAT_00083ed0 == 0) && ((bVar3 == 0x2f || (bVar3 == 0x2c)))" (parenthesized_expression "(DAT_00083ed0 == 0)" ( (binary_expression "DAT_00083ed0 == 0" identifier == number_literal) )) && (parenthesized_expression "((bVar3 == 0x2f || (bVar3 == 0x2c)))" ( (parenthesized_expression "(bVar3 == 0x2f || (bVar3 == 0x2c))" ( (binary_expression "bVar3 == 0x2f || (bVar3 == 0x2c)" (binary_expression "bVar3 == 0x2f" identifier == number_literal) || (parenthesized_expression "(bVar3 == 0x2c)" ( (binary_expression "bVar3 == 0x2c" identifier == number_literal) ))) )) ))) )) (goto_statement "goto LAB_000450fb;" goto statement_identifier ;))) (goto_statement "goto LAB_00045222;" goto statement_identifier ;) })) (do_statement "do {\n      if (cVar4 == '.') {\n        pcVar10 = pcVar15;\n      }\n      pcVar15 = pcVar15 + 1;\n      piVar2 = DAT_00083f40;\n      if (pbVar13 == local_38 + 0x13) goto LAB_000451c0;\n      pbVar13 = pbVar13 + 1;\n      cVar4 = (&DAT_000844e0)[*pbVar13];\n      *pcVar15 = cVar4;\n    } while (cVar4 != '\0');" do (compound_statement "{\n      if (cVar4 == '.') {\n        pcVar10 = pcVar15;\n      }\n      pcVar15 = pcVar15 + 1;\n      piVar2 = DAT_00083f40;\n      if (pbVar13 == local_38 + 0x13) goto LAB_000451c0;\n      pbVar13 = pbVar13 + 1;\n      cVar4 = (&DAT_000844e0)[*pbVar13];\n      *pcVar15 = cVar4;\n    }" { (if_statement "if (cVar4 == '.') {\n        pcVar10 = pcVar15;\n      }" if (parenthesized_expression "(cVar4 == '.')" ( (binary_expression "cVar4 == '.'" identifier == (char_literal "'.'" ' character ')) )) (compound_statement "{\n        pcVar10 = pcVar15;\n      }" { (expression_statement "pcVar10 = pcVar15;" (assignment_expression "pcVar10 = pcVar15" identifier = identifier) ;) })) (expression_statement "pcVar15 = pcVar15 + 1;" (assignment_expression "pcVar15 = pcVar15 + 1" identifier = (binary_expression "pcVar15 + 1" identifier + number_literal)) ;) (expression_statement "piVar2 = DAT_00083f40;" (assignment_expression "piVar2 = DAT_00083f40" identifier = identifier) ;) (if_statement "if (pbVar13 == local_38 + 0x13) goto LAB_000451c0;" if (parenthesized_expression "(pbVar13 == local_38 + 0x13)" ( (binary_expression "pbVar13 == local_38 + 0x13" identifier == (binary_expression "local_38 + 0x13" identifier + number_literal)) )) (goto_statement "goto LAB_000451c0;" goto statement_identifier ;)) (expression_statement "pbVar13 = pbVar13 + 1;" (assignment_expression "pbVar13 = pbVar13 + 1" identifier = (binary_expression "pbVar13 + 1" identifier + number_literal)) ;) (expression_statement "cVar4 = (&DAT_000844e0)[*pbVar13];" (assignment_expression "cVar4 = (&DAT_000844e0)[*pbVar13]" identifier = (subscript_expression "(&DAT_000844e0)[*pbVar13]" (parenthesized_expression "(&DAT_000844e0)" ( (pointer_expression "&DAT_000844e0" & identifier) )) [ (pointer_expression "*pbVar13" * identifier) ])) ;) (expression_statement "*pcVar15 = cVar4;" (assignment_expression "*pcVar15 = cVar4" (pointer_expression "*pcVar15" * identifier) = identifier) ;) }) while (parenthesized_expression "(cVar4 != '\0')" ( (binary_expression "cVar4 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) ;) (expression_statement "bVar3 = *pbVar13;" (assignment_expression "bVar3 = *pbVar13" identifier = (pointer_expression "*pbVar13" * identifier)) ;) (if_statement "if ((bVar3 & 0xdf) != 0) goto LAB_00045208;" if (parenthesized_expression "((bVar3 & 0xdf) != 0)" ( (binary_expression "(bVar3 & 0xdf) != 0" (parenthesized_expression "(bVar3 & 0xdf)" ( (binary_expression "bVar3 & 0xdf" identifier & number_literal) )) != number_literal) )) (goto_statement "goto LAB_00045208;" goto statement_identifier ;)) (labeled_statement "LAB_000450fb:\n    if (pbVar13 == local_38) {\nLAB_000454ae:\n      if ((DAT_00083ed0 == 0) && (bVar3 == 0x2f)) {\n        pcVar10 = "expecting prefix; got nothing";\n      }\n      else {\n        pcVar10 = "expecting mnemonic; got nothing";\n      }\n      uVar6 = dcgettext(0,pcVar10,5);\n      FUN_0002a980(uVar6);\n      return (byte *)0x0;\n    }" statement_identifier : (if_statement "if (pbVar13 == local_38) {\nLAB_000454ae:\n      if ((DAT_00083ed0 == 0) && (bVar3 == 0x2f)) {\n        pcVar10 = "expecting prefix; got nothing";\n      }\n      else {\n        pcVar10 = "expecting mnemonic; got nothing";\n      }\n      uVar6 = dcgettext(0,pcVar10,5);\n      FUN_0002a980(uVar6);\n      return (byte *)0x0;\n    }" if (parenthesized_expression "(pbVar13 == local_38)" ( (binary_expression "pbVar13 == local_38" identifier == identifier) )) (compound_statement "{\nLAB_000454ae:\n      if ((DAT_00083ed0 == 0) && (bVar3 == 0x2f)) {\n        pcVar10 = "expecting prefix; got nothing";\n      }\n      else {\n        pcVar10 = "expecting mnemonic; got nothing";\n      }\n      uVar6 = dcgettext(0,pcVar10,5);\n      FUN_0002a980(uVar6);\n      return (byte *)0x0;\n    }" { (labeled_statement "LAB_000454ae:\n      if ((DAT_00083ed0 == 0) && (bVar3 == 0x2f)) {\n        pcVar10 = "expecting prefix; got nothing";\n      }\n      else {\n        pcVar10 = "expecting mnemonic; got nothing";\n      }" statement_identifier : (if_statement "if ((DAT_00083ed0 == 0) && (bVar3 == 0x2f)) {\n        pcVar10 = "expecting prefix; got nothing";\n      }\n      else {\n        pcVar10 = "expecting mnemonic; got nothing";\n      }" if (parenthesized_expression "((DAT_00083ed0 == 0) && (bVar3 == 0x2f))" ( (binary_expression "(DAT_00083ed0 == 0) && (bVar3 == 0x2f)" (parenthesized_expression "(DAT_00083ed0 == 0)" ( (binary_expression "DAT_00083ed0 == 0" identifier == number_literal) )) && (parenthesized_expression "(bVar3 == 0x2f)" ( (binary_expression "bVar3 == 0x2f" identifier == number_literal) ))) )) (compound_statement "{\n        pcVar10 = "expecting prefix; got nothing";\n      }" { (expression_statement "pcVar10 = "expecting prefix; got nothing";" (assignment_expression "pcVar10 = "expecting prefix; got nothing"" identifier = (string_literal ""expecting prefix; got nothing"" " string_content ")) ;) }) (else_clause "else {\n        pcVar10 = "expecting mnemonic; got nothing";\n      }" else (compound_statement "{\n        pcVar10 = "expecting mnemonic; got nothing";\n      }" { (expression_statement "pcVar10 = "expecting mnemonic; got nothing";" (assignment_expression "pcVar10 = "expecting mnemonic; got nothing"" identifier = (string_literal ""expecting mnemonic; got nothing"" " string_content ")) ;) })))) (expression_statement "uVar6 = dcgettext(0,pcVar10,5);" (assignment_expression "uVar6 = dcgettext(0,pcVar10,5)" identifier = (call_expression "dcgettext(0,pcVar10,5)" identifier (argument_list "(0,pcVar10,5)" ( number_literal , identifier , number_literal )))) ;) (expression_statement "FUN_0002a980(uVar6);" (call_expression "FUN_0002a980(uVar6)" identifier (argument_list "(uVar6)" ( identifier ))) ;) (return_statement "return (byte *)0x0;" return (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) ;) }))) (expression_statement "DAT_00083f40 = (int *)FUN_00024180(DAT_00083e60,param_2);" (assignment_expression "DAT_00083f40 = (int *)FUN_00024180(DAT_00083e60,param_2)" identifier = (cast_expression "(int *)FUN_00024180(DAT_00083e60,param_2)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00024180(DAT_00083e60,param_2)" identifier (argument_list "(DAT_00083e60,param_2)" ( identifier , identifier ))))) ;) (expression_statement "bVar3 = *pbVar13;" (assignment_expression "bVar3 = *pbVar13" identifier = (pointer_expression "*pbVar13" * identifier)) ;) (if_statement "if ((bVar3 == 0) || ((bVar3 == 0x20 && (pbVar13[1] == 0)))) {\n      if (DAT_00083f40 == (int *)0x0) goto LAB_00045540;\n      puVar16 = (undefined4 *)*DAT_00083f40;\n      if ((*(byte *)(puVar16 + 9) & 0xa0) == 0) {\nLAB_00045264:\n        puVar16 = (undefined4 *)*DAT_00083f40;\n      }\nLAB_0004526c:\n      piVar2 = DAT_00083f40;\n      if ((undefined4 *)DAT_00083f40[1] <= puVar16) goto LAB_0004562d;\n      uVar11 = 0;\n      do {\n        uVar7 = FUN_00044e30();\n        uVar11 = uVar11 | uVar7;\n        if (uVar11 == 3) {\n          if (((DAT_0007b53c & 4) == 0) && (DAT_00083ee8 != 1)) {\n            uVar6 = dcgettext(0,"use .code16 to ensure correct addressing mode",5);\n            FUN_0002a8a0(uVar6);\n          }\n          return pbVar13;\n        }\n        puVar16 = puVar16 + 0x16;\n      } while (puVar16 < (undefined4 *)piVar2[1]);\n      puVar16 = (undefined4 *)*piVar2;\n      if ((uVar11 & 2) == 0) {\nLAB_0004562d:\n        uVar6 = *puVar16;\n        if (DAT_00083ee8 == 2) {\nLAB_00045352:\n          uVar5 = dcgettext(0,"`%s\' is not supported in 64-bit mode",5);\n        }\n        else {\nLAB_00045188:\n          uVar5 = dcgettext(0,"`%s\' is only supported in 64-bit mode",5);\n        }\nLAB_000451a1:\n        FUN_0002a980(uVar5,uVar6);\n      }\n      else {\n        uVar6 = *puVar16;\n        puVar12 = DAT_00083e94;\n        if (DAT_00083e94 == (undefined *)0x0) {\n          puVar12 = &DAT_00059ae5;\n        }\n        puVar14 = DAT_00083e98;\n        if (DAT_00083e98 == (undefined *)0x0) {\n          puVar14 = PTR_s_i386_0007b71c;\n        }\n        uVar5 = dcgettext(0,"`%s\' is not supported on `%s%s\'",5);\n        FUN_0002a980(uVar5,uVar6,puVar14,puVar12);\n      }\n      return (byte *)0x0;\n    }" if (parenthesized_expression "((bVar3 == 0) || ((bVar3 == 0x20 && (pbVar13[1] == 0))))" ( (binary_expression "(bVar3 == 0) || ((bVar3 == 0x20 && (pbVar13[1] == 0)))" (parenthesized_expression "(bVar3 == 0)" ( (binary_expression "bVar3 == 0" identifier == number_literal) )) || (parenthesized_expression "((bVar3 == 0x20 && (pbVar13[1] == 0)))" ( (parenthesized_expression "(bVar3 == 0x20 && (pbVar13[1] == 0))" ( (binary_expression "bVar3 == 0x20 && (pbVar13[1] == 0)" (binary_expression "bVar3 == 0x20" identifier == number_literal) && (parenthesized_expression "(pbVar13[1] == 0)" ( (binary_expression "pbVar13[1] == 0" (subscript_expression "pbVar13[1]" identifier [ number_literal ]) == number_literal) ))) )) ))) )) (compound_statement "{\n      if (DAT_00083f40 == (int *)0x0) goto LAB_00045540;\n      puVar16 = (undefined4 *)*DAT_00083f40;\n      if ((*(byte *)(puVar16 + 9) & 0xa0) == 0) {\nLAB_00045264:\n        puVar16 = (undefined4 *)*DAT_00083f40;\n      }\nLAB_0004526c:\n      piVar2 = DAT_00083f40;\n      if ((undefined4 *)DAT_00083f40[1] <= puVar16) goto LAB_0004562d;\n      uVar11 = 0;\n      do {\n        uVar7 = FUN_00044e30();\n        uVar11 = uVar11 | uVar7;\n        if (uVar11 == 3) {\n          if (((DAT_0007b53c & 4) == 0) && (DAT_00083ee8 != 1)) {\n            uVar6 = dcgettext(0,"use .code16 to ensure correct addressing mode",5);\n            FUN_0002a8a0(uVar6);\n          }\n          return pbVar13;\n        }\n        puVar16 = puVar16 + 0x16;\n      } while (puVar16 < (undefined4 *)piVar2[1]);\n      puVar16 = (undefined4 *)*piVar2;\n      if ((uVar11 & 2) == 0) {\nLAB_0004562d:\n        uVar6 = *puVar16;\n        if (DAT_00083ee8 == 2) {\nLAB_00045352:\n          uVar5 = dcgettext(0,"`%s\' is not supported in 64-bit mode",5);\n        }\n        else {\nLAB_00045188:\n          uVar5 = dcgettext(0,"`%s\' is only supported in 64-bit mode",5);\n        }\nLAB_000451a1:\n        FUN_0002a980(uVar5,uVar6);\n      }\n      else {\n        uVar6 = *puVar16;\n        puVar12 = DAT_00083e94;\n        if (DAT_00083e94 == (undefined *)0x0) {\n          puVar12 = &DAT_00059ae5;\n        }\n        puVar14 = DAT_00083e98;\n        if (DAT_00083e98 == (undefined *)0x0) {\n          puVar14 = PTR_s_i386_0007b71c;\n        }\n        uVar5 = dcgettext(0,"`%s\' is not supported on `%s%s\'",5);\n        FUN_0002a980(uVar5,uVar6,puVar14,puVar12);\n      }\n      return (byte *)0x0;\n    }" { (if_statement "if (DAT_00083f40 == (int *)0x0) goto LAB_00045540;" if (parenthesized_expression "(DAT_00083f40 == (int *)0x0)" ( (binary_expression "DAT_00083f40 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00045540;" goto statement_identifier ;)) (expression_statement "puVar16 = (undefined4 *)*DAT_00083f40;" (assignment_expression "puVar16 = (undefined4 *)*DAT_00083f40" identifier = (cast_expression "(undefined4 *)*DAT_00083f40" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*DAT_00083f40" * identifier))) ;) (if_statement "if ((*(byte *)(puVar16 + 9) & 0xa0) == 0) {\nLAB_00045264:\n        puVar16 = (undefined4 *)*DAT_00083f40;\n      }" if (parenthesized_expression "((*(byte *)(puVar16 + 9) & 0xa0) == 0)" ( (binary_expression "(*(byte *)(puVar16 + 9) & 0xa0) == 0" (parenthesized_expression "(*(byte *)(puVar16 + 9) & 0xa0)" ( (binary_expression "*(byte *)(puVar16 + 9) & 0xa0" (pointer_expression "*(byte *)(puVar16 + 9)" * (cast_expression "(byte *)(puVar16 + 9)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + 9)" ( (binary_expression "puVar16 + 9" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\nLAB_00045264:\n        puVar16 = (undefined4 *)*DAT_00083f40;\n      }" { (labeled_statement "LAB_00045264:\n        puVar16 = (undefined4 *)*DAT_00083f40;" statement_identifier : (expression_statement "puVar16 = (undefined4 *)*DAT_00083f40;" (assignment_expression "puVar16 = (undefined4 *)*DAT_00083f40" identifier = (cast_expression "(undefined4 *)*DAT_00083f40" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*DAT_00083f40" * identifier))) ;)) })) (labeled_statement "LAB_0004526c:\n      piVar2 = DAT_00083f40;" statement_identifier : (expression_statement "piVar2 = DAT_00083f40;" (assignment_expression "piVar2 = DAT_00083f40" identifier = identifier) ;)) (if_statement "if ((undefined4 *)DAT_00083f40[1] <= puVar16) goto LAB_0004562d;" if (parenthesized_expression "((undefined4 *)DAT_00083f40[1] <= puVar16)" ( (binary_expression "(undefined4 *)DAT_00083f40[1] <= puVar16" (cast_expression "(undefined4 *)DAT_00083f40[1]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "DAT_00083f40[1]" identifier [ number_literal ])) <= identifier) )) (goto_statement "goto LAB_0004562d;" goto statement_identifier ;)) (expression_statement "uVar11 = 0;" (assignment_expression "uVar11 = 0" identifier = number_literal) ;) (do_statement "do {\n        uVar7 = FUN_00044e30();\n        uVar11 = uVar11 | uVar7;\n        if (uVar11 == 3) {\n          if (((DAT_0007b53c & 4) == 0) && (DAT_00083ee8 != 1)) {\n            uVar6 = dcgettext(0,"use .code16 to ensure correct addressing mode",5);\n            FUN_0002a8a0(uVar6);\n          }\n          return pbVar13;\n        }\n        puVar16 = puVar16 + 0x16;\n      } while (puVar16 < (undefined4 *)piVar2[1]);" do (compound_statement "{\n        uVar7 = FUN_00044e30();\n        uVar11 = uVar11 | uVar7;\n        if (uVar11 == 3) {\n          if (((DAT_0007b53c & 4) == 0) && (DAT_00083ee8 != 1)) {\n            uVar6 = dcgettext(0,"use .code16 to ensure correct addressing mode",5);\n            FUN_0002a8a0(uVar6);\n          }\n          return pbVar13;\n        }\n        puVar16 = puVar16 + 0x16;\n      }" { (expression_statement "uVar7 = FUN_00044e30();" (assignment_expression "uVar7 = FUN_00044e30()" identifier = (call_expression "FUN_00044e30()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar11 = uVar11 | uVar7;" (assignment_expression "uVar11 = uVar11 | uVar7" identifier = (binary_expression "uVar11 | uVar7" identifier | identifier)) ;) (if_statement "if (uVar11 == 3) {\n          if (((DAT_0007b53c & 4) == 0) && (DAT_00083ee8 != 1)) {\n            uVar6 = dcgettext(0,"use .code16 to ensure correct addressing mode",5);\n            FUN_0002a8a0(uVar6);\n          }\n          return pbVar13;\n        }" if (parenthesized_expression "(uVar11 == 3)" ( (binary_expression "uVar11 == 3" identifier == number_literal) )) (compound_statement "{\n          if (((DAT_0007b53c & 4) == 0) && (DAT_00083ee8 != 1)) {\n            uVar6 = dcgettext(0,"use .code16 to ensure correct addressing mode",5);\n            FUN_0002a8a0(uVar6);\n          }\n          return pbVar13;\n        }" { (if_statement "if (((DAT_0007b53c & 4) == 0) && (DAT_00083ee8 != 1)) {\n            uVar6 = dcgettext(0,"use .code16 to ensure correct addressing mode",5);\n            FUN_0002a8a0(uVar6);\n          }" if (parenthesized_expression "(((DAT_0007b53c & 4) == 0) && (DAT_00083ee8 != 1))" ( (binary_expression "((DAT_0007b53c & 4) == 0) && (DAT_00083ee8 != 1)" (parenthesized_expression "((DAT_0007b53c & 4) == 0)" ( (binary_expression "(DAT_0007b53c & 4) == 0" (parenthesized_expression "(DAT_0007b53c & 4)" ( (binary_expression "DAT_0007b53c & 4" identifier & number_literal) )) == number_literal) )) && (parenthesized_expression "(DAT_00083ee8 != 1)" ( (binary_expression "DAT_00083ee8 != 1" identifier != number_literal) ))) )) (compound_statement "{\n            uVar6 = dcgettext(0,"use .code16 to ensure correct addressing mode",5);\n            FUN_0002a8a0(uVar6);\n          }" { (expression_statement "uVar6 = dcgettext(0,"use .code16 to ensure correct addressing mode",5);" (assignment_expression "uVar6 = dcgettext(0,"use .code16 to ensure correct addressing mode",5)" identifier = (call_expression "dcgettext(0,"use .code16 to ensure correct addressing mode",5)" identifier (argument_list "(0,"use .code16 to ensure correct addressing mode",5)" ( number_literal , (string_literal ""use .code16 to ensure correct addressing mode"" " string_content ") , number_literal )))) ;) (expression_statement "FUN_0002a8a0(uVar6);" (call_expression "FUN_0002a8a0(uVar6)" identifier (argument_list "(uVar6)" ( identifier ))) ;) })) (return_statement "return pbVar13;" return identifier ;) })) (expression_statement "puVar16 = puVar16 + 0x16;" (assignment_expression "puVar16 = puVar16 + 0x16" identifier = (binary_expression "puVar16 + 0x16" identifier + number_literal)) ;) }) while (parenthesized_expression "(puVar16 < (undefined4 *)piVar2[1])" ( (binary_expression "puVar16 < (undefined4 *)piVar2[1]" identifier < (cast_expression "(undefined4 *)piVar2[1]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar2[1]" identifier [ number_literal ]))) )) ;) (expression_statement "puVar16 = (undefined4 *)*piVar2;" (assignment_expression "puVar16 = (undefined4 *)*piVar2" identifier = (cast_expression "(undefined4 *)*piVar2" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar2" * identifier))) ;) (if_statement "if ((uVar11 & 2) == 0) {\nLAB_0004562d:\n        uVar6 = *puVar16;\n        if (DAT_00083ee8 == 2) {\nLAB_00045352:\n          uVar5 = dcgettext(0,"`%s\' is not supported in 64-bit mode",5);\n        }\n        else {\nLAB_00045188:\n          uVar5 = dcgettext(0,"`%s\' is only supported in 64-bit mode",5);\n        }\nLAB_000451a1:\n        FUN_0002a980(uVar5,uVar6);\n      }\n      else {\n        uVar6 = *puVar16;\n        puVar12 = DAT_00083e94;\n        if (DAT_00083e94 == (undefined *)0x0) {\n          puVar12 = &DAT_00059ae5;\n        }\n        puVar14 = DAT_00083e98;\n        if (DAT_00083e98 == (undefined *)0x0) {\n          puVar14 = PTR_s_i386_0007b71c;\n        }\n        uVar5 = dcgettext(0,"`%s\' is not supported on `%s%s\'",5);\n        FUN_0002a980(uVar5,uVar6,puVar14,puVar12);\n      }" if (parenthesized_expression "((uVar11 & 2) == 0)" ( (binary_expression "(uVar11 & 2) == 0" (parenthesized_expression "(uVar11 & 2)" ( (binary_expression "uVar11 & 2" identifier & number_literal) )) == number_literal) )) (compound_statement "{\nLAB_0004562d:\n        uVar6 = *puVar16;\n        if (DAT_00083ee8 == 2) {\nLAB_00045352:\n          uVar5 = dcgettext(0,"`%s\' is not supported in 64-bit mode",5);\n        }\n        else {\nLAB_00045188:\n          uVar5 = dcgettext(0,"`%s\' is only supported in 64-bit mode",5);\n        }\nLAB_000451a1:\n        FUN_0002a980(uVar5,uVar6);\n      }" { (labeled_statement "LAB_0004562d:\n        uVar6 = *puVar16;" statement_identifier : (expression_statement "uVar6 = *puVar16;" (assignment_expression "uVar6 = *puVar16" identifier = (pointer_expression "*puVar16" * identifier)) ;)) (if_statement "if (DAT_00083ee8 == 2) {\nLAB_00045352:\n          uVar5 = dcgettext(0,"`%s\' is not supported in 64-bit mode",5);\n        }\n        else {\nLAB_00045188:\n          uVar5 = dcgettext(0,"`%s\' is only supported in 64-bit mode",5);\n        }" if (parenthesized_expression "(DAT_00083ee8 == 2)" ( (binary_expression "DAT_00083ee8 == 2" identifier == number_literal) )) (compound_statement "{\nLAB_00045352:\n          uVar5 = dcgettext(0,"`%s\' is not supported in 64-bit mode",5);\n        }" { (labeled_statement "LAB_00045352:\n          uVar5 = dcgettext(0,"`%s\' is not supported in 64-bit mode",5);" statement_identifier : (expression_statement "uVar5 = dcgettext(0,"`%s\' is not supported in 64-bit mode",5);" (assignment_expression "uVar5 = dcgettext(0,"`%s\' is not supported in 64-bit mode",5)" identifier = (call_expression "dcgettext(0,"`%s\' is not supported in 64-bit mode",5)" identifier (argument_list "(0,"`%s\' is not supported in 64-bit mode",5)" ( number_literal , (string_literal ""`%s\' is not supported in 64-bit mode"" " string_content escape_sequence string_content ") , number_literal )))) ;)) }) (else_clause "else {\nLAB_00045188:\n          uVar5 = dcgettext(0,"`%s\' is only supported in 64-bit mode",5);\n        }" else (compound_statement "{\nLAB_00045188:\n          uVar5 = dcgettext(0,"`%s\' is only supported in 64-bit mode",5);\n        }" { (labeled_statement "LAB_00045188:\n          uVar5 = dcgettext(0,"`%s\' is only supported in 64-bit mode",5);" statement_identifier : (expression_statement "uVar5 = dcgettext(0,"`%s\' is only supported in 64-bit mode",5);" (assignment_expression "uVar5 = dcgettext(0,"`%s\' is only supported in 64-bit mode",5)" identifier = (call_expression "dcgettext(0,"`%s\' is only supported in 64-bit mode",5)" identifier (argument_list "(0,"`%s\' is only supported in 64-bit mode",5)" ( number_literal , (string_literal ""`%s\' is only supported in 64-bit mode"" " string_content escape_sequence string_content ") , number_literal )))) ;)) }))) (labeled_statement "LAB_000451a1:\n        FUN_0002a980(uVar5,uVar6);" statement_identifier : (expression_statement "FUN_0002a980(uVar5,uVar6);" (call_expression "FUN_0002a980(uVar5,uVar6)" identifier (argument_list "(uVar5,uVar6)" ( identifier , identifier ))) ;)) }) (else_clause "else {\n        uVar6 = *puVar16;\n        puVar12 = DAT_00083e94;\n        if (DAT_00083e94 == (undefined *)0x0) {\n          puVar12 = &DAT_00059ae5;\n        }\n        puVar14 = DAT_00083e98;\n        if (DAT_00083e98 == (undefined *)0x0) {\n          puVar14 = PTR_s_i386_0007b71c;\n        }\n        uVar5 = dcgettext(0,"`%s\' is not supported on `%s%s\'",5);\n        FUN_0002a980(uVar5,uVar6,puVar14,puVar12);\n      }" else (compound_statement "{\n        uVar6 = *puVar16;\n        puVar12 = DAT_00083e94;\n        if (DAT_00083e94 == (undefined *)0x0) {\n          puVar12 = &DAT_00059ae5;\n        }\n        puVar14 = DAT_00083e98;\n        if (DAT_00083e98 == (undefined *)0x0) {\n          puVar14 = PTR_s_i386_0007b71c;\n        }\n        uVar5 = dcgettext(0,"`%s\' is not supported on `%s%s\'",5);\n        FUN_0002a980(uVar5,uVar6,puVar14,puVar12);\n      }" { (expression_statement "uVar6 = *puVar16;" (assignment_expression "uVar6 = *puVar16" identifier = (pointer_expression "*puVar16" * identifier)) ;) (expression_statement "puVar12 = DAT_00083e94;" (assignment_expression "puVar12 = DAT_00083e94" identifier = identifier) ;) (if_statement "if (DAT_00083e94 == (undefined *)0x0) {\n          puVar12 = &DAT_00059ae5;\n        }" if (parenthesized_expression "(DAT_00083e94 == (undefined *)0x0)" ( (binary_expression "DAT_00083e94 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          puVar12 = &DAT_00059ae5;\n        }" { (expression_statement "puVar12 = &DAT_00059ae5;" (assignment_expression "puVar12 = &DAT_00059ae5" identifier = (pointer_expression "&DAT_00059ae5" & identifier)) ;) })) (expression_statement "puVar14 = DAT_00083e98;" (assignment_expression "puVar14 = DAT_00083e98" identifier = identifier) ;) (if_statement "if (DAT_00083e98 == (undefined *)0x0) {\n          puVar14 = PTR_s_i386_0007b71c;\n        }" if (parenthesized_expression "(DAT_00083e98 == (undefined *)0x0)" ( (binary_expression "DAT_00083e98 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          puVar14 = PTR_s_i386_0007b71c;\n        }" { (expression_statement "puVar14 = PTR_s_i386_0007b71c;" (assignment_expression "puVar14 = PTR_s_i386_0007b71c" identifier = identifier) ;) })) (expression_statement "uVar5 = dcgettext(0,"`%s\' is not supported on `%s%s\'",5);" (assignment_expression "uVar5 = dcgettext(0,"`%s\' is not supported on `%s%s\'",5)" identifier = (call_expression "dcgettext(0,"`%s\' is not supported on `%s%s\'",5)" identifier (argument_list "(0,"`%s\' is not supported on `%s%s\'",5)" ( number_literal , (string_literal ""`%s\' is not supported on `%s%s\'"" " string_content escape_sequence string_content escape_sequence ") , number_literal )))) ;) (expression_statement "FUN_0002a980(uVar5,uVar6,puVar14,puVar12);" (call_expression "FUN_0002a980(uVar5,uVar6,puVar14,puVar12)" identifier (argument_list "(uVar5,uVar6,puVar14,puVar12)" ( identifier , identifier , identifier , identifier ))) ;) }))) (return_statement "return (byte *)0x0;" return (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) (if_statement "if (DAT_00083f40 == (int *)0x0) {\nLAB_00045540:\n      if ((pcVar10 == pcVar15 + -2) && (pcVar10[1] == 's')) {\n        DAT_00084094 = 2;\nLAB_00045660:\n        *pcVar10 = '\0';\n        piVar9 = (int *)FUN_00024180(DAT_00083e60,param_2);\n        DAT_00083f40 = piVar9;\n        if (piVar9 == (int *)0x0) {\n          cVar4 = pcVar10[-1];\n          DAT_00083f40 = (int *)0x0;\n          pcVar15 = pcVar10;\n          piVar2 = (int *)0x0;\n          switch(cVar4) {\n          case 'b':\n          case 'q':\n            goto code_r0x000455ae;\n          default:\n            goto LAB_000451c0;\n          case 'd':\n            goto code_r0x000455fd;\n          case 'l':\n          case 's':\n            goto code_r0x000455e9;\n          case 'w':\n            goto code_r0x00045581;\n          }\n        }\n      }\n      else {\n        if (pcVar10 == pcVar15 + -3) {\n          if (pcVar10[1] == 'd') {\n            if (pcVar10[2] == '8') {\n              DAT_00084098 = 1;\n              goto LAB_00045660;\n            }\n            if (pcVar10 == pcVar15 + -4) goto LAB_000456b1;\n          }\n        }\n        else if ((pcVar10 == pcVar15 + -4) && (pcVar10[1] == 'd')) {\nLAB_000456b1:\n          if ((pcVar10[2] == '3') && (pcVar10[3] == '2')) {\n            DAT_00084098 = 2;\n            goto LAB_00045660;\n          }\n        }\n        cVar4 = pcVar15[-1];\n        piVar2 = DAT_00083f40;\n        piVar9 = DAT_00083f40;\n        switch(cVar4) {\n        case 'b':\n        case 'q':\n          break;\n        default:\n          goto LAB_000451c0;\n        case 'd':\ncode_r0x000455fd:\n          DAT_00083f40 = piVar9;\n          if (DAT_00083ed0 != 0) {\n            cVar4 = 'l';\n            if ((*param_2 == 'f') && (iVar8 = FUN_00043060(), iVar8 == 1)) {\n              cVar4 = 's';\n            }\n            break;\n          }\n          goto code_r0x000455d5;\n        case 'l':\n        case 's':\ncode_r0x000455e9:\n          DAT_00083f40 = piVar9;\n          if (DAT_00083ed0 != 0) goto code_r0x000455d5;\n          break;\n        case 'w':\ncode_r0x00045581:\n          cVar4 = 'w';\n          if ((DAT_00083ed0 != 0) && (*param_2 == 'f')) {\n            uVar11 = FUN_00043060();\n            cVar4 = (-((uVar11 & 2) == 0) & 4U) + 0x73;\n          }\n        }\ncode_r0x000455ae:\n        DAT_00083fb8 = cVar4;\n        pcVar15[-1] = '\0';\n        DAT_00083f40 = (int *)FUN_00024180(DAT_00083e60,param_2);\ncode_r0x000455d5:\n        piVar2 = DAT_00083f40;\n        if (DAT_00083f40 == (int *)0x0) {\nLAB_000451c0:\n          DAT_00083f40 = piVar2;\n          uVar6 = dcgettext(0,"no such instruction: `%s\'",5);\n          FUN_0002a980(uVar6,local_38);\n          return (byte *)0x0;\n        }\n      }\n      puVar16 = (undefined4 *)*DAT_00083f40;\n      bVar3 = *pbVar13;\nLAB_000454eb:\n      if ((*(byte *)(puVar16 + 9) & 0xa0) == 0) {\nLAB_00045532:\n        if (bVar3 != 0x2c) goto LAB_00045264;\n      }\n      else {\n        if (bVar3 != 0x2c) goto LAB_0004526c;\n        if (pbVar13[1] == 0x70) {\n          if (pbVar13[2] == 0x74) {\n            iVar8 = FUN_0003fd30();\n          }\n          else {\n            if (pbVar13[2] != 0x6e) goto LAB_00045222;\n            iVar8 = FUN_0003fd30();\n          }\n          if (iVar8 == 0) {\n            return (byte *)0x0;\n          }\n          bVar3 = pbVar13[3];\n          pbVar13 = pbVar13 + 3;\n          goto LAB_00045532;\n        }\n      }\nLAB_00045222:\n      uVar6 = FUN_00043af0();\n      uVar5 = dcgettext(0,"invalid character %s in mnemonic",5);\n      goto LAB_000451a1;\n    }" if (parenthesized_expression "(DAT_00083f40 == (int *)0x0)" ( (binary_expression "DAT_00083f40 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_00045540:\n      if ((pcVar10 == pcVar15 + -2) && (pcVar10[1] == 's')) {\n        DAT_00084094 = 2;\nLAB_00045660:\n        *pcVar10 = '\0';\n        piVar9 = (int *)FUN_00024180(DAT_00083e60,param_2);\n        DAT_00083f40 = piVar9;\n        if (piVar9 == (int *)0x0) {\n          cVar4 = pcVar10[-1];\n          DAT_00083f40 = (int *)0x0;\n          pcVar15 = pcVar10;\n          piVar2 = (int *)0x0;\n          switch(cVar4) {\n          case 'b':\n          case 'q':\n            goto code_r0x000455ae;\n          default:\n            goto LAB_000451c0;\n          case 'd':\n            goto code_r0x000455fd;\n          case 'l':\n          case 's':\n            goto code_r0x000455e9;\n          case 'w':\n            goto code_r0x00045581;\n          }\n        }\n      }\n      else {\n        if (pcVar10 == pcVar15 + -3) {\n          if (pcVar10[1] == 'd') {\n            if (pcVar10[2] == '8') {\n              DAT_00084098 = 1;\n              goto LAB_00045660;\n            }\n            if (pcVar10 == pcVar15 + -4) goto LAB_000456b1;\n          }\n        }\n        else if ((pcVar10 == pcVar15 + -4) && (pcVar10[1] == 'd')) {\nLAB_000456b1:\n          if ((pcVar10[2] == '3') && (pcVar10[3] == '2')) {\n            DAT_00084098 = 2;\n            goto LAB_00045660;\n          }\n        }\n        cVar4 = pcVar15[-1];\n        piVar2 = DAT_00083f40;\n        piVar9 = DAT_00083f40;\n        switch(cVar4) {\n        case 'b':\n        case 'q':\n          break;\n        default:\n          goto LAB_000451c0;\n        case 'd':\ncode_r0x000455fd:\n          DAT_00083f40 = piVar9;\n          if (DAT_00083ed0 != 0) {\n            cVar4 = 'l';\n            if ((*param_2 == 'f') && (iVar8 = FUN_00043060(), iVar8 == 1)) {\n              cVar4 = 's';\n            }\n            break;\n          }\n          goto code_r0x000455d5;\n        case 'l':\n        case 's':\ncode_r0x000455e9:\n          DAT_00083f40 = piVar9;\n          if (DAT_00083ed0 != 0) goto code_r0x000455d5;\n          break;\n        case 'w':\ncode_r0x00045581:\n          cVar4 = 'w';\n          if ((DAT_00083ed0 != 0) && (*param_2 == 'f')) {\n            uVar11 = FUN_00043060();\n            cVar4 = (-((uVar11 & 2) == 0) & 4U) + 0x73;\n          }\n        }\ncode_r0x000455ae:\n        DAT_00083fb8 = cVar4;\n        pcVar15[-1] = '\0';\n        DAT_00083f40 = (int *)FUN_00024180(DAT_00083e60,param_2);\ncode_r0x000455d5:\n        piVar2 = DAT_00083f40;\n        if (DAT_00083f40 == (int *)0x0) {\nLAB_000451c0:\n          DAT_00083f40 = piVar2;\n          uVar6 = dcgettext(0,"no such instruction: `%s\'",5);\n          FUN_0002a980(uVar6,local_38);\n          return (byte *)0x0;\n        }\n      }\n      puVar16 = (undefined4 *)*DAT_00083f40;\n      bVar3 = *pbVar13;\nLAB_000454eb:\n      if ((*(byte *)(puVar16 + 9) & 0xa0) == 0) {\nLAB_00045532:\n        if (bVar3 != 0x2c) goto LAB_00045264;\n      }\n      else {\n        if (bVar3 != 0x2c) goto LAB_0004526c;\n        if (pbVar13[1] == 0x70) {\n          if (pbVar13[2] == 0x74) {\n            iVar8 = FUN_0003fd30();\n          }\n          else {\n            if (pbVar13[2] != 0x6e) goto LAB_00045222;\n            iVar8 = FUN_0003fd30();\n          }\n          if (iVar8 == 0) {\n            return (byte *)0x0;\n          }\n          bVar3 = pbVar13[3];\n          pbVar13 = pbVar13 + 3;\n          goto LAB_00045532;\n        }\n      }\nLAB_00045222:\n      uVar6 = FUN_00043af0();\n      uVar5 = dcgettext(0,"invalid character %s in mnemonic",5);\n      goto LAB_000451a1;\n    }" { (labeled_statement "LAB_00045540:\n      if ((pcVar10 == pcVar15 + -2) && (pcVar10[1] == 's')) {\n        DAT_00084094 = 2;\nLAB_00045660:\n        *pcVar10 = '\0';\n        piVar9 = (int *)FUN_00024180(DAT_00083e60,param_2);\n        DAT_00083f40 = piVar9;\n        if (piVar9 == (int *)0x0) {\n          cVar4 = pcVar10[-1];\n          DAT_00083f40 = (int *)0x0;\n          pcVar15 = pcVar10;\n          piVar2 = (int *)0x0;\n          switch(cVar4) {\n          case 'b':\n          case 'q':\n            goto code_r0x000455ae;\n          default:\n            goto LAB_000451c0;\n          case 'd':\n            goto code_r0x000455fd;\n          case 'l':\n          case 's':\n            goto code_r0x000455e9;\n          case 'w':\n            goto code_r0x00045581;\n          }\n        }\n      }\n      else {\n        if (pcVar10 == pcVar15 + -3) {\n          if (pcVar10[1] == 'd') {\n            if (pcVar10[2] == '8') {\n              DAT_00084098 = 1;\n              goto LAB_00045660;\n            }\n            if (pcVar10 == pcVar15 + -4) goto LAB_000456b1;\n          }\n        }\n        else if ((pcVar10 == pcVar15 + -4) && (pcVar10[1] == 'd')) {\nLAB_000456b1:\n          if ((pcVar10[2] == '3') && (pcVar10[3] == '2')) {\n            DAT_00084098 = 2;\n            goto LAB_00045660;\n          }\n        }\n        cVar4 = pcVar15[-1];\n        piVar2 = DAT_00083f40;\n        piVar9 = DAT_00083f40;\n        switch(cVar4) {\n        case 'b':\n        case 'q':\n          break;\n        default:\n          goto LAB_000451c0;\n        case 'd':\ncode_r0x000455fd:\n          DAT_00083f40 = piVar9;\n          if (DAT_00083ed0 != 0) {\n            cVar4 = 'l';\n            if ((*param_2 == 'f') && (iVar8 = FUN_00043060(), iVar8 == 1)) {\n              cVar4 = 's';\n            }\n            break;\n          }\n          goto code_r0x000455d5;\n        case 'l':\n        case 's':\ncode_r0x000455e9:\n          DAT_00083f40 = piVar9;\n          if (DAT_00083ed0 != 0) goto code_r0x000455d5;\n          break;\n        case 'w':\ncode_r0x00045581:\n          cVar4 = 'w';\n          if ((DAT_00083ed0 != 0) && (*param_2 == 'f')) {\n            uVar11 = FUN_00043060();\n            cVar4 = (-((uVar11 & 2) == 0) & 4U) + 0x73;\n          }\n        }\ncode_r0x000455ae:\n        DAT_00083fb8 = cVar4;\n        pcVar15[-1] = '\0';\n        DAT_00083f40 = (int *)FUN_00024180(DAT_00083e60,param_2);\ncode_r0x000455d5:\n        piVar2 = DAT_00083f40;\n        if (DAT_00083f40 == (int *)0x0) {\nLAB_000451c0:\n          DAT_00083f40 = piVar2;\n          uVar6 = dcgettext(0,"no such instruction: `%s\'",5);\n          FUN_0002a980(uVar6,local_38);\n          return (byte *)0x0;\n        }\n      }" statement_identifier : (if_statement "if ((pcVar10 == pcVar15 + -2) && (pcVar10[1] == 's')) {\n        DAT_00084094 = 2;\nLAB_00045660:\n        *pcVar10 = '\0';\n        piVar9 = (int *)FUN_00024180(DAT_00083e60,param_2);\n        DAT_00083f40 = piVar9;\n        if (piVar9 == (int *)0x0) {\n          cVar4 = pcVar10[-1];\n          DAT_00083f40 = (int *)0x0;\n          pcVar15 = pcVar10;\n          piVar2 = (int *)0x0;\n          switch(cVar4) {\n          case 'b':\n          case 'q':\n            goto code_r0x000455ae;\n          default:\n            goto LAB_000451c0;\n          case 'd':\n            goto code_r0x000455fd;\n          case 'l':\n          case 's':\n            goto code_r0x000455e9;\n          case 'w':\n            goto code_r0x00045581;\n          }\n        }\n      }\n      else {\n        if (pcVar10 == pcVar15 + -3) {\n          if (pcVar10[1] == 'd') {\n            if (pcVar10[2] == '8') {\n              DAT_00084098 = 1;\n              goto LAB_00045660;\n            }\n            if (pcVar10 == pcVar15 + -4) goto LAB_000456b1;\n          }\n        }\n        else if ((pcVar10 == pcVar15 + -4) && (pcVar10[1] == 'd')) {\nLAB_000456b1:\n          if ((pcVar10[2] == '3') && (pcVar10[3] == '2')) {\n            DAT_00084098 = 2;\n            goto LAB_00045660;\n          }\n        }\n        cVar4 = pcVar15[-1];\n        piVar2 = DAT_00083f40;\n        piVar9 = DAT_00083f40;\n        switch(cVar4) {\n        case 'b':\n        case 'q':\n          break;\n        default:\n          goto LAB_000451c0;\n        case 'd':\ncode_r0x000455fd:\n          DAT_00083f40 = piVar9;\n          if (DAT_00083ed0 != 0) {\n            cVar4 = 'l';\n            if ((*param_2 == 'f') && (iVar8 = FUN_00043060(), iVar8 == 1)) {\n              cVar4 = 's';\n            }\n            break;\n          }\n          goto code_r0x000455d5;\n        case 'l':\n        case 's':\ncode_r0x000455e9:\n          DAT_00083f40 = piVar9;\n          if (DAT_00083ed0 != 0) goto code_r0x000455d5;\n          break;\n        case 'w':\ncode_r0x00045581:\n          cVar4 = 'w';\n          if ((DAT_00083ed0 != 0) && (*param_2 == 'f')) {\n            uVar11 = FUN_00043060();\n            cVar4 = (-((uVar11 & 2) == 0) & 4U) + 0x73;\n          }\n        }\ncode_r0x000455ae:\n        DAT_00083fb8 = cVar4;\n        pcVar15[-1] = '\0';\n        DAT_00083f40 = (int *)FUN_00024180(DAT_00083e60,param_2);\ncode_r0x000455d5:\n        piVar2 = DAT_00083f40;\n        if (DAT_00083f40 == (int *)0x0) {\nLAB_000451c0:\n          DAT_00083f40 = piVar2;\n          uVar6 = dcgettext(0,"no such instruction: `%s\'",5);\n          FUN_0002a980(uVar6,local_38);\n          return (byte *)0x0;\n        }\n      }" if (parenthesized_expression "((pcVar10 == pcVar15 + -2) && (pcVar10[1] == 's'))" ( (binary_expression "(pcVar10 == pcVar15 + -2) && (pcVar10[1] == 's')" (parenthesized_expression "(pcVar10 == pcVar15 + -2)" ( (binary_expression "pcVar10 == pcVar15 + -2" identifier == (binary_expression "pcVar15 + -2" identifier + number_literal)) )) && (parenthesized_expression "(pcVar10[1] == 's')" ( (binary_expression "pcVar10[1] == 's'" (subscript_expression "pcVar10[1]" identifier [ number_literal ]) == (char_literal "'s'" ' character ')) ))) )) (compound_statement "{\n        DAT_00084094 = 2;\nLAB_00045660:\n        *pcVar10 = '\0';\n        piVar9 = (int *)FUN_00024180(DAT_00083e60,param_2);\n        DAT_00083f40 = piVar9;\n        if (piVar9 == (int *)0x0) {\n          cVar4 = pcVar10[-1];\n          DAT_00083f40 = (int *)0x0;\n          pcVar15 = pcVar10;\n          piVar2 = (int *)0x0;\n          switch(cVar4) {\n          case 'b':\n          case 'q':\n            goto code_r0x000455ae;\n          default:\n            goto LAB_000451c0;\n          case 'd':\n            goto code_r0x000455fd;\n          case 'l':\n          case 's':\n            goto code_r0x000455e9;\n          case 'w':\n            goto code_r0x00045581;\n          }\n        }\n      }" { (expression_statement "DAT_00084094 = 2;" (assignment_expression "DAT_00084094 = 2" identifier = number_literal) ;) (labeled_statement "LAB_00045660:\n        *pcVar10 = '\0';" statement_identifier : (expression_statement "*pcVar10 = '\0';" (assignment_expression "*pcVar10 = '\0'" (pointer_expression "*pcVar10" * identifier) = (char_literal "'\0'" ' escape_sequence ')) ;)) (expression_statement "piVar9 = (int *)FUN_00024180(DAT_00083e60,param_2);" (assignment_expression "piVar9 = (int *)FUN_00024180(DAT_00083e60,param_2)" identifier = (cast_expression "(int *)FUN_00024180(DAT_00083e60,param_2)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00024180(DAT_00083e60,param_2)" identifier (argument_list "(DAT_00083e60,param_2)" ( identifier , identifier ))))) ;) (expression_statement "DAT_00083f40 = piVar9;" (assignment_expression "DAT_00083f40 = piVar9" identifier = identifier) ;) (if_statement "if (piVar9 == (int *)0x0) {\n          cVar4 = pcVar10[-1];\n          DAT_00083f40 = (int *)0x0;\n          pcVar15 = pcVar10;\n          piVar2 = (int *)0x0;\n          switch(cVar4) {\n          case 'b':\n          case 'q':\n            goto code_r0x000455ae;\n          default:\n            goto LAB_000451c0;\n          case 'd':\n            goto code_r0x000455fd;\n          case 'l':\n          case 's':\n            goto code_r0x000455e9;\n          case 'w':\n            goto code_r0x00045581;\n          }\n        }" if (parenthesized_expression "(piVar9 == (int *)0x0)" ( (binary_expression "piVar9 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          cVar4 = pcVar10[-1];\n          DAT_00083f40 = (int *)0x0;\n          pcVar15 = pcVar10;\n          piVar2 = (int *)0x0;\n          switch(cVar4) {\n          case 'b':\n          case 'q':\n            goto code_r0x000455ae;\n          default:\n            goto LAB_000451c0;\n          case 'd':\n            goto code_r0x000455fd;\n          case 'l':\n          case 's':\n            goto code_r0x000455e9;\n          case 'w':\n            goto code_r0x00045581;\n          }\n        }" { (expression_statement "cVar4 = pcVar10[-1];" (assignment_expression "cVar4 = pcVar10[-1]" identifier = (subscript_expression "pcVar10[-1]" identifier [ number_literal ])) ;) (expression_statement "DAT_00083f40 = (int *)0x0;" (assignment_expression "DAT_00083f40 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar15 = pcVar10;" (assignment_expression "pcVar15 = pcVar10" identifier = identifier) ;) (expression_statement "piVar2 = (int *)0x0;" (assignment_expression "piVar2 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (switch_statement "switch(cVar4) {\n          case 'b':\n          case 'q':\n            goto code_r0x000455ae;\n          default:\n            goto LAB_000451c0;\n          case 'd':\n            goto code_r0x000455fd;\n          case 'l':\n          case 's':\n            goto code_r0x000455e9;\n          case 'w':\n            goto code_r0x00045581;\n          }" switch (parenthesized_expression "(cVar4)" ( identifier )) (compound_statement "{\n          case 'b':\n          case 'q':\n            goto code_r0x000455ae;\n          default:\n            goto LAB_000451c0;\n          case 'd':\n            goto code_r0x000455fd;\n          case 'l':\n          case 's':\n            goto code_r0x000455e9;\n          case 'w':\n            goto code_r0x00045581;\n          }" { (case_statement "case 'b':" case (char_literal "'b'" ' character ') :) (case_statement "case 'q':\n            goto code_r0x000455ae;" case (char_literal "'q'" ' character ') : (goto_statement "goto code_r0x000455ae;" goto statement_identifier ;)) (case_statement "default:\n            goto LAB_000451c0;" default : (goto_statement "goto LAB_000451c0;" goto statement_identifier ;)) (case_statement "case 'd':\n            goto code_r0x000455fd;" case (char_literal "'d'" ' character ') : (goto_statement "goto code_r0x000455fd;" goto statement_identifier ;)) (case_statement "case 'l':" case (char_literal "'l'" ' character ') :) (case_statement "case 's':\n            goto code_r0x000455e9;" case (char_literal "'s'" ' character ') : (goto_statement "goto code_r0x000455e9;" goto statement_identifier ;)) (case_statement "case 'w':\n            goto code_r0x00045581;" case (char_literal "'w'" ' character ') : (goto_statement "goto code_r0x00045581;" goto statement_identifier ;)) })) })) }) (else_clause "else {\n        if (pcVar10 == pcVar15 + -3) {\n          if (pcVar10[1] == 'd') {\n            if (pcVar10[2] == '8') {\n              DAT_00084098 = 1;\n              goto LAB_00045660;\n            }\n            if (pcVar10 == pcVar15 + -4) goto LAB_000456b1;\n          }\n        }\n        else if ((pcVar10 == pcVar15 + -4) && (pcVar10[1] == 'd')) {\nLAB_000456b1:\n          if ((pcVar10[2] == '3') && (pcVar10[3] == '2')) {\n            DAT_00084098 = 2;\n            goto LAB_00045660;\n          }\n        }\n        cVar4 = pcVar15[-1];\n        piVar2 = DAT_00083f40;\n        piVar9 = DAT_00083f40;\n        switch(cVar4) {\n        case 'b':\n        case 'q':\n          break;\n        default:\n          goto LAB_000451c0;\n        case 'd':\ncode_r0x000455fd:\n          DAT_00083f40 = piVar9;\n          if (DAT_00083ed0 != 0) {\n            cVar4 = 'l';\n            if ((*param_2 == 'f') && (iVar8 = FUN_00043060(), iVar8 == 1)) {\n              cVar4 = 's';\n            }\n            break;\n          }\n          goto code_r0x000455d5;\n        case 'l':\n        case 's':\ncode_r0x000455e9:\n          DAT_00083f40 = piVar9;\n          if (DAT_00083ed0 != 0) goto code_r0x000455d5;\n          break;\n        case 'w':\ncode_r0x00045581:\n          cVar4 = 'w';\n          if ((DAT_00083ed0 != 0) && (*param_2 == 'f')) {\n            uVar11 = FUN_00043060();\n            cVar4 = (-((uVar11 & 2) == 0) & 4U) + 0x73;\n          }\n        }\ncode_r0x000455ae:\n        DAT_00083fb8 = cVar4;\n        pcVar15[-1] = '\0';\n        DAT_00083f40 = (int *)FUN_00024180(DAT_00083e60,param_2);\ncode_r0x000455d5:\n        piVar2 = DAT_00083f40;\n        if (DAT_00083f40 == (int *)0x0) {\nLAB_000451c0:\n          DAT_00083f40 = piVar2;\n          uVar6 = dcgettext(0,"no such instruction: `%s\'",5);\n          FUN_0002a980(uVar6,local_38);\n          return (byte *)0x0;\n        }\n      }" else (compound_statement "{\n        if (pcVar10 == pcVar15 + -3) {\n          if (pcVar10[1] == 'd') {\n            if (pcVar10[2] == '8') {\n              DAT_00084098 = 1;\n              goto LAB_00045660;\n            }\n            if (pcVar10 == pcVar15 + -4) goto LAB_000456b1;\n          }\n        }\n        else if ((pcVar10 == pcVar15 + -4) && (pcVar10[1] == 'd')) {\nLAB_000456b1:\n          if ((pcVar10[2] == '3') && (pcVar10[3] == '2')) {\n            DAT_00084098 = 2;\n            goto LAB_00045660;\n          }\n        }\n        cVar4 = pcVar15[-1];\n        piVar2 = DAT_00083f40;\n        piVar9 = DAT_00083f40;\n        switch(cVar4) {\n        case 'b':\n        case 'q':\n          break;\n        default:\n          goto LAB_000451c0;\n        case 'd':\ncode_r0x000455fd:\n          DAT_00083f40 = piVar9;\n          if (DAT_00083ed0 != 0) {\n            cVar4 = 'l';\n            if ((*param_2 == 'f') && (iVar8 = FUN_00043060(), iVar8 == 1)) {\n              cVar4 = 's';\n            }\n            break;\n          }\n          goto code_r0x000455d5;\n        case 'l':\n        case 's':\ncode_r0x000455e9:\n          DAT_00083f40 = piVar9;\n          if (DAT_00083ed0 != 0) goto code_r0x000455d5;\n          break;\n        case 'w':\ncode_r0x00045581:\n          cVar4 = 'w';\n          if ((DAT_00083ed0 != 0) && (*param_2 == 'f')) {\n            uVar11 = FUN_00043060();\n            cVar4 = (-((uVar11 & 2) == 0) & 4U) + 0x73;\n          }\n        }\ncode_r0x000455ae:\n        DAT_00083fb8 = cVar4;\n        pcVar15[-1] = '\0';\n        DAT_00083f40 = (int *)FUN_00024180(DAT_00083e60,param_2);\ncode_r0x000455d5:\n        piVar2 = DAT_00083f40;\n        if (DAT_00083f40 == (int *)0x0) {\nLAB_000451c0:\n          DAT_00083f40 = piVar2;\n          uVar6 = dcgettext(0,"no such instruction: `%s\'",5);\n          FUN_0002a980(uVar6,local_38);\n          return (byte *)0x0;\n        }\n      }" { (if_statement "if (pcVar10 == pcVar15 + -3) {\n          if (pcVar10[1] == 'd') {\n            if (pcVar10[2] == '8') {\n              DAT_00084098 = 1;\n              goto LAB_00045660;\n            }\n            if (pcVar10 == pcVar15 + -4) goto LAB_000456b1;\n          }\n        }\n        else if ((pcVar10 == pcVar15 + -4) && (pcVar10[1] == 'd')) {\nLAB_000456b1:\n          if ((pcVar10[2] == '3') && (pcVar10[3] == '2')) {\n            DAT_00084098 = 2;\n            goto LAB_00045660;\n          }\n        }" if (parenthesized_expression "(pcVar10 == pcVar15 + -3)" ( (binary_expression "pcVar10 == pcVar15 + -3" identifier == (binary_expression "pcVar15 + -3" identifier + number_literal)) )) (compound_statement "{\n          if (pcVar10[1] == 'd') {\n            if (pcVar10[2] == '8') {\n              DAT_00084098 = 1;\n              goto LAB_00045660;\n            }\n            if (pcVar10 == pcVar15 + -4) goto LAB_000456b1;\n          }\n        }" { (if_statement "if (pcVar10[1] == 'd') {\n            if (pcVar10[2] == '8') {\n              DAT_00084098 = 1;\n              goto LAB_00045660;\n            }\n            if (pcVar10 == pcVar15 + -4) goto LAB_000456b1;\n          }" if (parenthesized_expression "(pcVar10[1] == 'd')" ( (binary_expression "pcVar10[1] == 'd'" (subscript_expression "pcVar10[1]" identifier [ number_literal ]) == (char_literal "'d'" ' character ')) )) (compound_statement "{\n            if (pcVar10[2] == '8') {\n              DAT_00084098 = 1;\n              goto LAB_00045660;\n            }\n            if (pcVar10 == pcVar15 + -4) goto LAB_000456b1;\n          }" { (if_statement "if (pcVar10[2] == '8') {\n              DAT_00084098 = 1;\n              goto LAB_00045660;\n            }" if (parenthesized_expression "(pcVar10[2] == '8')" ( (binary_expression "pcVar10[2] == '8'" (subscript_expression "pcVar10[2]" identifier [ number_literal ]) == (char_literal "'8'" ' character ')) )) (compound_statement "{\n              DAT_00084098 = 1;\n              goto LAB_00045660;\n            }" { (expression_statement "DAT_00084098 = 1;" (assignment_expression "DAT_00084098 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_00045660;" goto statement_identifier ;) })) (if_statement "if (pcVar10 == pcVar15 + -4) goto LAB_000456b1;" if (parenthesized_expression "(pcVar10 == pcVar15 + -4)" ( (binary_expression "pcVar10 == pcVar15 + -4" identifier == (binary_expression "pcVar15 + -4" identifier + number_literal)) )) (goto_statement "goto LAB_000456b1;" goto statement_identifier ;)) })) }) (else_clause "else if ((pcVar10 == pcVar15 + -4) && (pcVar10[1] == 'd')) {\nLAB_000456b1:\n          if ((pcVar10[2] == '3') && (pcVar10[3] == '2')) {\n            DAT_00084098 = 2;\n            goto LAB_00045660;\n          }\n        }" else (if_statement "if ((pcVar10 == pcVar15 + -4) && (pcVar10[1] == 'd')) {\nLAB_000456b1:\n          if ((pcVar10[2] == '3') && (pcVar10[3] == '2')) {\n            DAT_00084098 = 2;\n            goto LAB_00045660;\n          }\n        }" if (parenthesized_expression "((pcVar10 == pcVar15 + -4) && (pcVar10[1] == 'd'))" ( (binary_expression "(pcVar10 == pcVar15 + -4) && (pcVar10[1] == 'd')" (parenthesized_expression "(pcVar10 == pcVar15 + -4)" ( (binary_expression "pcVar10 == pcVar15 + -4" identifier == (binary_expression "pcVar15 + -4" identifier + number_literal)) )) && (parenthesized_expression "(pcVar10[1] == 'd')" ( (binary_expression "pcVar10[1] == 'd'" (subscript_expression "pcVar10[1]" identifier [ number_literal ]) == (char_literal "'d'" ' character ')) ))) )) (compound_statement "{\nLAB_000456b1:\n          if ((pcVar10[2] == '3') && (pcVar10[3] == '2')) {\n            DAT_00084098 = 2;\n            goto LAB_00045660;\n          }\n        }" { (labeled_statement "LAB_000456b1:\n          if ((pcVar10[2] == '3') && (pcVar10[3] == '2')) {\n            DAT_00084098 = 2;\n            goto LAB_00045660;\n          }" statement_identifier : (if_statement "if ((pcVar10[2] == '3') && (pcVar10[3] == '2')) {\n            DAT_00084098 = 2;\n            goto LAB_00045660;\n          }" if (parenthesized_expression "((pcVar10[2] == '3') && (pcVar10[3] == '2'))" ( (binary_expression "(pcVar10[2] == '3') && (pcVar10[3] == '2')" (parenthesized_expression "(pcVar10[2] == '3')" ( (binary_expression "pcVar10[2] == '3'" (subscript_expression "pcVar10[2]" identifier [ number_literal ]) == (char_literal "'3'" ' character ')) )) && (parenthesized_expression "(pcVar10[3] == '2')" ( (binary_expression "pcVar10[3] == '2'" (subscript_expression "pcVar10[3]" identifier [ number_literal ]) == (char_literal "'2'" ' character ')) ))) )) (compound_statement "{\n            DAT_00084098 = 2;\n            goto LAB_00045660;\n          }" { (expression_statement "DAT_00084098 = 2;" (assignment_expression "DAT_00084098 = 2" identifier = number_literal) ;) (goto_statement "goto LAB_00045660;" goto statement_identifier ;) }))) })))) (expression_statement "cVar4 = pcVar15[-1];" (assignment_expression "cVar4 = pcVar15[-1]" identifier = (subscript_expression "pcVar15[-1]" identifier [ number_literal ])) ;) (expression_statement "piVar2 = DAT_00083f40;" (assignment_expression "piVar2 = DAT_00083f40" identifier = identifier) ;) (expression_statement "piVar9 = DAT_00083f40;" (assignment_expression "piVar9 = DAT_00083f40" identifier = identifier) ;) (switch_statement "switch(cVar4) {\n        case 'b':\n        case 'q':\n          break;\n        default:\n          goto LAB_000451c0;\n        case 'd':\ncode_r0x000455fd:\n          DAT_00083f40 = piVar9;\n          if (DAT_00083ed0 != 0) {\n            cVar4 = 'l';\n            if ((*param_2 == 'f') && (iVar8 = FUN_00043060(), iVar8 == 1)) {\n              cVar4 = 's';\n            }\n            break;\n          }\n          goto code_r0x000455d5;\n        case 'l':\n        case 's':\ncode_r0x000455e9:\n          DAT_00083f40 = piVar9;\n          if (DAT_00083ed0 != 0) goto code_r0x000455d5;\n          break;\n        case 'w':\ncode_r0x00045581:\n          cVar4 = 'w';\n          if ((DAT_00083ed0 != 0) && (*param_2 == 'f')) {\n            uVar11 = FUN_00043060();\n            cVar4 = (-((uVar11 & 2) == 0) & 4U) + 0x73;\n          }\n        }" switch (parenthesized_expression "(cVar4)" ( identifier )) (compound_statement "{\n        case 'b':\n        case 'q':\n          break;\n        default:\n          goto LAB_000451c0;\n        case 'd':\ncode_r0x000455fd:\n          DAT_00083f40 = piVar9;\n          if (DAT_00083ed0 != 0) {\n            cVar4 = 'l';\n            if ((*param_2 == 'f') && (iVar8 = FUN_00043060(), iVar8 == 1)) {\n              cVar4 = 's';\n            }\n            break;\n          }\n          goto code_r0x000455d5;\n        case 'l':\n        case 's':\ncode_r0x000455e9:\n          DAT_00083f40 = piVar9;\n          if (DAT_00083ed0 != 0) goto code_r0x000455d5;\n          break;\n        case 'w':\ncode_r0x00045581:\n          cVar4 = 'w';\n          if ((DAT_00083ed0 != 0) && (*param_2 == 'f')) {\n            uVar11 = FUN_00043060();\n            cVar4 = (-((uVar11 & 2) == 0) & 4U) + 0x73;\n          }\n        }" { (case_statement "case 'b':" case (char_literal "'b'" ' character ') :) (case_statement "case 'q':\n          break;" case (char_literal "'q'" ' character ') : (break_statement "break;" break ;)) (case_statement "default:\n          goto LAB_000451c0;" default : (goto_statement "goto LAB_000451c0;" goto statement_identifier ;)) (case_statement "case 'd':\ncode_r0x000455fd:\n          DAT_00083f40 = piVar9;\n          if (DAT_00083ed0 != 0) {\n            cVar4 = 'l';\n            if ((*param_2 == 'f') && (iVar8 = FUN_00043060(), iVar8 == 1)) {\n              cVar4 = 's';\n            }\n            break;\n          }\n          goto code_r0x000455d5;" case (char_literal "'d'" ' character ') : (labeled_statement "code_r0x000455fd:\n          DAT_00083f40 = piVar9;" statement_identifier : (expression_statement "DAT_00083f40 = piVar9;" (assignment_expression "DAT_00083f40 = piVar9" identifier = identifier) ;)) (if_statement "if (DAT_00083ed0 != 0) {\n            cVar4 = 'l';\n            if ((*param_2 == 'f') && (iVar8 = FUN_00043060(), iVar8 == 1)) {\n              cVar4 = 's';\n            }\n            break;\n          }" if (parenthesized_expression "(DAT_00083ed0 != 0)" ( (binary_expression "DAT_00083ed0 != 0" identifier != number_literal) )) (compound_statement "{\n            cVar4 = 'l';\n            if ((*param_2 == 'f') && (iVar8 = FUN_00043060(), iVar8 == 1)) {\n              cVar4 = 's';\n            }\n            break;\n          }" { (expression_statement "cVar4 = 'l';" (assignment_expression "cVar4 = 'l'" identifier = (char_literal "'l'" ' character ')) ;) (if_statement "if ((*param_2 == 'f') && (iVar8 = FUN_00043060(), iVar8 == 1)) {\n              cVar4 = 's';\n            }" if (parenthesized_expression "((*param_2 == 'f') && (iVar8 = FUN_00043060(), iVar8 == 1))" ( (binary_expression "(*param_2 == 'f') && (iVar8 = FUN_00043060(), iVar8 == 1)" (parenthesized_expression "(*param_2 == 'f')" ( (binary_expression "*param_2 == 'f'" (pointer_expression "*param_2" * identifier) == (char_literal "'f'" ' character ')) )) && (parenthesized_expression "(iVar8 = FUN_00043060(), iVar8 == 1)" ( (comma_expression "iVar8 = FUN_00043060(), iVar8 == 1" (assignment_expression "iVar8 = FUN_00043060()" identifier = (call_expression "FUN_00043060()" identifier (argument_list "()" ( )))) , (binary_expression "iVar8 == 1" identifier == number_literal)) ))) )) (compound_statement "{\n              cVar4 = 's';\n            }" { (expression_statement "cVar4 = 's';" (assignment_expression "cVar4 = 's'" identifier = (char_literal "'s'" ' character ')) ;) })) (break_statement "break;" break ;) })) (goto_statement "goto code_r0x000455d5;" goto statement_identifier ;)) (case_statement "case 'l':" case (char_literal "'l'" ' character ') :) (case_statement "case 's':\ncode_r0x000455e9:\n          DAT_00083f40 = piVar9;\n          if (DAT_00083ed0 != 0) goto code_r0x000455d5;\n          break;" case (char_literal "'s'" ' character ') : (labeled_statement "code_r0x000455e9:\n          DAT_00083f40 = piVar9;" statement_identifier : (expression_statement "DAT_00083f40 = piVar9;" (assignment_expression "DAT_00083f40 = piVar9" identifier = identifier) ;)) (if_statement "if (DAT_00083ed0 != 0) goto code_r0x000455d5;" if (parenthesized_expression "(DAT_00083ed0 != 0)" ( (binary_expression "DAT_00083ed0 != 0" identifier != number_literal) )) (goto_statement "goto code_r0x000455d5;" goto statement_identifier ;)) (break_statement "break;" break ;)) (case_statement "case 'w':\ncode_r0x00045581:\n          cVar4 = 'w';\n          if ((DAT_00083ed0 != 0) && (*param_2 == 'f')) {\n            uVar11 = FUN_00043060();\n            cVar4 = (-((uVar11 & 2) == 0) & 4U) + 0x73;\n          }" case (char_literal "'w'" ' character ') : (labeled_statement "code_r0x00045581:\n          cVar4 = 'w';" statement_identifier : (expression_statement "cVar4 = 'w';" (assignment_expression "cVar4 = 'w'" identifier = (char_literal "'w'" ' character ')) ;)) (if_statement "if ((DAT_00083ed0 != 0) && (*param_2 == 'f')) {\n            uVar11 = FUN_00043060();\n            cVar4 = (-((uVar11 & 2) == 0) & 4U) + 0x73;\n          }" if (parenthesized_expression "((DAT_00083ed0 != 0) && (*param_2 == 'f'))" ( (binary_expression "(DAT_00083ed0 != 0) && (*param_2 == 'f')" (parenthesized_expression "(DAT_00083ed0 != 0)" ( (binary_expression "DAT_00083ed0 != 0" identifier != number_literal) )) && (parenthesized_expression "(*param_2 == 'f')" ( (binary_expression "*param_2 == 'f'" (pointer_expression "*param_2" * identifier) == (char_literal "'f'" ' character ')) ))) )) (compound_statement "{\n            uVar11 = FUN_00043060();\n            cVar4 = (-((uVar11 & 2) == 0) & 4U) + 0x73;\n          }" { (expression_statement "uVar11 = FUN_00043060();" (assignment_expression "uVar11 = FUN_00043060()" identifier = (call_expression "FUN_00043060()" identifier (argument_list "()" ( )))) ;) (expression_statement "cVar4 = (-((uVar11 & 2) == 0) & 4U) + 0x73;" (assignment_expression "cVar4 = (-((uVar11 & 2) == 0) & 4U) + 0x73" identifier = (binary_expression "(-((uVar11 & 2) == 0) & 4U) + 0x73" (parenthesized_expression "(-((uVar11 & 2) == 0) & 4U)" ( (binary_expression "-((uVar11 & 2) == 0) & 4U" (unary_expression "-((uVar11 & 2) == 0)" - (parenthesized_expression "((uVar11 & 2) == 0)" ( (binary_expression "(uVar11 & 2) == 0" (parenthesized_expression "(uVar11 & 2)" ( (binary_expression "uVar11 & 2" identifier & number_literal) )) == number_literal) ))) & number_literal) )) + number_literal)) ;) }))) })) (labeled_statement "code_r0x000455ae:\n        DAT_00083fb8 = cVar4;" statement_identifier : (expression_statement "DAT_00083fb8 = cVar4;" (assignment_expression "DAT_00083fb8 = cVar4" identifier = identifier) ;)) (expression_statement "pcVar15[-1] = '\0';" (assignment_expression "pcVar15[-1] = '\0'" (subscript_expression "pcVar15[-1]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "DAT_00083f40 = (int *)FUN_00024180(DAT_00083e60,param_2);" (assignment_expression "DAT_00083f40 = (int *)FUN_00024180(DAT_00083e60,param_2)" identifier = (cast_expression "(int *)FUN_00024180(DAT_00083e60,param_2)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00024180(DAT_00083e60,param_2)" identifier (argument_list "(DAT_00083e60,param_2)" ( identifier , identifier ))))) ;) (labeled_statement "code_r0x000455d5:\n        piVar2 = DAT_00083f40;" statement_identifier : (expression_statement "piVar2 = DAT_00083f40;" (assignment_expression "piVar2 = DAT_00083f40" identifier = identifier) ;)) (if_statement "if (DAT_00083f40 == (int *)0x0) {\nLAB_000451c0:\n          DAT_00083f40 = piVar2;\n          uVar6 = dcgettext(0,"no such instruction: `%s\'",5);\n          FUN_0002a980(uVar6,local_38);\n          return (byte *)0x0;\n        }" if (parenthesized_expression "(DAT_00083f40 == (int *)0x0)" ( (binary_expression "DAT_00083f40 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_000451c0:\n          DAT_00083f40 = piVar2;\n          uVar6 = dcgettext(0,"no such instruction: `%s\'",5);\n          FUN_0002a980(uVar6,local_38);\n          return (byte *)0x0;\n        }" { (labeled_statement "LAB_000451c0:\n          DAT_00083f40 = piVar2;" statement_identifier : (expression_statement "DAT_00083f40 = piVar2;" (assignment_expression "DAT_00083f40 = piVar2" identifier = identifier) ;)) (expression_statement "uVar6 = dcgettext(0,"no such instruction: `%s\'",5);" (assignment_expression "uVar6 = dcgettext(0,"no such instruction: `%s\'",5)" identifier = (call_expression "dcgettext(0,"no such instruction: `%s\'",5)" identifier (argument_list "(0,"no such instruction: `%s\'",5)" ( number_literal , (string_literal ""no such instruction: `%s\'"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "FUN_0002a980(uVar6,local_38);" (call_expression "FUN_0002a980(uVar6,local_38)" identifier (argument_list "(uVar6,local_38)" ( identifier , identifier ))) ;) (return_statement "return (byte *)0x0;" return (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) })))) (expression_statement "puVar16 = (undefined4 *)*DAT_00083f40;" (assignment_expression "puVar16 = (undefined4 *)*DAT_00083f40" identifier = (cast_expression "(undefined4 *)*DAT_00083f40" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*DAT_00083f40" * identifier))) ;) (expression_statement "bVar3 = *pbVar13;" (assignment_expression "bVar3 = *pbVar13" identifier = (pointer_expression "*pbVar13" * identifier)) ;) (labeled_statement "LAB_000454eb:\n      if ((*(byte *)(puVar16 + 9) & 0xa0) == 0) {\nLAB_00045532:\n        if (bVar3 != 0x2c) goto LAB_00045264;\n      }\n      else {\n        if (bVar3 != 0x2c) goto LAB_0004526c;\n        if (pbVar13[1] == 0x70) {\n          if (pbVar13[2] == 0x74) {\n            iVar8 = FUN_0003fd30();\n          }\n          else {\n            if (pbVar13[2] != 0x6e) goto LAB_00045222;\n            iVar8 = FUN_0003fd30();\n          }\n          if (iVar8 == 0) {\n            return (byte *)0x0;\n          }\n          bVar3 = pbVar13[3];\n          pbVar13 = pbVar13 + 3;\n          goto LAB_00045532;\n        }\n      }" statement_identifier : (if_statement "if ((*(byte *)(puVar16 + 9) & 0xa0) == 0) {\nLAB_00045532:\n        if (bVar3 != 0x2c) goto LAB_00045264;\n      }\n      else {\n        if (bVar3 != 0x2c) goto LAB_0004526c;\n        if (pbVar13[1] == 0x70) {\n          if (pbVar13[2] == 0x74) {\n            iVar8 = FUN_0003fd30();\n          }\n          else {\n            if (pbVar13[2] != 0x6e) goto LAB_00045222;\n            iVar8 = FUN_0003fd30();\n          }\n          if (iVar8 == 0) {\n            return (byte *)0x0;\n          }\n          bVar3 = pbVar13[3];\n          pbVar13 = pbVar13 + 3;\n          goto LAB_00045532;\n        }\n      }" if (parenthesized_expression "((*(byte *)(puVar16 + 9) & 0xa0) == 0)" ( (binary_expression "(*(byte *)(puVar16 + 9) & 0xa0) == 0" (parenthesized_expression "(*(byte *)(puVar16 + 9) & 0xa0)" ( (binary_expression "*(byte *)(puVar16 + 9) & 0xa0" (pointer_expression "*(byte *)(puVar16 + 9)" * (cast_expression "(byte *)(puVar16 + 9)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + 9)" ( (binary_expression "puVar16 + 9" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\nLAB_00045532:\n        if (bVar3 != 0x2c) goto LAB_00045264;\n      }" { (labeled_statement "LAB_00045532:\n        if (bVar3 != 0x2c) goto LAB_00045264;" statement_identifier : (if_statement "if (bVar3 != 0x2c) goto LAB_00045264;" if (parenthesized_expression "(bVar3 != 0x2c)" ( (binary_expression "bVar3 != 0x2c" identifier != number_literal) )) (goto_statement "goto LAB_00045264;" goto statement_identifier ;))) }) (else_clause "else {\n        if (bVar3 != 0x2c) goto LAB_0004526c;\n        if (pbVar13[1] == 0x70) {\n          if (pbVar13[2] == 0x74) {\n            iVar8 = FUN_0003fd30();\n          }\n          else {\n            if (pbVar13[2] != 0x6e) goto LAB_00045222;\n            iVar8 = FUN_0003fd30();\n          }\n          if (iVar8 == 0) {\n            return (byte *)0x0;\n          }\n          bVar3 = pbVar13[3];\n          pbVar13 = pbVar13 + 3;\n          goto LAB_00045532;\n        }\n      }" else (compound_statement "{\n        if (bVar3 != 0x2c) goto LAB_0004526c;\n        if (pbVar13[1] == 0x70) {\n          if (pbVar13[2] == 0x74) {\n            iVar8 = FUN_0003fd30();\n          }\n          else {\n            if (pbVar13[2] != 0x6e) goto LAB_00045222;\n            iVar8 = FUN_0003fd30();\n          }\n          if (iVar8 == 0) {\n            return (byte *)0x0;\n          }\n          bVar3 = pbVar13[3];\n          pbVar13 = pbVar13 + 3;\n          goto LAB_00045532;\n        }\n      }" { (if_statement "if (bVar3 != 0x2c) goto LAB_0004526c;" if (parenthesized_expression "(bVar3 != 0x2c)" ( (binary_expression "bVar3 != 0x2c" identifier != number_literal) )) (goto_statement "goto LAB_0004526c;" goto statement_identifier ;)) (if_statement "if (pbVar13[1] == 0x70) {\n          if (pbVar13[2] == 0x74) {\n            iVar8 = FUN_0003fd30();\n          }\n          else {\n            if (pbVar13[2] != 0x6e) goto LAB_00045222;\n            iVar8 = FUN_0003fd30();\n          }\n          if (iVar8 == 0) {\n            return (byte *)0x0;\n          }\n          bVar3 = pbVar13[3];\n          pbVar13 = pbVar13 + 3;\n          goto LAB_00045532;\n        }" if (parenthesized_expression "(pbVar13[1] == 0x70)" ( (binary_expression "pbVar13[1] == 0x70" (subscript_expression "pbVar13[1]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n          if (pbVar13[2] == 0x74) {\n            iVar8 = FUN_0003fd30();\n          }\n          else {\n            if (pbVar13[2] != 0x6e) goto LAB_00045222;\n            iVar8 = FUN_0003fd30();\n          }\n          if (iVar8 == 0) {\n            return (byte *)0x0;\n          }\n          bVar3 = pbVar13[3];\n          pbVar13 = pbVar13 + 3;\n          goto LAB_00045532;\n        }" { (if_statement "if (pbVar13[2] == 0x74) {\n            iVar8 = FUN_0003fd30();\n          }\n          else {\n            if (pbVar13[2] != 0x6e) goto LAB_00045222;\n            iVar8 = FUN_0003fd30();\n          }" if (parenthesized_expression "(pbVar13[2] == 0x74)" ( (binary_expression "pbVar13[2] == 0x74" (subscript_expression "pbVar13[2]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n            iVar8 = FUN_0003fd30();\n          }" { (expression_statement "iVar8 = FUN_0003fd30();" (assignment_expression "iVar8 = FUN_0003fd30()" identifier = (call_expression "FUN_0003fd30()" identifier (argument_list "()" ( )))) ;) }) (else_clause "else {\n            if (pbVar13[2] != 0x6e) goto LAB_00045222;\n            iVar8 = FUN_0003fd30();\n          }" else (compound_statement "{\n            if (pbVar13[2] != 0x6e) goto LAB_00045222;\n            iVar8 = FUN_0003fd30();\n          }" { (if_statement "if (pbVar13[2] != 0x6e) goto LAB_00045222;" if (parenthesized_expression "(pbVar13[2] != 0x6e)" ( (binary_expression "pbVar13[2] != 0x6e" (subscript_expression "pbVar13[2]" identifier [ number_literal ]) != number_literal) )) (goto_statement "goto LAB_00045222;" goto statement_identifier ;)) (expression_statement "iVar8 = FUN_0003fd30();" (assignment_expression "iVar8 = FUN_0003fd30()" identifier = (call_expression "FUN_0003fd30()" identifier (argument_list "()" ( )))) ;) }))) (if_statement "if (iVar8 == 0) {\n            return (byte *)0x0;\n          }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\n            return (byte *)0x0;\n          }" { (return_statement "return (byte *)0x0;" return (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) (expression_statement "bVar3 = pbVar13[3];" (assignment_expression "bVar3 = pbVar13[3]" identifier = (subscript_expression "pbVar13[3]" identifier [ number_literal ])) ;) (expression_statement "pbVar13 = pbVar13 + 3;" (assignment_expression "pbVar13 = pbVar13 + 3" identifier = (binary_expression "pbVar13 + 3" identifier + number_literal)) ;) (goto_statement "goto LAB_00045532;" goto statement_identifier ;) })) })))) (labeled_statement "LAB_00045222:\n      uVar6 = FUN_00043af0();" statement_identifier : (expression_statement "uVar6 = FUN_00043af0();" (assignment_expression "uVar6 = FUN_00043af0()" identifier = (call_expression "FUN_00043af0()" identifier (argument_list "()" ( )))) ;)) (expression_statement "uVar5 = dcgettext(0,"invalid character %s in mnemonic",5);" (assignment_expression "uVar5 = dcgettext(0,"invalid character %s in mnemonic",5)" identifier = (call_expression "dcgettext(0,"invalid character %s in mnemonic",5)" identifier (argument_list "(0,"invalid character %s in mnemonic",5)" ( number_literal , (string_literal ""invalid character %s in mnemonic"" " string_content ") , number_literal )))) ;) (goto_statement "goto LAB_000451a1;" goto statement_identifier ;) })) (expression_statement "puVar16 = (undefined4 *)*DAT_00083f40;" (assignment_expression "puVar16 = (undefined4 *)*DAT_00083f40" identifier = (cast_expression "(undefined4 *)*DAT_00083f40" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*DAT_00083f40" * identifier))) ;) (if_statement "if ((*(byte *)(puVar16 + 10) & 0x10) == 0) goto LAB_000454eb;" if (parenthesized_expression "((*(byte *)(puVar16 + 10) & 0x10) == 0)" ( (binary_expression "(*(byte *)(puVar16 + 10) & 0x10) == 0" (parenthesized_expression "(*(byte *)(puVar16 + 10) & 0x10)" ( (binary_expression "*(byte *)(puVar16 + 10) & 0x10" (pointer_expression "*(byte *)(puVar16 + 10)" * (cast_expression "(byte *)(puVar16 + 10)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + 10)" ( (binary_expression "puVar16 + 10" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_000454eb;" goto statement_identifier ;)) (expression_statement "local_20 = (char)puVar16[8];" (assignment_expression "local_20 = (char)puVar16[8]" identifier = (cast_expression "(char)puVar16[8]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "puVar16[8]" identifier [ number_literal ]))) ;) (if_statement "if (DAT_00083ee8 == 2) {\n      if (local_20 < '\0') {\n        uVar6 = *puVar16;\n        goto LAB_00045352;\n      }\n    }\n    else {\n      if ((puVar16[8] & 0x40) != 0) {\n        uVar6 = *puVar16;\n        goto LAB_00045188;\n      }\n      if (((*(byte *)((int)puVar16 + 0x25) & 0x18) != 0) &&\n         ((bool)(*(byte *)((int)puVar16 + 0x25) >> 4 & 1) != (DAT_00083ee8 == 1))) {\n        uVar6 = *puVar16;\n        uVar5 = dcgettext(0,"redundant %s prefix",5);\n        FUN_0002a980(uVar5,uVar6);\n        return (byte *)0x0;\n      }\n    }" if (parenthesized_expression "(DAT_00083ee8 == 2)" ( (binary_expression "DAT_00083ee8 == 2" identifier == number_literal) )) (compound_statement "{\n      if (local_20 < '\0') {\n        uVar6 = *puVar16;\n        goto LAB_00045352;\n      }\n    }" { (if_statement "if (local_20 < '\0') {\n        uVar6 = *puVar16;\n        goto LAB_00045352;\n      }" if (parenthesized_expression "(local_20 < '\0')" ( (binary_expression "local_20 < '\0'" identifier < (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        uVar6 = *puVar16;\n        goto LAB_00045352;\n      }" { (expression_statement "uVar6 = *puVar16;" (assignment_expression "uVar6 = *puVar16" identifier = (pointer_expression "*puVar16" * identifier)) ;) (goto_statement "goto LAB_00045352;" goto statement_identifier ;) })) }) (else_clause "else {\n      if ((puVar16[8] & 0x40) != 0) {\n        uVar6 = *puVar16;\n        goto LAB_00045188;\n      }\n      if (((*(byte *)((int)puVar16 + 0x25) & 0x18) != 0) &&\n         ((bool)(*(byte *)((int)puVar16 + 0x25) >> 4 & 1) != (DAT_00083ee8 == 1))) {\n        uVar6 = *puVar16;\n        uVar5 = dcgettext(0,"redundant %s prefix",5);\n        FUN_0002a980(uVar5,uVar6);\n        return (byte *)0x0;\n      }\n    }" else (compound_statement "{\n      if ((puVar16[8] & 0x40) != 0) {\n        uVar6 = *puVar16;\n        goto LAB_00045188;\n      }\n      if (((*(byte *)((int)puVar16 + 0x25) & 0x18) != 0) &&\n         ((bool)(*(byte *)((int)puVar16 + 0x25) >> 4 & 1) != (DAT_00083ee8 == 1))) {\n        uVar6 = *puVar16;\n        uVar5 = dcgettext(0,"redundant %s prefix",5);\n        FUN_0002a980(uVar5,uVar6);\n        return (byte *)0x0;\n      }\n    }" { (if_statement "if ((puVar16[8] & 0x40) != 0) {\n        uVar6 = *puVar16;\n        goto LAB_00045188;\n      }" if (parenthesized_expression "((puVar16[8] & 0x40) != 0)" ( (binary_expression "(puVar16[8] & 0x40) != 0" (parenthesized_expression "(puVar16[8] & 0x40)" ( (binary_expression "puVar16[8] & 0x40" (subscript_expression "puVar16[8]" identifier [ number_literal ]) & number_literal) )) != number_literal) )) (compound_statement "{\n        uVar6 = *puVar16;\n        goto LAB_00045188;\n      }" { (expression_statement "uVar6 = *puVar16;" (assignment_expression "uVar6 = *puVar16" identifier = (pointer_expression "*puVar16" * identifier)) ;) (goto_statement "goto LAB_00045188;" goto statement_identifier ;) })) (if_statement "if (((*(byte *)((int)puVar16 + 0x25) & 0x18) != 0) &&\n         ((bool)(*(byte *)((int)puVar16 + 0x25) >> 4 & 1) != (DAT_00083ee8 == 1))) {\n        uVar6 = *puVar16;\n        uVar5 = dcgettext(0,"redundant %s prefix",5);\n        FUN_0002a980(uVar5,uVar6);\n        return (byte *)0x0;\n      }" if (parenthesized_expression "(((*(byte *)((int)puVar16 + 0x25) & 0x18) != 0) &&\n         ((bool)(*(byte *)((int)puVar16 + 0x25) >> 4 & 1) != (DAT_00083ee8 == 1)))" ( (binary_expression "((*(byte *)((int)puVar16 + 0x25) & 0x18) != 0) &&\n         ((bool)(*(byte *)((int)puVar16 + 0x25) >> 4 & 1) != (DAT_00083ee8 == 1))" (parenthesized_expression "((*(byte *)((int)puVar16 + 0x25) & 0x18) != 0)" ( (binary_expression "(*(byte *)((int)puVar16 + 0x25) & 0x18) != 0" (parenthesized_expression "(*(byte *)((int)puVar16 + 0x25) & 0x18)" ( (binary_expression "*(byte *)((int)puVar16 + 0x25) & 0x18" (pointer_expression "*(byte *)((int)puVar16 + 0x25)" * (cast_expression "(byte *)((int)puVar16 + 0x25)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar16 + 0x25)" ( (binary_expression "(int)puVar16 + 0x25" (cast_expression "(int)puVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) != number_literal) )) && (parenthesized_expression "((bool)(*(byte *)((int)puVar16 + 0x25) >> 4 & 1) != (DAT_00083ee8 == 1))" ( (binary_expression "(bool)(*(byte *)((int)puVar16 + 0x25) >> 4 & 1) != (DAT_00083ee8 == 1)" (cast_expression "(bool)(*(byte *)((int)puVar16 + 0x25) >> 4 & 1)" ( (type_descriptor "bool" primitive_type) ) (parenthesized_expression "(*(byte *)((int)puVar16 + 0x25) >> 4 & 1)" ( (binary_expression "*(byte *)((int)puVar16 + 0x25) >> 4 & 1" (binary_expression "*(byte *)((int)puVar16 + 0x25) >> 4" (pointer_expression "*(byte *)((int)puVar16 + 0x25)" * (cast_expression "(byte *)((int)puVar16 + 0x25)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar16 + 0x25)" ( (binary_expression "(int)puVar16 + 0x25" (cast_expression "(int)puVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) >> number_literal) & number_literal) ))) != (parenthesized_expression "(DAT_00083ee8 == 1)" ( (binary_expression "DAT_00083ee8 == 1" identifier == number_literal) ))) ))) )) (compound_statement "{\n        uVar6 = *puVar16;\n        uVar5 = dcgettext(0,"redundant %s prefix",5);\n        FUN_0002a980(uVar5,uVar6);\n        return (byte *)0x0;\n      }" { (expression_statement "uVar6 = *puVar16;" (assignment_expression "uVar6 = *puVar16" identifier = (pointer_expression "*puVar16" * identifier)) ;) (expression_statement "uVar5 = dcgettext(0,"redundant %s prefix",5);" (assignment_expression "uVar5 = dcgettext(0,"redundant %s prefix",5)" identifier = (call_expression "dcgettext(0,"redundant %s prefix",5)" identifier (argument_list "(0,"redundant %s prefix",5)" ( number_literal , (string_literal ""redundant %s prefix"" " string_content ") , number_literal )))) ;) (expression_statement "FUN_0002a980(uVar5,uVar6);" (call_expression "FUN_0002a980(uVar5,uVar6)" identifier (argument_list "(uVar5,uVar6)" ( identifier , identifier ))) ;) (return_statement "return (byte *)0x0;" return (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) }))) (if_statement "if (*(char *)(puVar16 + 4) == '\0') {\n      uVar6 = DAT_000840a8;\n      uVar5 = DAT_000840ac;\n      switch(puVar16[2]) {\n      case 0:\n        DAT_00084098 = 1;\n        break;\n      case 1:\n        DAT_00084098 = 2;\n        break;\n      case 2:\n        DAT_00084094 = 1;\n        break;\n      case 3:\n        DAT_00084094 = 2;\n        break;\n      case 4:\n        DAT_000840a4 = 1;\n        break;\n      case 5:\n        DAT_000840a4 = 2;\n        break;\n      case 6:\n        DAT_000840a4 = 3;\n        break;\n      case 7:\n        uRam0008409c = 1;\n        break;\n      case 8:\n        uRam000840a0 = 1;\n        break;\n      default:\n                    /* WARNING: Subroutine does not return */\n        FUN_0002aaa0("../../gas/config/tc-i386.c",0x1127,"parse_insn",pbVar13);\n      }\n    }\n    else {\n      iVar8 = FUN_0003fd30();\n      uVar6 = DAT_000840a8;\n      uVar5 = DAT_000840ac;\n      if (iVar8 == 2) {\n        puVar16 = (undefined4 *)*DAT_00083f40;\n        uVar1 = *puVar16;\n        uVar5 = uVar1;\n        if (((*(byte *)((int)puVar16 + 0x1b) & 0x10) == 0) &&\n           (uVar6 = uVar1, uVar5 = DAT_000840ac, (*(byte *)(puVar16 + 7) & 1) != 0)) {\n          uVar6 = DAT_000840a8;\n          DAT_000840b0 = uVar1;\n        }\n      }\n      else if (iVar8 == 3) {\n        if ((*(byte *)(*DAT_00083f40 + 0x1f) & 8) != 0) {\n          DAT_000840b4 = *(undefined4 *)*DAT_00083f40;\n        }\n      }\n      else if (iVar8 == 0) {\n        return (byte *)0x0;\n      }\n    }" if (parenthesized_expression "(*(char *)(puVar16 + 4) == '\0')" ( (binary_expression "*(char *)(puVar16 + 4) == '\0'" (pointer_expression "*(char *)(puVar16 + 4)" * (cast_expression "(char *)(puVar16 + 4)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + 4)" ( (binary_expression "puVar16 + 4" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      uVar6 = DAT_000840a8;\n      uVar5 = DAT_000840ac;\n      switch(puVar16[2]) {\n      case 0:\n        DAT_00084098 = 1;\n        break;\n      case 1:\n        DAT_00084098 = 2;\n        break;\n      case 2:\n        DAT_00084094 = 1;\n        break;\n      case 3:\n        DAT_00084094 = 2;\n        break;\n      case 4:\n        DAT_000840a4 = 1;\n        break;\n      case 5:\n        DAT_000840a4 = 2;\n        break;\n      case 6:\n        DAT_000840a4 = 3;\n        break;\n      case 7:\n        uRam0008409c = 1;\n        break;\n      case 8:\n        uRam000840a0 = 1;\n        break;\n      default:\n                    /* WARNING: Subroutine does not return */\n        FUN_0002aaa0("../../gas/config/tc-i386.c",0x1127,"parse_insn",pbVar13);\n      }\n    }" { (expression_statement "uVar6 = DAT_000840a8;" (assignment_expression "uVar6 = DAT_000840a8" identifier = identifier) ;) (expression_statement "uVar5 = DAT_000840ac;" (assignment_expression "uVar5 = DAT_000840ac" identifier = identifier) ;) (switch_statement "switch(puVar16[2]) {\n      case 0:\n        DAT_00084098 = 1;\n        break;\n      case 1:\n        DAT_00084098 = 2;\n        break;\n      case 2:\n        DAT_00084094 = 1;\n        break;\n      case 3:\n        DAT_00084094 = 2;\n        break;\n      case 4:\n        DAT_000840a4 = 1;\n        break;\n      case 5:\n        DAT_000840a4 = 2;\n        break;\n      case 6:\n        DAT_000840a4 = 3;\n        break;\n      case 7:\n        uRam0008409c = 1;\n        break;\n      case 8:\n        uRam000840a0 = 1;\n        break;\n      default:\n                    /* WARNING: Subroutine does not return */\n        FUN_0002aaa0("../../gas/config/tc-i386.c",0x1127,"parse_insn",pbVar13);\n      }" switch (parenthesized_expression "(puVar16[2])" ( (subscript_expression "puVar16[2]" identifier [ number_literal ]) )) (compound_statement "{\n      case 0:\n        DAT_00084098 = 1;\n        break;\n      case 1:\n        DAT_00084098 = 2;\n        break;\n      case 2:\n        DAT_00084094 = 1;\n        break;\n      case 3:\n        DAT_00084094 = 2;\n        break;\n      case 4:\n        DAT_000840a4 = 1;\n        break;\n      case 5:\n        DAT_000840a4 = 2;\n        break;\n      case 6:\n        DAT_000840a4 = 3;\n        break;\n      case 7:\n        uRam0008409c = 1;\n        break;\n      case 8:\n        uRam000840a0 = 1;\n        break;\n      default:\n                    /* WARNING: Subroutine does not return */\n        FUN_0002aaa0("../../gas/config/tc-i386.c",0x1127,"parse_insn",pbVar13);\n      }" { (case_statement "case 0:\n        DAT_00084098 = 1;\n        break;" case number_literal : (expression_statement "DAT_00084098 = 1;" (assignment_expression "DAT_00084098 = 1" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 1:\n        DAT_00084098 = 2;\n        break;" case number_literal : (expression_statement "DAT_00084098 = 2;" (assignment_expression "DAT_00084098 = 2" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 2:\n        DAT_00084094 = 1;\n        break;" case number_literal : (expression_statement "DAT_00084094 = 1;" (assignment_expression "DAT_00084094 = 1" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 3:\n        DAT_00084094 = 2;\n        break;" case number_literal : (expression_statement "DAT_00084094 = 2;" (assignment_expression "DAT_00084094 = 2" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 4:\n        DAT_000840a4 = 1;\n        break;" case number_literal : (expression_statement "DAT_000840a4 = 1;" (assignment_expression "DAT_000840a4 = 1" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 5:\n        DAT_000840a4 = 2;\n        break;" case number_literal : (expression_statement "DAT_000840a4 = 2;" (assignment_expression "DAT_000840a4 = 2" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 6:\n        DAT_000840a4 = 3;\n        break;" case number_literal : (expression_statement "DAT_000840a4 = 3;" (assignment_expression "DAT_000840a4 = 3" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 7:\n        uRam0008409c = 1;\n        break;" case number_literal : (expression_statement "uRam0008409c = 1;" (assignment_expression "uRam0008409c = 1" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 8:\n        uRam000840a0 = 1;\n        break;" case number_literal : (expression_statement "uRam000840a0 = 1;" (assignment_expression "uRam000840a0 = 1" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "default:\n                    /* WARNING: Subroutine does not return */\n        FUN_0002aaa0("../../gas/config/tc-i386.c",0x1127,"parse_insn",pbVar13);" default : comment (expression_statement "FUN_0002aaa0("../../gas/config/tc-i386.c",0x1127,"parse_insn",pbVar13);" (call_expression "FUN_0002aaa0("../../gas/config/tc-i386.c",0x1127,"parse_insn",pbVar13)" identifier (argument_list "("../../gas/config/tc-i386.c",0x1127,"parse_insn",pbVar13)" ( (string_literal ""../../gas/config/tc-i386.c"" " string_content ") , number_literal , (string_literal ""parse_insn"" " string_content ") , identifier ))) ;)) })) }) (else_clause "else {\n      iVar8 = FUN_0003fd30();\n      uVar6 = DAT_000840a8;\n      uVar5 = DAT_000840ac;\n      if (iVar8 == 2) {\n        puVar16 = (undefined4 *)*DAT_00083f40;\n        uVar1 = *puVar16;\n        uVar5 = uVar1;\n        if (((*(byte *)((int)puVar16 + 0x1b) & 0x10) == 0) &&\n           (uVar6 = uVar1, uVar5 = DAT_000840ac, (*(byte *)(puVar16 + 7) & 1) != 0)) {\n          uVar6 = DAT_000840a8;\n          DAT_000840b0 = uVar1;\n        }\n      }\n      else if (iVar8 == 3) {\n        if ((*(byte *)(*DAT_00083f40 + 0x1f) & 8) != 0) {\n          DAT_000840b4 = *(undefined4 *)*DAT_00083f40;\n        }\n      }\n      else if (iVar8 == 0) {\n        return (byte *)0x0;\n      }\n    }" else (compound_statement "{\n      iVar8 = FUN_0003fd30();\n      uVar6 = DAT_000840a8;\n      uVar5 = DAT_000840ac;\n      if (iVar8 == 2) {\n        puVar16 = (undefined4 *)*DAT_00083f40;\n        uVar1 = *puVar16;\n        uVar5 = uVar1;\n        if (((*(byte *)((int)puVar16 + 0x1b) & 0x10) == 0) &&\n           (uVar6 = uVar1, uVar5 = DAT_000840ac, (*(byte *)(puVar16 + 7) & 1) != 0)) {\n          uVar6 = DAT_000840a8;\n          DAT_000840b0 = uVar1;\n        }\n      }\n      else if (iVar8 == 3) {\n        if ((*(byte *)(*DAT_00083f40 + 0x1f) & 8) != 0) {\n          DAT_000840b4 = *(undefined4 *)*DAT_00083f40;\n        }\n      }\n      else if (iVar8 == 0) {\n        return (byte *)0x0;\n      }\n    }" { (expression_statement "iVar8 = FUN_0003fd30();" (assignment_expression "iVar8 = FUN_0003fd30()" identifier = (call_expression "FUN_0003fd30()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar6 = DAT_000840a8;" (assignment_expression "uVar6 = DAT_000840a8" identifier = identifier) ;) (expression_statement "uVar5 = DAT_000840ac;" (assignment_expression "uVar5 = DAT_000840ac" identifier = identifier) ;) (if_statement "if (iVar8 == 2) {\n        puVar16 = (undefined4 *)*DAT_00083f40;\n        uVar1 = *puVar16;\n        uVar5 = uVar1;\n        if (((*(byte *)((int)puVar16 + 0x1b) & 0x10) == 0) &&\n           (uVar6 = uVar1, uVar5 = DAT_000840ac, (*(byte *)(puVar16 + 7) & 1) != 0)) {\n          uVar6 = DAT_000840a8;\n          DAT_000840b0 = uVar1;\n        }\n      }\n      else if (iVar8 == 3) {\n        if ((*(byte *)(*DAT_00083f40 + 0x1f) & 8) != 0) {\n          DAT_000840b4 = *(undefined4 *)*DAT_00083f40;\n        }\n      }\n      else if (iVar8 == 0) {\n        return (byte *)0x0;\n      }" if (parenthesized_expression "(iVar8 == 2)" ( (binary_expression "iVar8 == 2" identifier == number_literal) )) (compound_statement "{\n        puVar16 = (undefined4 *)*DAT_00083f40;\n        uVar1 = *puVar16;\n        uVar5 = uVar1;\n        if (((*(byte *)((int)puVar16 + 0x1b) & 0x10) == 0) &&\n           (uVar6 = uVar1, uVar5 = DAT_000840ac, (*(byte *)(puVar16 + 7) & 1) != 0)) {\n          uVar6 = DAT_000840a8;\n          DAT_000840b0 = uVar1;\n        }\n      }" { (expression_statement "puVar16 = (undefined4 *)*DAT_00083f40;" (assignment_expression "puVar16 = (undefined4 *)*DAT_00083f40" identifier = (cast_expression "(undefined4 *)*DAT_00083f40" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*DAT_00083f40" * identifier))) ;) (expression_statement "uVar1 = *puVar16;" (assignment_expression "uVar1 = *puVar16" identifier = (pointer_expression "*puVar16" * identifier)) ;) (expression_statement "uVar5 = uVar1;" (assignment_expression "uVar5 = uVar1" identifier = identifier) ;) (if_statement "if (((*(byte *)((int)puVar16 + 0x1b) & 0x10) == 0) &&\n           (uVar6 = uVar1, uVar5 = DAT_000840ac, (*(byte *)(puVar16 + 7) & 1) != 0)) {\n          uVar6 = DAT_000840a8;\n          DAT_000840b0 = uVar1;\n        }" if (parenthesized_expression "(((*(byte *)((int)puVar16 + 0x1b) & 0x10) == 0) &&\n           (uVar6 = uVar1, uVar5 = DAT_000840ac, (*(byte *)(puVar16 + 7) & 1) != 0))" ( (binary_expression "((*(byte *)((int)puVar16 + 0x1b) & 0x10) == 0) &&\n           (uVar6 = uVar1, uVar5 = DAT_000840ac, (*(byte *)(puVar16 + 7) & 1) != 0)" (parenthesized_expression "((*(byte *)((int)puVar16 + 0x1b) & 0x10) == 0)" ( (binary_expression "(*(byte *)((int)puVar16 + 0x1b) & 0x10) == 0" (parenthesized_expression "(*(byte *)((int)puVar16 + 0x1b) & 0x10)" ( (binary_expression "*(byte *)((int)puVar16 + 0x1b) & 0x10" (pointer_expression "*(byte *)((int)puVar16 + 0x1b)" * (cast_expression "(byte *)((int)puVar16 + 0x1b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar16 + 0x1b)" ( (binary_expression "(int)puVar16 + 0x1b" (cast_expression "(int)puVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) )) && (parenthesized_expression "(uVar6 = uVar1, uVar5 = DAT_000840ac, (*(byte *)(puVar16 + 7) & 1) != 0)" ( (comma_expression "uVar6 = uVar1, uVar5 = DAT_000840ac, (*(byte *)(puVar16 + 7) & 1) != 0" (assignment_expression "uVar6 = uVar1" identifier = identifier) , (comma_expression "uVar5 = DAT_000840ac, (*(byte *)(puVar16 + 7) & 1) != 0" (assignment_expression "uVar5 = DAT_000840ac" identifier = identifier) , (binary_expression "(*(byte *)(puVar16 + 7) & 1) != 0" (parenthesized_expression "(*(byte *)(puVar16 + 7) & 1)" ( (binary_expression "*(byte *)(puVar16 + 7) & 1" (pointer_expression "*(byte *)(puVar16 + 7)" * (cast_expression "(byte *)(puVar16 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + 7)" ( (binary_expression "puVar16 + 7" identifier + number_literal) )))) & number_literal) )) != number_literal))) ))) )) (compound_statement "{\n          uVar6 = DAT_000840a8;\n          DAT_000840b0 = uVar1;\n        }" { (expression_statement "uVar6 = DAT_000840a8;" (assignment_expression "uVar6 = DAT_000840a8" identifier = identifier) ;) (expression_statement "DAT_000840b0 = uVar1;" (assignment_expression "DAT_000840b0 = uVar1" identifier = identifier) ;) })) }) (else_clause "else if (iVar8 == 3) {\n        if ((*(byte *)(*DAT_00083f40 + 0x1f) & 8) != 0) {\n          DAT_000840b4 = *(undefined4 *)*DAT_00083f40;\n        }\n      }\n      else if (iVar8 == 0) {\n        return (byte *)0x0;\n      }" else (if_statement "if (iVar8 == 3) {\n        if ((*(byte *)(*DAT_00083f40 + 0x1f) & 8) != 0) {\n          DAT_000840b4 = *(undefined4 *)*DAT_00083f40;\n        }\n      }\n      else if (iVar8 == 0) {\n        return (byte *)0x0;\n      }" if (parenthesized_expression "(iVar8 == 3)" ( (binary_expression "iVar8 == 3" identifier == number_literal) )) (compound_statement "{\n        if ((*(byte *)(*DAT_00083f40 + 0x1f) & 8) != 0) {\n          DAT_000840b4 = *(undefined4 *)*DAT_00083f40;\n        }\n      }" { (if_statement "if ((*(byte *)(*DAT_00083f40 + 0x1f) & 8) != 0) {\n          DAT_000840b4 = *(undefined4 *)*DAT_00083f40;\n        }" if (parenthesized_expression "((*(byte *)(*DAT_00083f40 + 0x1f) & 8) != 0)" ( (binary_expression "(*(byte *)(*DAT_00083f40 + 0x1f) & 8) != 0" (parenthesized_expression "(*(byte *)(*DAT_00083f40 + 0x1f) & 8)" ( (binary_expression "*(byte *)(*DAT_00083f40 + 0x1f) & 8" (pointer_expression "*(byte *)(*DAT_00083f40 + 0x1f)" * (cast_expression "(byte *)(*DAT_00083f40 + 0x1f)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*DAT_00083f40 + 0x1f)" ( (binary_expression "*DAT_00083f40 + 0x1f" (pointer_expression "*DAT_00083f40" * identifier) + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n          DAT_000840b4 = *(undefined4 *)*DAT_00083f40;\n        }" { (expression_statement "DAT_000840b4 = *(undefined4 *)*DAT_00083f40;" (assignment_expression "DAT_000840b4 = *(undefined4 *)*DAT_00083f40" identifier = (pointer_expression "*(undefined4 *)*DAT_00083f40" * (cast_expression "(undefined4 *)*DAT_00083f40" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*DAT_00083f40" * identifier)))) ;) })) }) (else_clause "else if (iVar8 == 0) {\n        return (byte *)0x0;\n      }" else (if_statement "if (iVar8 == 0) {\n        return (byte *)0x0;\n      }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\n        return (byte *)0x0;\n      }" { (return_statement "return (byte *)0x0;" return (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) ;) })))))) }))) (expression_statement "DAT_000840ac = uVar5;" (assignment_expression "DAT_000840ac = uVar5" identifier = identifier) ;) (expression_statement "DAT_000840a8 = uVar6;" (assignment_expression "DAT_000840a8 = uVar6" identifier = identifier) ;) (expression_statement "local_38 = pbVar13 + 1;" (assignment_expression "local_38 = pbVar13 + 1" identifier = (binary_expression "pbVar13 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "( true )" ( true )) ;) }))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: Enum "anon_enum_32": Some values do not have unique names */\n\nchar * __regparm3 parse_insn(char *line,char *mnemonic)\n\n{\n  templates *ptVar1;\n  byte bVar2;\n  char cVar3;\n  uint uVar4;\n  uint uVar5;\n  PREFIX_GROUP PVar6;\n  char *pcVar7;\n  int iVar8;\n  templates *ptVar9;\n  char *pcVar10;\n  byte *pbVar11;\n  char *pcVar12;\n  char *pcVar13;\n  insn_template *piVar14;\n  byte *local_38;\n  char local_20;\n  \n  pcVar10 = (char *)0x0;\n  local_38 = (byte *)line;\n  do {\n    cVar3 = mnemonic_chars[*local_38];\n    *mnemonic = cVar3;\n    pcVar13 = mnemonic;\n    pbVar11 = local_38;\n    if (cVar3 == '\0') {\n      bVar2 = *local_38;\n      uVar4 = (uint)(char)bVar2;\n      if ((uVar4 & 0xdf) == 0) goto LAB_000454ae;\nLAB_00045208:\n      if ((intel_syntax == 0) && (((char)uVar4 == '/' || ((char)uVar4 == ',')))) goto LAB_000450fb;\nLAB_00045222:\n      pcVar10 = output_invalid(uVar4);\n      pcVar13 = (char *)dcgettext(0,"invalid character %s in mnemonic",5);\n      goto LAB_000451a1;\n    }\n    do {\n      if (cVar3 == '.') {\n        pcVar10 = pcVar13;\n      }\n      pcVar13 = pcVar13 + 1;\n      ptVar1 = current_templates;\n      if (pbVar11 == local_38 + 0x13) goto _L1930;\n      pbVar11 = pbVar11 + 1;\n      cVar3 = mnemonic_chars[*pbVar11];\n      *pcVar13 = cVar3;\n    } while (cVar3 != '\0');\n    uVar4 = (uint)(char)*pbVar11;\n    if ((uVar4 & 0xdf) != 0) goto LAB_00045208;\nLAB_000450fb:\n    bVar2 = (byte)uVar4;\n    if (pbVar11 == local_38) {\nLAB_000454ae:\n      if ((intel_syntax == 0) && (bVar2 == 0x2f)) {\n        pcVar10 = "expecting prefix; got nothing";\n      }\n      else {\n        pcVar10 = "expecting mnemonic; got nothing";\n      }\n      pcVar10 = (char *)dcgettext(0,pcVar10,5);\n      as_bad(pcVar10);\n      return (char *)0x0;\n    }\n    current_templates = (templates *)hash_find(op_hash,mnemonic);\n    bVar2 = *pbVar11;\n    if ((bVar2 == 0) || ((bVar2 == 0x20 && (pbVar11[1] == 0)))) {\n      if (current_templates == (templates *)0x0) goto LAB_00045540;\n      piVar14 = current_templates->start;\n      if ((undefined1  [12])((undefined1  [12])piVar14->opcode_modifier & (undefined1  [12])0xa0) ==\n          (undefined1  [12])0x0) {\nLAB_00045264:\n        piVar14 = current_templates->start;\n      }\nLAB_0004526c:\n      ptVar1 = current_templates;\n      if (current_templates->end <= piVar14) goto LAB_0004562d;\n      uVar4 = 0;\n      do {\n        uVar5 = cpu_flags_match(piVar14);\n        uVar4 = uVar4 | uVar5;\n        if (uVar4 == 3) {\n          if (((cpu_arch_flags.array[0]._0_1_ & 4) == 0) && (flag_code != CODE_16BIT)) {\n            pcVar10 = (char *)dcgettext(0,"use .code16 to ensure correct addressing mode",5);\n            as_warn(pcVar10);\n          }\n          return (char *)pbVar11;\n        }\n        piVar14 = piVar14 + 1;\n      } while (piVar14 < ptVar1->end);\n      piVar14 = ptVar1->start;\n      if ((uVar4 & 2) == 0) {\nLAB_0004562d:\n        pcVar10 = piVar14->name;\n        if (flag_code == CODE_64BIT) {\nLAB_00045352:\n          pcVar13 = (char *)dcgettext(0,"`%s\' is not supported in 64-bit mode",5);\n        }\n        else {\nLAB_00045188:\n          pcVar13 = (char *)dcgettext(0,"`%s\' is only supported in 64-bit mode",5);\n        }\nLAB_000451a1:\n        as_bad(pcVar13,pcVar10);\n      }\n      else {\n        pcVar10 = piVar14->name;\n        pcVar13 = cpu_sub_arch_name;\n        if (cpu_sub_arch_name == (char *)0x0) {\n          pcVar13 = "";\n        }\n        pcVar12 = cpu_arch_name;\n        if (cpu_arch_name == (char *)0x0) {\n          pcVar12 = default_arch;\n        }\n        pcVar7 = (char *)dcgettext(0,"`%s\' is not supported on `%s%s\'",5);\n        as_bad(pcVar7,pcVar10,pcVar12,pcVar13);\n      }\n      return (char *)0x0;\n    }\n    if (current_templates == (templates *)0x0) {\nLAB_00045540:\n      if ((pcVar10 == pcVar13 + -2) && (pcVar10[1] == 's')) {\n        i.dir_encoding = Cpu386;\nLAB_00045660:\n        *pcVar10 = '\0';\n        ptVar9 = (templates *)hash_find(op_hash,mnemonic);\n        current_templates = ptVar9;\n        if (ptVar9 == (templates *)0x0) {\n          cVar3 = pcVar10[-1];\n          current_templates = (templates *)0x0;\n          pcVar13 = pcVar10;\n          ptVar1 = (templates *)0x0;\n          switch(cVar3) {\n          case 'b':\n          case 'q':\n            goto _L2009;\n          default:\n            goto _L1930;\n          case 'd':\n            goto _L1927;\n          case 'l':\n          case 's':\n            goto _L1925;\n          case 'w':\n            goto _L1921;\n          }\n        }\n      }\n      else {\n        if (pcVar10 == pcVar13 + -3) {\n          if (pcVar10[1] == 'd') {\n            if (pcVar10[2] == '8') {\n              i.disp_encoding = Cpu286;\n              goto LAB_00045660;\n            }\n            if (pcVar10 == pcVar13 + -4) goto LAB_000456b1;\n          }\n        }\n        else if ((pcVar10 == pcVar13 + -4) && (pcVar10[1] == 'd')) {\nLAB_000456b1:\n          if ((pcVar10[2] == '3') && (pcVar10[3] == '2')) {\n            i.disp_encoding = Cpu386;\n            goto LAB_00045660;\n          }\n        }\n        cVar3 = pcVar13[-1];\n        ptVar1 = current_templates;\n        ptVar9 = current_templates;\n        switch(cVar3) {\n        case 'b':\n        case 'q':\n          break;\n        default:\n          goto _L1930;\n        case 'd':\n_L1927:\n          current_templates = ptVar9;\n          if (intel_syntax != 0) {\n            cVar3 = 'l';\n            if ((*mnemonic == 'f') && (iVar8 = intel_float_operand(mnemonic), iVar8 == 1)) {\n              cVar3 = 's';\n            }\n            break;\n          }\n          goto LAB_000455d5;\n        case 'l':\n        case 's':\n_L1925:\n          current_templates = ptVar9;\n          if (intel_syntax != 0) goto LAB_000455d5;\n          break;\n        case 'w':\n_L1921:\n          cVar3 = 'w';\n          if ((intel_syntax != 0) && (*mnemonic == 'f')) {\n            uVar4 = intel_float_operand(mnemonic);\n            cVar3 = (-((uVar4 & 2) == 0) & 4U) + 0x73;\n          }\n        }\n_L2009:\n        i.suffix = cVar3;\n        pcVar13[-1] = '\0';\n        current_templates = (templates *)hash_find(op_hash,mnemonic);\nLAB_000455d5:\n        ptVar1 = current_templates;\n        if (current_templates == (templates *)0x0) {\n_L1930:\n          current_templates = ptVar1;\n          pcVar10 = (char *)dcgettext(0,"no such instruction: `%s\'",5);\n          as_bad(pcVar10,local_38);\n          return (char *)0x0;\n        }\n      }\n      piVar14 = current_templates->start;\n      bVar2 = *pbVar11;\nLAB_000454eb:\n      if ((undefined1  [12])((undefined1  [12])piVar14->opcode_modifier & (undefined1  [12])0xa0) ==\n          (undefined1  [12])0x0) {\nLAB_00045532:\n        if (bVar2 != 0x2c) goto LAB_00045264;\n      }\n      else {\n        if (bVar2 != 0x2c) goto LAB_0004526c;\n        if (pbVar11[1] == 0x70) {\n          if (pbVar11[2] == 0x74) {\n            PVar6 = add_prefix(0x3e);\n          }\n          else {\n            if (pbVar11[2] != 0x6e) goto LAB_000454ff;\n            PVar6 = add_prefix(0x2e);\n          }\n          if (PVar6 == PREFIX_EXIST) {\n            return (char *)0x0;\n          }\n          bVar2 = pbVar11[3];\n          pbVar11 = pbVar11 + 3;\n          goto LAB_00045532;\n        }\n      }\nLAB_000454ff:\n      uVar4 = 0x2c;\n      goto LAB_00045222;\n    }\n    piVar14 = current_templates->start;\n    if (((piVar14->opcode_modifier).field_0x4 & 0x10) == 0) goto LAB_000454eb;\n    local_20 = (char)(piVar14->cpu_flags).array[3];\n    if (flag_code == CODE_64BIT) {\n      if (local_20 < '\0') {\n        pcVar10 = piVar14->name;\n        goto LAB_00045352;\n      }\n    }\n    else {\n      if (((piVar14->cpu_flags).array[3] & 0x40) != 0) {\n        pcVar10 = piVar14->name;\n        goto LAB_00045188;\n      }\n      bVar2 = (piVar14->opcode_modifier).field_0x1;\n      if (((bVar2 & 0x18) != 0) && ((bool)(bVar2 >> 4 & 1) != (flag_code == CODE_16BIT))) {\n        pcVar10 = piVar14->name;\n        pcVar13 = (char *)dcgettext(0,"redundant %s prefix",5);\n        as_bad(pcVar13,pcVar10);\n        return (char *)0x0;\n      }\n    }\n    if (piVar14->opcode_length == '\0') {\n      pcVar13 = i.rep_prefix;\n      pcVar12 = i.hle_prefix;\n      switch(piVar14->base_opcode) {\n      case 0:\n        i.disp_encoding = Cpu286;\n        break;\n      case 1:\n        i.disp_encoding = Cpu386;\n        break;\n      case 2:\n        i.dir_encoding = Cpu286;\n        break;\n      case 3:\n        i.dir_encoding = Cpu386;\n        break;\n      case 4:\n        i.vec_encoding = Cpu286;\n        break;\n      case 5:\n        i.vec_encoding = Cpu386;\n        break;\n      case 6:\n        i.vec_encoding = Cpu486;\n        break;\n      case 7:\n        i.rex_encoding = 1;\n        break;\n      case 8:\n        i.no_optimize = 1;\n        break;\n      default:\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/tc-i386.c",0x1127,"parse_insn");\n      }\n    }\n    else {\n      PVar6 = add_prefix(piVar14->base_opcode);\n      pcVar13 = i.rep_prefix;\n      pcVar12 = i.hle_prefix;\n      if (PVar6 == PREFIX_REP) {\n        piVar14 = current_templates->start;\n        pcVar7 = piVar14->name;\n        pcVar12 = pcVar7;\n        if (((undefined1  [16])\n             ((undefined1  [16])piVar14->cpu_flags & (undefined1  [16])0x1000000000000000) ==\n             (undefined1  [16])0x0) &&\n           (pcVar13 = pcVar7, pcVar12 = i.hle_prefix,\n           (undefined1  [16])((undefined1  [16])piVar14->cpu_flags & (undefined1  [16])0x1) !=\n           (undefined1  [16])0x0)) {\n          pcVar13 = i.rep_prefix;\n          i.bnd_prefix = pcVar7;\n        }\n      }\n      else if (PVar6 == PREFIX_DS) {\n        if ((undefined1  [16])\n            ((undefined1  [16])current_templates->start->cpu_flags & (undefined1  [16])0x8000000) !=\n            (undefined1  [16])0x0) {\n          i.notrack_prefix = current_templates->start->name;\n        }\n      }\n      else if (PVar6 == PREFIX_EXIST) {\n        return (char *)0x0;\n      }\n    }\n    i.hle_prefix = pcVar12;\n    i.rep_prefix = pcVar13;\n    local_38 = pbVar11 + 1;\n  } while( true );\n}\n\n" comment comment (function_definition "char * __regparm3 parse_insn(char *line,char *mnemonic)\n\n{\n  templates *ptVar1;\n  byte bVar2;\n  char cVar3;\n  uint uVar4;\n  uint uVar5;\n  PREFIX_GROUP PVar6;\n  char *pcVar7;\n  int iVar8;\n  templates *ptVar9;\n  char *pcVar10;\n  byte *pbVar11;\n  char *pcVar12;\n  char *pcVar13;\n  insn_template *piVar14;\n  byte *local_38;\n  char local_20;\n  \n  pcVar10 = (char *)0x0;\n  local_38 = (byte *)line;\n  do {\n    cVar3 = mnemonic_chars[*local_38];\n    *mnemonic = cVar3;\n    pcVar13 = mnemonic;\n    pbVar11 = local_38;\n    if (cVar3 == '\0') {\n      bVar2 = *local_38;\n      uVar4 = (uint)(char)bVar2;\n      if ((uVar4 & 0xdf) == 0) goto LAB_000454ae;\nLAB_00045208:\n      if ((intel_syntax == 0) && (((char)uVar4 == '/' || ((char)uVar4 == ',')))) goto LAB_000450fb;\nLAB_00045222:\n      pcVar10 = output_invalid(uVar4);\n      pcVar13 = (char *)dcgettext(0,"invalid character %s in mnemonic",5);\n      goto LAB_000451a1;\n    }\n    do {\n      if (cVar3 == '.') {\n        pcVar10 = pcVar13;\n      }\n      pcVar13 = pcVar13 + 1;\n      ptVar1 = current_templates;\n      if (pbVar11 == local_38 + 0x13) goto _L1930;\n      pbVar11 = pbVar11 + 1;\n      cVar3 = mnemonic_chars[*pbVar11];\n      *pcVar13 = cVar3;\n    } while (cVar3 != '\0');\n    uVar4 = (uint)(char)*pbVar11;\n    if ((uVar4 & 0xdf) != 0) goto LAB_00045208;\nLAB_000450fb:\n    bVar2 = (byte)uVar4;\n    if (pbVar11 == local_38) {\nLAB_000454ae:\n      if ((intel_syntax == 0) && (bVar2 == 0x2f)) {\n        pcVar10 = "expecting prefix; got nothing";\n      }\n      else {\n        pcVar10 = "expecting mnemonic; got nothing";\n      }\n      pcVar10 = (char *)dcgettext(0,pcVar10,5);\n      as_bad(pcVar10);\n      return (char *)0x0;\n    }\n    current_templates = (templates *)hash_find(op_hash,mnemonic);\n    bVar2 = *pbVar11;\n    if ((bVar2 == 0) || ((bVar2 == 0x20 && (pbVar11[1] == 0)))) {\n      if (current_templates == (templates *)0x0) goto LAB_00045540;\n      piVar14 = current_templates->start;\n      if ((undefined1  [12])((undefined1  [12])piVar14->opcode_modifier & (undefined1  [12])0xa0) ==\n          (undefined1  [12])0x0) {\nLAB_00045264:\n        piVar14 = current_templates->start;\n      }\nLAB_0004526c:\n      ptVar1 = current_templates;\n      if (current_templates->end <= piVar14) goto LAB_0004562d;\n      uVar4 = 0;\n      do {\n        uVar5 = cpu_flags_match(piVar14);\n        uVar4 = uVar4 | uVar5;\n        if (uVar4 == 3) {\n          if (((cpu_arch_flags.array[0]._0_1_ & 4) == 0) && (flag_code != CODE_16BIT)) {\n            pcVar10 = (char *)dcgettext(0,"use .code16 to ensure correct addressing mode",5);\n            as_warn(pcVar10);\n          }\n          return (char *)pbVar11;\n        }\n        piVar14 = piVar14 + 1;\n      } while (piVar14 < ptVar1->end);\n      piVar14 = ptVar1->start;\n      if ((uVar4 & 2) == 0) {\nLAB_0004562d:\n        pcVar10 = piVar14->name;\n        if (flag_code == CODE_64BIT) {\nLAB_00045352:\n          pcVar13 = (char *)dcgettext(0,"`%s\' is not supported in 64-bit mode",5);\n        }\n        else {\nLAB_00045188:\n          pcVar13 = (char *)dcgettext(0,"`%s\' is only supported in 64-bit mode",5);\n        }\nLAB_000451a1:\n        as_bad(pcVar13,pcVar10);\n      }\n      else {\n        pcVar10 = piVar14->name;\n        pcVar13 = cpu_sub_arch_name;\n        if (cpu_sub_arch_name == (char *)0x0) {\n          pcVar13 = "";\n        }\n        pcVar12 = cpu_arch_name;\n        if (cpu_arch_name == (char *)0x0) {\n          pcVar12 = default_arch;\n        }\n        pcVar7 = (char *)dcgettext(0,"`%s\' is not supported on `%s%s\'",5);\n        as_bad(pcVar7,pcVar10,pcVar12,pcVar13);\n      }\n      return (char *)0x0;\n    }\n    if (current_templates == (templates *)0x0) {\nLAB_00045540:\n      if ((pcVar10 == pcVar13 + -2) && (pcVar10[1] == 's')) {\n        i.dir_encoding = Cpu386;\nLAB_00045660:\n        *pcVar10 = '\0';\n        ptVar9 = (templates *)hash_find(op_hash,mnemonic);\n        current_templates = ptVar9;\n        if (ptVar9 == (templates *)0x0) {\n          cVar3 = pcVar10[-1];\n          current_templates = (templates *)0x0;\n          pcVar13 = pcVar10;\n          ptVar1 = (templates *)0x0;\n          switch(cVar3) {\n          case 'b':\n          case 'q':\n            goto _L2009;\n          default:\n            goto _L1930;\n          case 'd':\n            goto _L1927;\n          case 'l':\n          case 's':\n            goto _L1925;\n          case 'w':\n            goto _L1921;\n          }\n        }\n      }\n      else {\n        if (pcVar10 == pcVar13 + -3) {\n          if (pcVar10[1] == 'd') {\n            if (pcVar10[2] == '8') {\n              i.disp_encoding = Cpu286;\n              goto LAB_00045660;\n            }\n            if (pcVar10 == pcVar13 + -4) goto LAB_000456b1;\n          }\n        }\n        else if ((pcVar10 == pcVar13 + -4) && (pcVar10[1] == 'd')) {\nLAB_000456b1:\n          if ((pcVar10[2] == '3') && (pcVar10[3] == '2')) {\n            i.disp_encoding = Cpu386;\n            goto LAB_00045660;\n          }\n        }\n        cVar3 = pcVar13[-1];\n        ptVar1 = current_templates;\n        ptVar9 = current_templates;\n        switch(cVar3) {\n        case 'b':\n        case 'q':\n          break;\n        default:\n          goto _L1930;\n        case 'd':\n_L1927:\n          current_templates = ptVar9;\n          if (intel_syntax != 0) {\n            cVar3 = 'l';\n            if ((*mnemonic == 'f') && (iVar8 = intel_float_operand(mnemonic), iVar8 == 1)) {\n              cVar3 = 's';\n            }\n            break;\n          }\n          goto LAB_000455d5;\n        case 'l':\n        case 's':\n_L1925:\n          current_templates = ptVar9;\n          if (intel_syntax != 0) goto LAB_000455d5;\n          break;\n        case 'w':\n_L1921:\n          cVar3 = 'w';\n          if ((intel_syntax != 0) && (*mnemonic == 'f')) {\n            uVar4 = intel_float_operand(mnemonic);\n            cVar3 = (-((uVar4 & 2) == 0) & 4U) + 0x73;\n          }\n        }\n_L2009:\n        i.suffix = cVar3;\n        pcVar13[-1] = '\0';\n        current_templates = (templates *)hash_find(op_hash,mnemonic);\nLAB_000455d5:\n        ptVar1 = current_templates;\n        if (current_templates == (templates *)0x0) {\n_L1930:\n          current_templates = ptVar1;\n          pcVar10 = (char *)dcgettext(0,"no such instruction: `%s\'",5);\n          as_bad(pcVar10,local_38);\n          return (char *)0x0;\n        }\n      }\n      piVar14 = current_templates->start;\n      bVar2 = *pbVar11;\nLAB_000454eb:\n      if ((undefined1  [12])((undefined1  [12])piVar14->opcode_modifier & (undefined1  [12])0xa0) ==\n          (undefined1  [12])0x0) {\nLAB_00045532:\n        if (bVar2 != 0x2c) goto LAB_00045264;\n      }\n      else {\n        if (bVar2 != 0x2c) goto LAB_0004526c;\n        if (pbVar11[1] == 0x70) {\n          if (pbVar11[2] == 0x74) {\n            PVar6 = add_prefix(0x3e);\n          }\n          else {\n            if (pbVar11[2] != 0x6e) goto LAB_000454ff;\n            PVar6 = add_prefix(0x2e);\n          }\n          if (PVar6 == PREFIX_EXIST) {\n            return (char *)0x0;\n          }\n          bVar2 = pbVar11[3];\n          pbVar11 = pbVar11 + 3;\n          goto LAB_00045532;\n        }\n      }\nLAB_000454ff:\n      uVar4 = 0x2c;\n      goto LAB_00045222;\n    }\n    piVar14 = current_templates->start;\n    if (((piVar14->opcode_modifier).field_0x4 & 0x10) == 0) goto LAB_000454eb;\n    local_20 = (char)(piVar14->cpu_flags).array[3];\n    if (flag_code == CODE_64BIT) {\n      if (local_20 < '\0') {\n        pcVar10 = piVar14->name;\n        goto LAB_00045352;\n      }\n    }\n    else {\n      if (((piVar14->cpu_flags).array[3] & 0x40) != 0) {\n        pcVar10 = piVar14->name;\n        goto LAB_00045188;\n      }\n      bVar2 = (piVar14->opcode_modifier).field_0x1;\n      if (((bVar2 & 0x18) != 0) && ((bool)(bVar2 >> 4 & 1) != (flag_code == CODE_16BIT))) {\n        pcVar10 = piVar14->name;\n        pcVar13 = (char *)dcgettext(0,"redundant %s prefix",5);\n        as_bad(pcVar13,pcVar10);\n        return (char *)0x0;\n      }\n    }\n    if (piVar14->opcode_length == '\0') {\n      pcVar13 = i.rep_prefix;\n      pcVar12 = i.hle_prefix;\n      switch(piVar14->base_opcode) {\n      case 0:\n        i.disp_encoding = Cpu286;\n        break;\n      case 1:\n        i.disp_encoding = Cpu386;\n        break;\n      case 2:\n        i.dir_encoding = Cpu286;\n        break;\n      case 3:\n        i.dir_encoding = Cpu386;\n        break;\n      case 4:\n        i.vec_encoding = Cpu286;\n        break;\n      case 5:\n        i.vec_encoding = Cpu386;\n        break;\n      case 6:\n        i.vec_encoding = Cpu486;\n        break;\n      case 7:\n        i.rex_encoding = 1;\n        break;\n      case 8:\n        i.no_optimize = 1;\n        break;\n      default:\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/tc-i386.c",0x1127,"parse_insn");\n      }\n    }\n    else {\n      PVar6 = add_prefix(piVar14->base_opcode);\n      pcVar13 = i.rep_prefix;\n      pcVar12 = i.hle_prefix;\n      if (PVar6 == PREFIX_REP) {\n        piVar14 = current_templates->start;\n        pcVar7 = piVar14->name;\n        pcVar12 = pcVar7;\n        if (((undefined1  [16])\n             ((undefined1  [16])piVar14->cpu_flags & (undefined1  [16])0x1000000000000000) ==\n             (undefined1  [16])0x0) &&\n           (pcVar13 = pcVar7, pcVar12 = i.hle_prefix,\n           (undefined1  [16])((undefined1  [16])piVar14->cpu_flags & (undefined1  [16])0x1) !=\n           (undefined1  [16])0x0)) {\n          pcVar13 = i.rep_prefix;\n          i.bnd_prefix = pcVar7;\n        }\n      }\n      else if (PVar6 == PREFIX_DS) {\n        if ((undefined1  [16])\n            ((undefined1  [16])current_templates->start->cpu_flags & (undefined1  [16])0x8000000) !=\n            (undefined1  [16])0x0) {\n          i.notrack_prefix = current_templates->start->name;\n        }\n      }\n      else if (PVar6 == PREFIX_EXIST) {\n        return (char *)0x0;\n      }\n    }\n    i.hle_prefix = pcVar12;\n    i.rep_prefix = pcVar13;\n    local_38 = pbVar11 + 1;\n  } while( true );\n}" primitive_type (pointer_declarator "* __regparm3 parse_insn(char *line,char *mnemonic)" * (ERROR "__regparm3" identifier) (function_declarator "parse_insn(char *line,char *mnemonic)" identifier (parameter_list "(char *line,char *mnemonic)" ( (parameter_declaration "char *line" primitive_type (pointer_declarator "*line" * identifier)) , (parameter_declaration "char *mnemonic" primitive_type (pointer_declarator "*mnemonic" * identifier)) )))) (compound_statement "{\n  templates *ptVar1;\n  byte bVar2;\n  char cVar3;\n  uint uVar4;\n  uint uVar5;\n  PREFIX_GROUP PVar6;\n  char *pcVar7;\n  int iVar8;\n  templates *ptVar9;\n  char *pcVar10;\n  byte *pbVar11;\n  char *pcVar12;\n  char *pcVar13;\n  insn_template *piVar14;\n  byte *local_38;\n  char local_20;\n  \n  pcVar10 = (char *)0x0;\n  local_38 = (byte *)line;\n  do {\n    cVar3 = mnemonic_chars[*local_38];\n    *mnemonic = cVar3;\n    pcVar13 = mnemonic;\n    pbVar11 = local_38;\n    if (cVar3 == '\0') {\n      bVar2 = *local_38;\n      uVar4 = (uint)(char)bVar2;\n      if ((uVar4 & 0xdf) == 0) goto LAB_000454ae;\nLAB_00045208:\n      if ((intel_syntax == 0) && (((char)uVar4 == '/' || ((char)uVar4 == ',')))) goto LAB_000450fb;\nLAB_00045222:\n      pcVar10 = output_invalid(uVar4);\n      pcVar13 = (char *)dcgettext(0,"invalid character %s in mnemonic",5);\n      goto LAB_000451a1;\n    }\n    do {\n      if (cVar3 == '.') {\n        pcVar10 = pcVar13;\n      }\n      pcVar13 = pcVar13 + 1;\n      ptVar1 = current_templates;\n      if (pbVar11 == local_38 + 0x13) goto _L1930;\n      pbVar11 = pbVar11 + 1;\n      cVar3 = mnemonic_chars[*pbVar11];\n      *pcVar13 = cVar3;\n    } while (cVar3 != '\0');\n    uVar4 = (uint)(char)*pbVar11;\n    if ((uVar4 & 0xdf) != 0) goto LAB_00045208;\nLAB_000450fb:\n    bVar2 = (byte)uVar4;\n    if (pbVar11 == local_38) {\nLAB_000454ae:\n      if ((intel_syntax == 0) && (bVar2 == 0x2f)) {\n        pcVar10 = "expecting prefix; got nothing";\n      }\n      else {\n        pcVar10 = "expecting mnemonic; got nothing";\n      }\n      pcVar10 = (char *)dcgettext(0,pcVar10,5);\n      as_bad(pcVar10);\n      return (char *)0x0;\n    }\n    current_templates = (templates *)hash_find(op_hash,mnemonic);\n    bVar2 = *pbVar11;\n    if ((bVar2 == 0) || ((bVar2 == 0x20 && (pbVar11[1] == 0)))) {\n      if (current_templates == (templates *)0x0) goto LAB_00045540;\n      piVar14 = current_templates->start;\n      if ((undefined1  [12])((undefined1  [12])piVar14->opcode_modifier & (undefined1  [12])0xa0) ==\n          (undefined1  [12])0x0) {\nLAB_00045264:\n        piVar14 = current_templates->start;\n      }\nLAB_0004526c:\n      ptVar1 = current_templates;\n      if (current_templates->end <= piVar14) goto LAB_0004562d;\n      uVar4 = 0;\n      do {\n        uVar5 = cpu_flags_match(piVar14);\n        uVar4 = uVar4 | uVar5;\n        if (uVar4 == 3) {\n          if (((cpu_arch_flags.array[0]._0_1_ & 4) == 0) && (flag_code != CODE_16BIT)) {\n            pcVar10 = (char *)dcgettext(0,"use .code16 to ensure correct addressing mode",5);\n            as_warn(pcVar10);\n          }\n          return (char *)pbVar11;\n        }\n        piVar14 = piVar14 + 1;\n      } while (piVar14 < ptVar1->end);\n      piVar14 = ptVar1->start;\n      if ((uVar4 & 2) == 0) {\nLAB_0004562d:\n        pcVar10 = piVar14->name;\n        if (flag_code == CODE_64BIT) {\nLAB_00045352:\n          pcVar13 = (char *)dcgettext(0,"`%s\' is not supported in 64-bit mode",5);\n        }\n        else {\nLAB_00045188:\n          pcVar13 = (char *)dcgettext(0,"`%s\' is only supported in 64-bit mode",5);\n        }\nLAB_000451a1:\n        as_bad(pcVar13,pcVar10);\n      }\n      else {\n        pcVar10 = piVar14->name;\n        pcVar13 = cpu_sub_arch_name;\n        if (cpu_sub_arch_name == (char *)0x0) {\n          pcVar13 = "";\n        }\n        pcVar12 = cpu_arch_name;\n        if (cpu_arch_name == (char *)0x0) {\n          pcVar12 = default_arch;\n        }\n        pcVar7 = (char *)dcgettext(0,"`%s\' is not supported on `%s%s\'",5);\n        as_bad(pcVar7,pcVar10,pcVar12,pcVar13);\n      }\n      return (char *)0x0;\n    }\n    if (current_templates == (templates *)0x0) {\nLAB_00045540:\n      if ((pcVar10 == pcVar13 + -2) && (pcVar10[1] == 's')) {\n        i.dir_encoding = Cpu386;\nLAB_00045660:\n        *pcVar10 = '\0';\n        ptVar9 = (templates *)hash_find(op_hash,mnemonic);\n        current_templates = ptVar9;\n        if (ptVar9 == (templates *)0x0) {\n          cVar3 = pcVar10[-1];\n          current_templates = (templates *)0x0;\n          pcVar13 = pcVar10;\n          ptVar1 = (templates *)0x0;\n          switch(cVar3) {\n          case 'b':\n          case 'q':\n            goto _L2009;\n          default:\n            goto _L1930;\n          case 'd':\n            goto _L1927;\n          case 'l':\n          case 's':\n            goto _L1925;\n          case 'w':\n            goto _L1921;\n          }\n        }\n      }\n      else {\n        if (pcVar10 == pcVar13 + -3) {\n          if (pcVar10[1] == 'd') {\n            if (pcVar10[2] == '8') {\n              i.disp_encoding = Cpu286;\n              goto LAB_00045660;\n            }\n            if (pcVar10 == pcVar13 + -4) goto LAB_000456b1;\n          }\n        }\n        else if ((pcVar10 == pcVar13 + -4) && (pcVar10[1] == 'd')) {\nLAB_000456b1:\n          if ((pcVar10[2] == '3') && (pcVar10[3] == '2')) {\n            i.disp_encoding = Cpu386;\n            goto LAB_00045660;\n          }\n        }\n        cVar3 = pcVar13[-1];\n        ptVar1 = current_templates;\n        ptVar9 = current_templates;\n        switch(cVar3) {\n        case 'b':\n        case 'q':\n          break;\n        default:\n          goto _L1930;\n        case 'd':\n_L1927:\n          current_templates = ptVar9;\n          if (intel_syntax != 0) {\n            cVar3 = 'l';\n            if ((*mnemonic == 'f') && (iVar8 = intel_float_operand(mnemonic), iVar8 == 1)) {\n              cVar3 = 's';\n            }\n            break;\n          }\n          goto LAB_000455d5;\n        case 'l':\n        case 's':\n_L1925:\n          current_templates = ptVar9;\n          if (intel_syntax != 0) goto LAB_000455d5;\n          break;\n        case 'w':\n_L1921:\n          cVar3 = 'w';\n          if ((intel_syntax != 0) && (*mnemonic == 'f')) {\n            uVar4 = intel_float_operand(mnemonic);\n            cVar3 = (-((uVar4 & 2) == 0) & 4U) + 0x73;\n          }\n        }\n_L2009:\n        i.suffix = cVar3;\n        pcVar13[-1] = '\0';\n        current_templates = (templates *)hash_find(op_hash,mnemonic);\nLAB_000455d5:\n        ptVar1 = current_templates;\n        if (current_templates == (templates *)0x0) {\n_L1930:\n          current_templates = ptVar1;\n          pcVar10 = (char *)dcgettext(0,"no such instruction: `%s\'",5);\n          as_bad(pcVar10,local_38);\n          return (char *)0x0;\n        }\n      }\n      piVar14 = current_templates->start;\n      bVar2 = *pbVar11;\nLAB_000454eb:\n      if ((undefined1  [12])((undefined1  [12])piVar14->opcode_modifier & (undefined1  [12])0xa0) ==\n          (undefined1  [12])0x0) {\nLAB_00045532:\n        if (bVar2 != 0x2c) goto LAB_00045264;\n      }\n      else {\n        if (bVar2 != 0x2c) goto LAB_0004526c;\n        if (pbVar11[1] == 0x70) {\n          if (pbVar11[2] == 0x74) {\n            PVar6 = add_prefix(0x3e);\n          }\n          else {\n            if (pbVar11[2] != 0x6e) goto LAB_000454ff;\n            PVar6 = add_prefix(0x2e);\n          }\n          if (PVar6 == PREFIX_EXIST) {\n            return (char *)0x0;\n          }\n          bVar2 = pbVar11[3];\n          pbVar11 = pbVar11 + 3;\n          goto LAB_00045532;\n        }\n      }\nLAB_000454ff:\n      uVar4 = 0x2c;\n      goto LAB_00045222;\n    }\n    piVar14 = current_templates->start;\n    if (((piVar14->opcode_modifier).field_0x4 & 0x10) == 0) goto LAB_000454eb;\n    local_20 = (char)(piVar14->cpu_flags).array[3];\n    if (flag_code == CODE_64BIT) {\n      if (local_20 < '\0') {\n        pcVar10 = piVar14->name;\n        goto LAB_00045352;\n      }\n    }\n    else {\n      if (((piVar14->cpu_flags).array[3] & 0x40) != 0) {\n        pcVar10 = piVar14->name;\n        goto LAB_00045188;\n      }\n      bVar2 = (piVar14->opcode_modifier).field_0x1;\n      if (((bVar2 & 0x18) != 0) && ((bool)(bVar2 >> 4 & 1) != (flag_code == CODE_16BIT))) {\n        pcVar10 = piVar14->name;\n        pcVar13 = (char *)dcgettext(0,"redundant %s prefix",5);\n        as_bad(pcVar13,pcVar10);\n        return (char *)0x0;\n      }\n    }\n    if (piVar14->opcode_length == '\0') {\n      pcVar13 = i.rep_prefix;\n      pcVar12 = i.hle_prefix;\n      switch(piVar14->base_opcode) {\n      case 0:\n        i.disp_encoding = Cpu286;\n        break;\n      case 1:\n        i.disp_encoding = Cpu386;\n        break;\n      case 2:\n        i.dir_encoding = Cpu286;\n        break;\n      case 3:\n        i.dir_encoding = Cpu386;\n        break;\n      case 4:\n        i.vec_encoding = Cpu286;\n        break;\n      case 5:\n        i.vec_encoding = Cpu386;\n        break;\n      case 6:\n        i.vec_encoding = Cpu486;\n        break;\n      case 7:\n        i.rex_encoding = 1;\n        break;\n      case 8:\n        i.no_optimize = 1;\n        break;\n      default:\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/tc-i386.c",0x1127,"parse_insn");\n      }\n    }\n    else {\n      PVar6 = add_prefix(piVar14->base_opcode);\n      pcVar13 = i.rep_prefix;\n      pcVar12 = i.hle_prefix;\n      if (PVar6 == PREFIX_REP) {\n        piVar14 = current_templates->start;\n        pcVar7 = piVar14->name;\n        pcVar12 = pcVar7;\n        if (((undefined1  [16])\n             ((undefined1  [16])piVar14->cpu_flags & (undefined1  [16])0x1000000000000000) ==\n             (undefined1  [16])0x0) &&\n           (pcVar13 = pcVar7, pcVar12 = i.hle_prefix,\n           (undefined1  [16])((undefined1  [16])piVar14->cpu_flags & (undefined1  [16])0x1) !=\n           (undefined1  [16])0x0)) {\n          pcVar13 = i.rep_prefix;\n          i.bnd_prefix = pcVar7;\n        }\n      }\n      else if (PVar6 == PREFIX_DS) {\n        if ((undefined1  [16])\n            ((undefined1  [16])current_templates->start->cpu_flags & (undefined1  [16])0x8000000) !=\n            (undefined1  [16])0x0) {\n          i.notrack_prefix = current_templates->start->name;\n        }\n      }\n      else if (PVar6 == PREFIX_EXIST) {\n        return (char *)0x0;\n      }\n    }\n    i.hle_prefix = pcVar12;\n    i.rep_prefix = pcVar13;\n    local_38 = pbVar11 + 1;\n  } while( true );\n}" { (declaration "templates *ptVar1;" type_identifier (pointer_declarator "*ptVar1" * identifier) ;) (declaration "byte bVar2;" type_identifier identifier ;) (declaration "char cVar3;" primitive_type identifier ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "PREFIX_GROUP PVar6;" type_identifier identifier ;) (declaration "char *pcVar7;" primitive_type (pointer_declarator "*pcVar7" * identifier) ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "templates *ptVar9;" type_identifier (pointer_declarator "*ptVar9" * identifier) ;) (declaration "char *pcVar10;" primitive_type (pointer_declarator "*pcVar10" * identifier) ;) (declaration "byte *pbVar11;" type_identifier (pointer_declarator "*pbVar11" * identifier) ;) (declaration "char *pcVar12;" primitive_type (pointer_declarator "*pcVar12" * identifier) ;) (declaration "char *pcVar13;" primitive_type (pointer_declarator "*pcVar13" * identifier) ;) (declaration "insn_template *piVar14;" type_identifier (pointer_declarator "*piVar14" * identifier) ;) (declaration "byte *local_38;" type_identifier (pointer_declarator "*local_38" * identifier) ;) (declaration "char local_20;" primitive_type identifier ;) (expression_statement "pcVar10 = (char *)0x0;" (assignment_expression "pcVar10 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_38 = (byte *)line;" (assignment_expression "local_38 = (byte *)line" identifier = (cast_expression "(byte *)line" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (do_statement "do {\n    cVar3 = mnemonic_chars[*local_38];\n    *mnemonic = cVar3;\n    pcVar13 = mnemonic;\n    pbVar11 = local_38;\n    if (cVar3 == '\0') {\n      bVar2 = *local_38;\n      uVar4 = (uint)(char)bVar2;\n      if ((uVar4 & 0xdf) == 0) goto LAB_000454ae;\nLAB_00045208:\n      if ((intel_syntax == 0) && (((char)uVar4 == '/' || ((char)uVar4 == ',')))) goto LAB_000450fb;\nLAB_00045222:\n      pcVar10 = output_invalid(uVar4);\n      pcVar13 = (char *)dcgettext(0,"invalid character %s in mnemonic",5);\n      goto LAB_000451a1;\n    }\n    do {\n      if (cVar3 == '.') {\n        pcVar10 = pcVar13;\n      }\n      pcVar13 = pcVar13 + 1;\n      ptVar1 = current_templates;\n      if (pbVar11 == local_38 + 0x13) goto _L1930;\n      pbVar11 = pbVar11 + 1;\n      cVar3 = mnemonic_chars[*pbVar11];\n      *pcVar13 = cVar3;\n    } while (cVar3 != '\0');\n    uVar4 = (uint)(char)*pbVar11;\n    if ((uVar4 & 0xdf) != 0) goto LAB_00045208;\nLAB_000450fb:\n    bVar2 = (byte)uVar4;\n    if (pbVar11 == local_38) {\nLAB_000454ae:\n      if ((intel_syntax == 0) && (bVar2 == 0x2f)) {\n        pcVar10 = "expecting prefix; got nothing";\n      }\n      else {\n        pcVar10 = "expecting mnemonic; got nothing";\n      }\n      pcVar10 = (char *)dcgettext(0,pcVar10,5);\n      as_bad(pcVar10);\n      return (char *)0x0;\n    }\n    current_templates = (templates *)hash_find(op_hash,mnemonic);\n    bVar2 = *pbVar11;\n    if ((bVar2 == 0) || ((bVar2 == 0x20 && (pbVar11[1] == 0)))) {\n      if (current_templates == (templates *)0x0) goto LAB_00045540;\n      piVar14 = current_templates->start;\n      if ((undefined1  [12])((undefined1  [12])piVar14->opcode_modifier & (undefined1  [12])0xa0) ==\n          (undefined1  [12])0x0) {\nLAB_00045264:\n        piVar14 = current_templates->start;\n      }\nLAB_0004526c:\n      ptVar1 = current_templates;\n      if (current_templates->end <= piVar14) goto LAB_0004562d;\n      uVar4 = 0;\n      do {\n        uVar5 = cpu_flags_match(piVar14);\n        uVar4 = uVar4 | uVar5;\n        if (uVar4 == 3) {\n          if (((cpu_arch_flags.array[0]._0_1_ & 4) == 0) && (flag_code != CODE_16BIT)) {\n            pcVar10 = (char *)dcgettext(0,"use .code16 to ensure correct addressing mode",5);\n            as_warn(pcVar10);\n          }\n          return (char *)pbVar11;\n        }\n        piVar14 = piVar14 + 1;\n      } while (piVar14 < ptVar1->end);\n      piVar14 = ptVar1->start;\n      if ((uVar4 & 2) == 0) {\nLAB_0004562d:\n        pcVar10 = piVar14->name;\n        if (flag_code == CODE_64BIT) {\nLAB_00045352:\n          pcVar13 = (char *)dcgettext(0,"`%s\' is not supported in 64-bit mode",5);\n        }\n        else {\nLAB_00045188:\n          pcVar13 = (char *)dcgettext(0,"`%s\' is only supported in 64-bit mode",5);\n        }\nLAB_000451a1:\n        as_bad(pcVar13,pcVar10);\n      }\n      else {\n        pcVar10 = piVar14->name;\n        pcVar13 = cpu_sub_arch_name;\n        if (cpu_sub_arch_name == (char *)0x0) {\n          pcVar13 = "";\n        }\n        pcVar12 = cpu_arch_name;\n        if (cpu_arch_name == (char *)0x0) {\n          pcVar12 = default_arch;\n        }\n        pcVar7 = (char *)dcgettext(0,"`%s\' is not supported on `%s%s\'",5);\n        as_bad(pcVar7,pcVar10,pcVar12,pcVar13);\n      }\n      return (char *)0x0;\n    }\n    if (current_templates == (templates *)0x0) {\nLAB_00045540:\n      if ((pcVar10 == pcVar13 + -2) && (pcVar10[1] == 's')) {\n        i.dir_encoding = Cpu386;\nLAB_00045660:\n        *pcVar10 = '\0';\n        ptVar9 = (templates *)hash_find(op_hash,mnemonic);\n        current_templates = ptVar9;\n        if (ptVar9 == (templates *)0x0) {\n          cVar3 = pcVar10[-1];\n          current_templates = (templates *)0x0;\n          pcVar13 = pcVar10;\n          ptVar1 = (templates *)0x0;\n          switch(cVar3) {\n          case 'b':\n          case 'q':\n            goto _L2009;\n          default:\n            goto _L1930;\n          case 'd':\n            goto _L1927;\n          case 'l':\n          case 's':\n            goto _L1925;\n          case 'w':\n            goto _L1921;\n          }\n        }\n      }\n      else {\n        if (pcVar10 == pcVar13 + -3) {\n          if (pcVar10[1] == 'd') {\n            if (pcVar10[2] == '8') {\n              i.disp_encoding = Cpu286;\n              goto LAB_00045660;\n            }\n            if (pcVar10 == pcVar13 + -4) goto LAB_000456b1;\n          }\n        }\n        else if ((pcVar10 == pcVar13 + -4) && (pcVar10[1] == 'd')) {\nLAB_000456b1:\n          if ((pcVar10[2] == '3') && (pcVar10[3] == '2')) {\n            i.disp_encoding = Cpu386;\n            goto LAB_00045660;\n          }\n        }\n        cVar3 = pcVar13[-1];\n        ptVar1 = current_templates;\n        ptVar9 = current_templates;\n        switch(cVar3) {\n        case 'b':\n        case 'q':\n          break;\n        default:\n          goto _L1930;\n        case 'd':\n_L1927:\n          current_templates = ptVar9;\n          if (intel_syntax != 0) {\n            cVar3 = 'l';\n            if ((*mnemonic == 'f') && (iVar8 = intel_float_operand(mnemonic), iVar8 == 1)) {\n              cVar3 = 's';\n            }\n            break;\n          }\n          goto LAB_000455d5;\n        case 'l':\n        case 's':\n_L1925:\n          current_templates = ptVar9;\n          if (intel_syntax != 0) goto LAB_000455d5;\n          break;\n        case 'w':\n_L1921:\n          cVar3 = 'w';\n          if ((intel_syntax != 0) && (*mnemonic == 'f')) {\n            uVar4 = intel_float_operand(mnemonic);\n            cVar3 = (-((uVar4 & 2) == 0) & 4U) + 0x73;\n          }\n        }\n_L2009:\n        i.suffix = cVar3;\n        pcVar13[-1] = '\0';\n        current_templates = (templates *)hash_find(op_hash,mnemonic);\nLAB_000455d5:\n        ptVar1 = current_templates;\n        if (current_templates == (templates *)0x0) {\n_L1930:\n          current_templates = ptVar1;\n          pcVar10 = (char *)dcgettext(0,"no such instruction: `%s\'",5);\n          as_bad(pcVar10,local_38);\n          return (char *)0x0;\n        }\n      }\n      piVar14 = current_templates->start;\n      bVar2 = *pbVar11;\nLAB_000454eb:\n      if ((undefined1  [12])((undefined1  [12])piVar14->opcode_modifier & (undefined1  [12])0xa0) ==\n          (undefined1  [12])0x0) {\nLAB_00045532:\n        if (bVar2 != 0x2c) goto LAB_00045264;\n      }\n      else {\n        if (bVar2 != 0x2c) goto LAB_0004526c;\n        if (pbVar11[1] == 0x70) {\n          if (pbVar11[2] == 0x74) {\n            PVar6 = add_prefix(0x3e);\n          }\n          else {\n            if (pbVar11[2] != 0x6e) goto LAB_000454ff;\n            PVar6 = add_prefix(0x2e);\n          }\n          if (PVar6 == PREFIX_EXIST) {\n            return (char *)0x0;\n          }\n          bVar2 = pbVar11[3];\n          pbVar11 = pbVar11 + 3;\n          goto LAB_00045532;\n        }\n      }\nLAB_000454ff:\n      uVar4 = 0x2c;\n      goto LAB_00045222;\n    }\n    piVar14 = current_templates->start;\n    if (((piVar14->opcode_modifier).field_0x4 & 0x10) == 0) goto LAB_000454eb;\n    local_20 = (char)(piVar14->cpu_flags).array[3];\n    if (flag_code == CODE_64BIT) {\n      if (local_20 < '\0') {\n        pcVar10 = piVar14->name;\n        goto LAB_00045352;\n      }\n    }\n    else {\n      if (((piVar14->cpu_flags).array[3] & 0x40) != 0) {\n        pcVar10 = piVar14->name;\n        goto LAB_00045188;\n      }\n      bVar2 = (piVar14->opcode_modifier).field_0x1;\n      if (((bVar2 & 0x18) != 0) && ((bool)(bVar2 >> 4 & 1) != (flag_code == CODE_16BIT))) {\n        pcVar10 = piVar14->name;\n        pcVar13 = (char *)dcgettext(0,"redundant %s prefix",5);\n        as_bad(pcVar13,pcVar10);\n        return (char *)0x0;\n      }\n    }\n    if (piVar14->opcode_length == '\0') {\n      pcVar13 = i.rep_prefix;\n      pcVar12 = i.hle_prefix;\n      switch(piVar14->base_opcode) {\n      case 0:\n        i.disp_encoding = Cpu286;\n        break;\n      case 1:\n        i.disp_encoding = Cpu386;\n        break;\n      case 2:\n        i.dir_encoding = Cpu286;\n        break;\n      case 3:\n        i.dir_encoding = Cpu386;\n        break;\n      case 4:\n        i.vec_encoding = Cpu286;\n        break;\n      case 5:\n        i.vec_encoding = Cpu386;\n        break;\n      case 6:\n        i.vec_encoding = Cpu486;\n        break;\n      case 7:\n        i.rex_encoding = 1;\n        break;\n      case 8:\n        i.no_optimize = 1;\n        break;\n      default:\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/tc-i386.c",0x1127,"parse_insn");\n      }\n    }\n    else {\n      PVar6 = add_prefix(piVar14->base_opcode);\n      pcVar13 = i.rep_prefix;\n      pcVar12 = i.hle_prefix;\n      if (PVar6 == PREFIX_REP) {\n        piVar14 = current_templates->start;\n        pcVar7 = piVar14->name;\n        pcVar12 = pcVar7;\n        if (((undefined1  [16])\n             ((undefined1  [16])piVar14->cpu_flags & (undefined1  [16])0x1000000000000000) ==\n             (undefined1  [16])0x0) &&\n           (pcVar13 = pcVar7, pcVar12 = i.hle_prefix,\n           (undefined1  [16])((undefined1  [16])piVar14->cpu_flags & (undefined1  [16])0x1) !=\n           (undefined1  [16])0x0)) {\n          pcVar13 = i.rep_prefix;\n          i.bnd_prefix = pcVar7;\n        }\n      }\n      else if (PVar6 == PREFIX_DS) {\n        if ((undefined1  [16])\n            ((undefined1  [16])current_templates->start->cpu_flags & (undefined1  [16])0x8000000) !=\n            (undefined1  [16])0x0) {\n          i.notrack_prefix = current_templates->start->name;\n        }\n      }\n      else if (PVar6 == PREFIX_EXIST) {\n        return (char *)0x0;\n      }\n    }\n    i.hle_prefix = pcVar12;\n    i.rep_prefix = pcVar13;\n    local_38 = pbVar11 + 1;\n  } while( true );" do (compound_statement "{\n    cVar3 = mnemonic_chars[*local_38];\n    *mnemonic = cVar3;\n    pcVar13 = mnemonic;\n    pbVar11 = local_38;\n    if (cVar3 == '\0') {\n      bVar2 = *local_38;\n      uVar4 = (uint)(char)bVar2;\n      if ((uVar4 & 0xdf) == 0) goto LAB_000454ae;\nLAB_00045208:\n      if ((intel_syntax == 0) && (((char)uVar4 == '/' || ((char)uVar4 == ',')))) goto LAB_000450fb;\nLAB_00045222:\n      pcVar10 = output_invalid(uVar4);\n      pcVar13 = (char *)dcgettext(0,"invalid character %s in mnemonic",5);\n      goto LAB_000451a1;\n    }\n    do {\n      if (cVar3 == '.') {\n        pcVar10 = pcVar13;\n      }\n      pcVar13 = pcVar13 + 1;\n      ptVar1 = current_templates;\n      if (pbVar11 == local_38 + 0x13) goto _L1930;\n      pbVar11 = pbVar11 + 1;\n      cVar3 = mnemonic_chars[*pbVar11];\n      *pcVar13 = cVar3;\n    } while (cVar3 != '\0');\n    uVar4 = (uint)(char)*pbVar11;\n    if ((uVar4 & 0xdf) != 0) goto LAB_00045208;\nLAB_000450fb:\n    bVar2 = (byte)uVar4;\n    if (pbVar11 == local_38) {\nLAB_000454ae:\n      if ((intel_syntax == 0) && (bVar2 == 0x2f)) {\n        pcVar10 = "expecting prefix; got nothing";\n      }\n      else {\n        pcVar10 = "expecting mnemonic; got nothing";\n      }\n      pcVar10 = (char *)dcgettext(0,pcVar10,5);\n      as_bad(pcVar10);\n      return (char *)0x0;\n    }\n    current_templates = (templates *)hash_find(op_hash,mnemonic);\n    bVar2 = *pbVar11;\n    if ((bVar2 == 0) || ((bVar2 == 0x20 && (pbVar11[1] == 0)))) {\n      if (current_templates == (templates *)0x0) goto LAB_00045540;\n      piVar14 = current_templates->start;\n      if ((undefined1  [12])((undefined1  [12])piVar14->opcode_modifier & (undefined1  [12])0xa0) ==\n          (undefined1  [12])0x0) {\nLAB_00045264:\n        piVar14 = current_templates->start;\n      }\nLAB_0004526c:\n      ptVar1 = current_templates;\n      if (current_templates->end <= piVar14) goto LAB_0004562d;\n      uVar4 = 0;\n      do {\n        uVar5 = cpu_flags_match(piVar14);\n        uVar4 = uVar4 | uVar5;\n        if (uVar4 == 3) {\n          if (((cpu_arch_flags.array[0]._0_1_ & 4) == 0) && (flag_code != CODE_16BIT)) {\n            pcVar10 = (char *)dcgettext(0,"use .code16 to ensure correct addressing mode",5);\n            as_warn(pcVar10);\n          }\n          return (char *)pbVar11;\n        }\n        piVar14 = piVar14 + 1;\n      } while (piVar14 < ptVar1->end);\n      piVar14 = ptVar1->start;\n      if ((uVar4 & 2) == 0) {\nLAB_0004562d:\n        pcVar10 = piVar14->name;\n        if (flag_code == CODE_64BIT) {\nLAB_00045352:\n          pcVar13 = (char *)dcgettext(0,"`%s\' is not supported in 64-bit mode",5);\n        }\n        else {\nLAB_00045188:\n          pcVar13 = (char *)dcgettext(0,"`%s\' is only supported in 64-bit mode",5);\n        }\nLAB_000451a1:\n        as_bad(pcVar13,pcVar10);\n      }\n      else {\n        pcVar10 = piVar14->name;\n        pcVar13 = cpu_sub_arch_name;\n        if (cpu_sub_arch_name == (char *)0x0) {\n          pcVar13 = "";\n        }\n        pcVar12 = cpu_arch_name;\n        if (cpu_arch_name == (char *)0x0) {\n          pcVar12 = default_arch;\n        }\n        pcVar7 = (char *)dcgettext(0,"`%s\' is not supported on `%s%s\'",5);\n        as_bad(pcVar7,pcVar10,pcVar12,pcVar13);\n      }\n      return (char *)0x0;\n    }\n    if (current_templates == (templates *)0x0) {\nLAB_00045540:\n      if ((pcVar10 == pcVar13 + -2) && (pcVar10[1] == 's')) {\n        i.dir_encoding = Cpu386;\nLAB_00045660:\n        *pcVar10 = '\0';\n        ptVar9 = (templates *)hash_find(op_hash,mnemonic);\n        current_templates = ptVar9;\n        if (ptVar9 == (templates *)0x0) {\n          cVar3 = pcVar10[-1];\n          current_templates = (templates *)0x0;\n          pcVar13 = pcVar10;\n          ptVar1 = (templates *)0x0;\n          switch(cVar3) {\n          case 'b':\n          case 'q':\n            goto _L2009;\n          default:\n            goto _L1930;\n          case 'd':\n            goto _L1927;\n          case 'l':\n          case 's':\n            goto _L1925;\n          case 'w':\n            goto _L1921;\n          }\n        }\n      }\n      else {\n        if (pcVar10 == pcVar13 + -3) {\n          if (pcVar10[1] == 'd') {\n            if (pcVar10[2] == '8') {\n              i.disp_encoding = Cpu286;\n              goto LAB_00045660;\n            }\n            if (pcVar10 == pcVar13 + -4) goto LAB_000456b1;\n          }\n        }\n        else if ((pcVar10 == pcVar13 + -4) && (pcVar10[1] == 'd')) {\nLAB_000456b1:\n          if ((pcVar10[2] == '3') && (pcVar10[3] == '2')) {\n            i.disp_encoding = Cpu386;\n            goto LAB_00045660;\n          }\n        }\n        cVar3 = pcVar13[-1];\n        ptVar1 = current_templates;\n        ptVar9 = current_templates;\n        switch(cVar3) {\n        case 'b':\n        case 'q':\n          break;\n        default:\n          goto _L1930;\n        case 'd':\n_L1927:\n          current_templates = ptVar9;\n          if (intel_syntax != 0) {\n            cVar3 = 'l';\n            if ((*mnemonic == 'f') && (iVar8 = intel_float_operand(mnemonic), iVar8 == 1)) {\n              cVar3 = 's';\n            }\n            break;\n          }\n          goto LAB_000455d5;\n        case 'l':\n        case 's':\n_L1925:\n          current_templates = ptVar9;\n          if (intel_syntax != 0) goto LAB_000455d5;\n          break;\n        case 'w':\n_L1921:\n          cVar3 = 'w';\n          if ((intel_syntax != 0) && (*mnemonic == 'f')) {\n            uVar4 = intel_float_operand(mnemonic);\n            cVar3 = (-((uVar4 & 2) == 0) & 4U) + 0x73;\n          }\n        }\n_L2009:\n        i.suffix = cVar3;\n        pcVar13[-1] = '\0';\n        current_templates = (templates *)hash_find(op_hash,mnemonic);\nLAB_000455d5:\n        ptVar1 = current_templates;\n        if (current_templates == (templates *)0x0) {\n_L1930:\n          current_templates = ptVar1;\n          pcVar10 = (char *)dcgettext(0,"no such instruction: `%s\'",5);\n          as_bad(pcVar10,local_38);\n          return (char *)0x0;\n        }\n      }\n      piVar14 = current_templates->start;\n      bVar2 = *pbVar11;\nLAB_000454eb:\n      if ((undefined1  [12])((undefined1  [12])piVar14->opcode_modifier & (undefined1  [12])0xa0) ==\n          (undefined1  [12])0x0) {\nLAB_00045532:\n        if (bVar2 != 0x2c) goto LAB_00045264;\n      }\n      else {\n        if (bVar2 != 0x2c) goto LAB_0004526c;\n        if (pbVar11[1] == 0x70) {\n          if (pbVar11[2] == 0x74) {\n            PVar6 = add_prefix(0x3e);\n          }\n          else {\n            if (pbVar11[2] != 0x6e) goto LAB_000454ff;\n            PVar6 = add_prefix(0x2e);\n          }\n          if (PVar6 == PREFIX_EXIST) {\n            return (char *)0x0;\n          }\n          bVar2 = pbVar11[3];\n          pbVar11 = pbVar11 + 3;\n          goto LAB_00045532;\n        }\n      }\nLAB_000454ff:\n      uVar4 = 0x2c;\n      goto LAB_00045222;\n    }\n    piVar14 = current_templates->start;\n    if (((piVar14->opcode_modifier).field_0x4 & 0x10) == 0) goto LAB_000454eb;\n    local_20 = (char)(piVar14->cpu_flags).array[3];\n    if (flag_code == CODE_64BIT) {\n      if (local_20 < '\0') {\n        pcVar10 = piVar14->name;\n        goto LAB_00045352;\n      }\n    }\n    else {\n      if (((piVar14->cpu_flags).array[3] & 0x40) != 0) {\n        pcVar10 = piVar14->name;\n        goto LAB_00045188;\n      }\n      bVar2 = (piVar14->opcode_modifier).field_0x1;\n      if (((bVar2 & 0x18) != 0) && ((bool)(bVar2 >> 4 & 1) != (flag_code == CODE_16BIT))) {\n        pcVar10 = piVar14->name;\n        pcVar13 = (char *)dcgettext(0,"redundant %s prefix",5);\n        as_bad(pcVar13,pcVar10);\n        return (char *)0x0;\n      }\n    }\n    if (piVar14->opcode_length == '\0') {\n      pcVar13 = i.rep_prefix;\n      pcVar12 = i.hle_prefix;\n      switch(piVar14->base_opcode) {\n      case 0:\n        i.disp_encoding = Cpu286;\n        break;\n      case 1:\n        i.disp_encoding = Cpu386;\n        break;\n      case 2:\n        i.dir_encoding = Cpu286;\n        break;\n      case 3:\n        i.dir_encoding = Cpu386;\n        break;\n      case 4:\n        i.vec_encoding = Cpu286;\n        break;\n      case 5:\n        i.vec_encoding = Cpu386;\n        break;\n      case 6:\n        i.vec_encoding = Cpu486;\n        break;\n      case 7:\n        i.rex_encoding = 1;\n        break;\n      case 8:\n        i.no_optimize = 1;\n        break;\n      default:\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/tc-i386.c",0x1127,"parse_insn");\n      }\n    }\n    else {\n      PVar6 = add_prefix(piVar14->base_opcode);\n      pcVar13 = i.rep_prefix;\n      pcVar12 = i.hle_prefix;\n      if (PVar6 == PREFIX_REP) {\n        piVar14 = current_templates->start;\n        pcVar7 = piVar14->name;\n        pcVar12 = pcVar7;\n        if (((undefined1  [16])\n             ((undefined1  [16])piVar14->cpu_flags & (undefined1  [16])0x1000000000000000) ==\n             (undefined1  [16])0x0) &&\n           (pcVar13 = pcVar7, pcVar12 = i.hle_prefix,\n           (undefined1  [16])((undefined1  [16])piVar14->cpu_flags & (undefined1  [16])0x1) !=\n           (undefined1  [16])0x0)) {\n          pcVar13 = i.rep_prefix;\n          i.bnd_prefix = pcVar7;\n        }\n      }\n      else if (PVar6 == PREFIX_DS) {\n        if ((undefined1  [16])\n            ((undefined1  [16])current_templates->start->cpu_flags & (undefined1  [16])0x8000000) !=\n            (undefined1  [16])0x0) {\n          i.notrack_prefix = current_templates->start->name;\n        }\n      }\n      else if (PVar6 == PREFIX_EXIST) {\n        return (char *)0x0;\n      }\n    }\n    i.hle_prefix = pcVar12;\n    i.rep_prefix = pcVar13;\n    local_38 = pbVar11 + 1;\n  }" { (expression_statement "cVar3 = mnemonic_chars[*local_38];" (assignment_expression "cVar3 = mnemonic_chars[*local_38]" identifier = (subscript_expression "mnemonic_chars[*local_38]" identifier [ (pointer_expression "*local_38" * identifier) ])) ;) (expression_statement "*mnemonic = cVar3;" (assignment_expression "*mnemonic = cVar3" (pointer_expression "*mnemonic" * identifier) = identifier) ;) (expression_statement "pcVar13 = mnemonic;" (assignment_expression "pcVar13 = mnemonic" identifier = identifier) ;) (expression_statement "pbVar11 = local_38;" (assignment_expression "pbVar11 = local_38" identifier = identifier) ;) (if_statement "if (cVar3 == '\0') {\n      bVar2 = *local_38;\n      uVar4 = (uint)(char)bVar2;\n      if ((uVar4 & 0xdf) == 0) goto LAB_000454ae;\nLAB_00045208:\n      if ((intel_syntax == 0) && (((char)uVar4 == '/' || ((char)uVar4 == ',')))) goto LAB_000450fb;\nLAB_00045222:\n      pcVar10 = output_invalid(uVar4);\n      pcVar13 = (char *)dcgettext(0,"invalid character %s in mnemonic",5);\n      goto LAB_000451a1;\n    }" if (parenthesized_expression "(cVar3 == '\0')" ( (binary_expression "cVar3 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      bVar2 = *local_38;\n      uVar4 = (uint)(char)bVar2;\n      if ((uVar4 & 0xdf) == 0) goto LAB_000454ae;\nLAB_00045208:\n      if ((intel_syntax == 0) && (((char)uVar4 == '/' || ((char)uVar4 == ',')))) goto LAB_000450fb;\nLAB_00045222:\n      pcVar10 = output_invalid(uVar4);\n      pcVar13 = (char *)dcgettext(0,"invalid character %s in mnemonic",5);\n      goto LAB_000451a1;\n    }" { (expression_statement "bVar2 = *local_38;" (assignment_expression "bVar2 = *local_38" identifier = (pointer_expression "*local_38" * identifier)) ;) (expression_statement "uVar4 = (uint)(char)bVar2;" (assignment_expression "uVar4 = (uint)(char)bVar2" identifier = (cast_expression "(uint)(char)bVar2" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(char)bVar2" ( (type_descriptor "char" primitive_type) ) identifier))) ;) (if_statement "if ((uVar4 & 0xdf) == 0) goto LAB_000454ae;" if (parenthesized_expression "((uVar4 & 0xdf) == 0)" ( (binary_expression "(uVar4 & 0xdf) == 0" (parenthesized_expression "(uVar4 & 0xdf)" ( (binary_expression "uVar4 & 0xdf" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_000454ae;" goto statement_identifier ;)) (labeled_statement "LAB_00045208:\n      if ((intel_syntax == 0) && (((char)uVar4 == '/' || ((char)uVar4 == ',')))) goto LAB_000450fb;" statement_identifier : (if_statement "if ((intel_syntax == 0) && (((char)uVar4 == '/' || ((char)uVar4 == ',')))) goto LAB_000450fb;" if (parenthesized_expression "((intel_syntax == 0) && (((char)uVar4 == '/' || ((char)uVar4 == ','))))" ( (binary_expression "(intel_syntax == 0) && (((char)uVar4 == '/' || ((char)uVar4 == ',')))" (parenthesized_expression "(intel_syntax == 0)" ( (binary_expression "intel_syntax == 0" identifier == number_literal) )) && (parenthesized_expression "(((char)uVar4 == '/' || ((char)uVar4 == ',')))" ( (parenthesized_expression "((char)uVar4 == '/' || ((char)uVar4 == ','))" ( (binary_expression "(char)uVar4 == '/' || ((char)uVar4 == ',')" (binary_expression "(char)uVar4 == '/'" (cast_expression "(char)uVar4" ( (type_descriptor "char" primitive_type) ) identifier) == (char_literal "'/'" ' character ')) || (parenthesized_expression "((char)uVar4 == ',')" ( (binary_expression "(char)uVar4 == ','" (cast_expression "(char)uVar4" ( (type_descriptor "char" primitive_type) ) identifier) == (char_literal "','" ' character ')) ))) )) ))) )) (goto_statement "goto LAB_000450fb;" goto statement_identifier ;))) (labeled_statement "LAB_00045222:\n      pcVar10 = output_invalid(uVar4);" statement_identifier : (expression_statement "pcVar10 = output_invalid(uVar4);" (assignment_expression "pcVar10 = output_invalid(uVar4)" identifier = (call_expression "output_invalid(uVar4)" identifier (argument_list "(uVar4)" ( identifier )))) ;)) (expression_statement "pcVar13 = (char *)dcgettext(0,"invalid character %s in mnemonic",5);" (assignment_expression "pcVar13 = (char *)dcgettext(0,"invalid character %s in mnemonic",5)" identifier = (cast_expression "(char *)dcgettext(0,"invalid character %s in mnemonic",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"invalid character %s in mnemonic",5)" identifier (argument_list "(0,"invalid character %s in mnemonic",5)" ( number_literal , (string_literal ""invalid character %s in mnemonic"" " string_content ") , number_literal ))))) ;) (goto_statement "goto LAB_000451a1;" goto statement_identifier ;) })) (do_statement "do {\n      if (cVar3 == '.') {\n        pcVar10 = pcVar13;\n      }\n      pcVar13 = pcVar13 + 1;\n      ptVar1 = current_templates;\n      if (pbVar11 == local_38 + 0x13) goto _L1930;\n      pbVar11 = pbVar11 + 1;\n      cVar3 = mnemonic_chars[*pbVar11];\n      *pcVar13 = cVar3;\n    } while (cVar3 != '\0');" do (compound_statement "{\n      if (cVar3 == '.') {\n        pcVar10 = pcVar13;\n      }\n      pcVar13 = pcVar13 + 1;\n      ptVar1 = current_templates;\n      if (pbVar11 == local_38 + 0x13) goto _L1930;\n      pbVar11 = pbVar11 + 1;\n      cVar3 = mnemonic_chars[*pbVar11];\n      *pcVar13 = cVar3;\n    }" { (if_statement "if (cVar3 == '.') {\n        pcVar10 = pcVar13;\n      }" if (parenthesized_expression "(cVar3 == '.')" ( (binary_expression "cVar3 == '.'" identifier == (char_literal "'.'" ' character ')) )) (compound_statement "{\n        pcVar10 = pcVar13;\n      }" { (expression_statement "pcVar10 = pcVar13;" (assignment_expression "pcVar10 = pcVar13" identifier = identifier) ;) })) (expression_statement "pcVar13 = pcVar13 + 1;" (assignment_expression "pcVar13 = pcVar13 + 1" identifier = (binary_expression "pcVar13 + 1" identifier + number_literal)) ;) (expression_statement "ptVar1 = current_templates;" (assignment_expression "ptVar1 = current_templates" identifier = identifier) ;) (if_statement "if (pbVar11 == local_38 + 0x13) goto _L1930;" if (parenthesized_expression "(pbVar11 == local_38 + 0x13)" ( (binary_expression "pbVar11 == local_38 + 0x13" identifier == (binary_expression "local_38 + 0x13" identifier + number_literal)) )) (goto_statement "goto _L1930;" goto statement_identifier ;)) (expression_statement "pbVar11 = pbVar11 + 1;" (assignment_expression "pbVar11 = pbVar11 + 1" identifier = (binary_expression "pbVar11 + 1" identifier + number_literal)) ;) (expression_statement "cVar3 = mnemonic_chars[*pbVar11];" (assignment_expression "cVar3 = mnemonic_chars[*pbVar11]" identifier = (subscript_expression "mnemonic_chars[*pbVar11]" identifier [ (pointer_expression "*pbVar11" * identifier) ])) ;) (expression_statement "*pcVar13 = cVar3;" (assignment_expression "*pcVar13 = cVar3" (pointer_expression "*pcVar13" * identifier) = identifier) ;) }) while (parenthesized_expression "(cVar3 != '\0')" ( (binary_expression "cVar3 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) ;) (expression_statement "uVar4 = (uint)(char)*pbVar11;" (assignment_expression "uVar4 = (uint)(char)*pbVar11" identifier = (binary_expression "(uint)(char)*pbVar11" (call_expression "(uint)(char)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(char)" ( identifier ))) * identifier)) ;) (if_statement "if ((uVar4 & 0xdf) != 0) goto LAB_00045208;" if (parenthesized_expression "((uVar4 & 0xdf) != 0)" ( (binary_expression "(uVar4 & 0xdf) != 0" (parenthesized_expression "(uVar4 & 0xdf)" ( (binary_expression "uVar4 & 0xdf" identifier & number_literal) )) != number_literal) )) (goto_statement "goto LAB_00045208;" goto statement_identifier ;)) (labeled_statement "LAB_000450fb:\n    bVar2 = (byte)uVar4;" statement_identifier : (expression_statement "bVar2 = (byte)uVar4;" (assignment_expression "bVar2 = (byte)uVar4" identifier = (cast_expression "(byte)uVar4" ( (type_descriptor "byte" type_identifier) ) identifier)) ;)) (if_statement "if (pbVar11 == local_38) {\nLAB_000454ae:\n      if ((intel_syntax == 0) && (bVar2 == 0x2f)) {\n        pcVar10 = "expecting prefix; got nothing";\n      }\n      else {\n        pcVar10 = "expecting mnemonic; got nothing";\n      }\n      pcVar10 = (char *)dcgettext(0,pcVar10,5);\n      as_bad(pcVar10);\n      return (char *)0x0;\n    }" if (parenthesized_expression "(pbVar11 == local_38)" ( (binary_expression "pbVar11 == local_38" identifier == identifier) )) (compound_statement "{\nLAB_000454ae:\n      if ((intel_syntax == 0) && (bVar2 == 0x2f)) {\n        pcVar10 = "expecting prefix; got nothing";\n      }\n      else {\n        pcVar10 = "expecting mnemonic; got nothing";\n      }\n      pcVar10 = (char *)dcgettext(0,pcVar10,5);\n      as_bad(pcVar10);\n      return (char *)0x0;\n    }" { (labeled_statement "LAB_000454ae:\n      if ((intel_syntax == 0) && (bVar2 == 0x2f)) {\n        pcVar10 = "expecting prefix; got nothing";\n      }\n      else {\n        pcVar10 = "expecting mnemonic; got nothing";\n      }" statement_identifier : (if_statement "if ((intel_syntax == 0) && (bVar2 == 0x2f)) {\n        pcVar10 = "expecting prefix; got nothing";\n      }\n      else {\n        pcVar10 = "expecting mnemonic; got nothing";\n      }" if (parenthesized_expression "((intel_syntax == 0) && (bVar2 == 0x2f))" ( (binary_expression "(intel_syntax == 0) && (bVar2 == 0x2f)" (parenthesized_expression "(intel_syntax == 0)" ( (binary_expression "intel_syntax == 0" identifier == number_literal) )) && (parenthesized_expression "(bVar2 == 0x2f)" ( (binary_expression "bVar2 == 0x2f" identifier == number_literal) ))) )) (compound_statement "{\n        pcVar10 = "expecting prefix; got nothing";\n      }" { (expression_statement "pcVar10 = "expecting prefix; got nothing";" (assignment_expression "pcVar10 = "expecting prefix; got nothing"" identifier = (string_literal ""expecting prefix; got nothing"" " string_content ")) ;) }) (else_clause "else {\n        pcVar10 = "expecting mnemonic; got nothing";\n      }" else (compound_statement "{\n        pcVar10 = "expecting mnemonic; got nothing";\n      }" { (expression_statement "pcVar10 = "expecting mnemonic; got nothing";" (assignment_expression "pcVar10 = "expecting mnemonic; got nothing"" identifier = (string_literal ""expecting mnemonic; got nothing"" " string_content ")) ;) })))) (expression_statement "pcVar10 = (char *)dcgettext(0,pcVar10,5);" (assignment_expression "pcVar10 = (char *)dcgettext(0,pcVar10,5)" identifier = (cast_expression "(char *)dcgettext(0,pcVar10,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,pcVar10,5)" identifier (argument_list "(0,pcVar10,5)" ( number_literal , identifier , number_literal ))))) ;) (expression_statement "as_bad(pcVar10);" (call_expression "as_bad(pcVar10)" identifier (argument_list "(pcVar10)" ( identifier ))) ;) (return_statement "return (char *)0x0;" return (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) (expression_statement "current_templates = (templates *)hash_find(op_hash,mnemonic);" (assignment_expression "current_templates = (templates *)hash_find(op_hash,mnemonic)" identifier = (cast_expression "(templates *)hash_find(op_hash,mnemonic)" ( (type_descriptor "templates *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "hash_find(op_hash,mnemonic)" identifier (argument_list "(op_hash,mnemonic)" ( identifier , identifier ))))) ;) (expression_statement "bVar2 = *pbVar11;" (assignment_expression "bVar2 = *pbVar11" identifier = (pointer_expression "*pbVar11" * identifier)) ;) (if_statement "if ((bVar2 == 0) || ((bVar2 == 0x20 && (pbVar11[1] == 0)))) {\n      if (current_templates == (templates *)0x0) goto LAB_00045540;\n      piVar14 = current_templates->start;\n      if ((undefined1  [12])((undefined1  [12])piVar14->opcode_modifier & (undefined1  [12])0xa0) ==\n          (undefined1  [12])0x0) {\nLAB_00045264:\n        piVar14 = current_templates->start;\n      }\nLAB_0004526c:\n      ptVar1 = current_templates;\n      if (current_templates->end <= piVar14) goto LAB_0004562d;\n      uVar4 = 0;\n      do {\n        uVar5 = cpu_flags_match(piVar14);\n        uVar4 = uVar4 | uVar5;\n        if (uVar4 == 3) {\n          if (((cpu_arch_flags.array[0]._0_1_ & 4) == 0) && (flag_code != CODE_16BIT)) {\n            pcVar10 = (char *)dcgettext(0,"use .code16 to ensure correct addressing mode",5);\n            as_warn(pcVar10);\n          }\n          return (char *)pbVar11;\n        }\n        piVar14 = piVar14 + 1;\n      } while (piVar14 < ptVar1->end);\n      piVar14 = ptVar1->start;\n      if ((uVar4 & 2) == 0) {\nLAB_0004562d:\n        pcVar10 = piVar14->name;\n        if (flag_code == CODE_64BIT) {\nLAB_00045352:\n          pcVar13 = (char *)dcgettext(0,"`%s\' is not supported in 64-bit mode",5);\n        }\n        else {\nLAB_00045188:\n          pcVar13 = (char *)dcgettext(0,"`%s\' is only supported in 64-bit mode",5);\n        }\nLAB_000451a1:\n        as_bad(pcVar13,pcVar10);\n      }\n      else {\n        pcVar10 = piVar14->name;\n        pcVar13 = cpu_sub_arch_name;\n        if (cpu_sub_arch_name == (char *)0x0) {\n          pcVar13 = "";\n        }\n        pcVar12 = cpu_arch_name;\n        if (cpu_arch_name == (char *)0x0) {\n          pcVar12 = default_arch;\n        }\n        pcVar7 = (char *)dcgettext(0,"`%s\' is not supported on `%s%s\'",5);\n        as_bad(pcVar7,pcVar10,pcVar12,pcVar13);\n      }\n      return (char *)0x0;\n    }" if (parenthesized_expression "((bVar2 == 0) || ((bVar2 == 0x20 && (pbVar11[1] == 0))))" ( (binary_expression "(bVar2 == 0) || ((bVar2 == 0x20 && (pbVar11[1] == 0)))" (parenthesized_expression "(bVar2 == 0)" ( (binary_expression "bVar2 == 0" identifier == number_literal) )) || (parenthesized_expression "((bVar2 == 0x20 && (pbVar11[1] == 0)))" ( (parenthesized_expression "(bVar2 == 0x20 && (pbVar11[1] == 0))" ( (binary_expression "bVar2 == 0x20 && (pbVar11[1] == 0)" (binary_expression "bVar2 == 0x20" identifier == number_literal) && (parenthesized_expression "(pbVar11[1] == 0)" ( (binary_expression "pbVar11[1] == 0" (subscript_expression "pbVar11[1]" identifier [ number_literal ]) == number_literal) ))) )) ))) )) (compound_statement "{\n      if (current_templates == (templates *)0x0) goto LAB_00045540;\n      piVar14 = current_templates->start;\n      if ((undefined1  [12])((undefined1  [12])piVar14->opcode_modifier & (undefined1  [12])0xa0) ==\n          (undefined1  [12])0x0) {\nLAB_00045264:\n        piVar14 = current_templates->start;\n      }\nLAB_0004526c:\n      ptVar1 = current_templates;\n      if (current_templates->end <= piVar14) goto LAB_0004562d;\n      uVar4 = 0;\n      do {\n        uVar5 = cpu_flags_match(piVar14);\n        uVar4 = uVar4 | uVar5;\n        if (uVar4 == 3) {\n          if (((cpu_arch_flags.array[0]._0_1_ & 4) == 0) && (flag_code != CODE_16BIT)) {\n            pcVar10 = (char *)dcgettext(0,"use .code16 to ensure correct addressing mode",5);\n            as_warn(pcVar10);\n          }\n          return (char *)pbVar11;\n        }\n        piVar14 = piVar14 + 1;\n      } while (piVar14 < ptVar1->end);\n      piVar14 = ptVar1->start;\n      if ((uVar4 & 2) == 0) {\nLAB_0004562d:\n        pcVar10 = piVar14->name;\n        if (flag_code == CODE_64BIT) {\nLAB_00045352:\n          pcVar13 = (char *)dcgettext(0,"`%s\' is not supported in 64-bit mode",5);\n        }\n        else {\nLAB_00045188:\n          pcVar13 = (char *)dcgettext(0,"`%s\' is only supported in 64-bit mode",5);\n        }\nLAB_000451a1:\n        as_bad(pcVar13,pcVar10);\n      }\n      else {\n        pcVar10 = piVar14->name;\n        pcVar13 = cpu_sub_arch_name;\n        if (cpu_sub_arch_name == (char *)0x0) {\n          pcVar13 = "";\n        }\n        pcVar12 = cpu_arch_name;\n        if (cpu_arch_name == (char *)0x0) {\n          pcVar12 = default_arch;\n        }\n        pcVar7 = (char *)dcgettext(0,"`%s\' is not supported on `%s%s\'",5);\n        as_bad(pcVar7,pcVar10,pcVar12,pcVar13);\n      }\n      return (char *)0x0;\n    }" { (if_statement "if (current_templates == (templates *)0x0) goto LAB_00045540;" if (parenthesized_expression "(current_templates == (templates *)0x0)" ( (binary_expression "current_templates == (templates *)0x0" identifier == (cast_expression "(templates *)0x0" ( (type_descriptor "templates *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00045540;" goto statement_identifier ;)) (expression_statement "piVar14 = current_templates->start;" (assignment_expression "piVar14 = current_templates->start" identifier = (field_expression "current_templates->start" identifier -> field_identifier)) ;) (if_statement "if ((undefined1  [12])((undefined1  [12])piVar14->opcode_modifier & (undefined1  [12])0xa0) ==\n          (undefined1  [12])0x0) {\nLAB_00045264:\n        piVar14 = current_templates->start;\n      }" if (parenthesized_expression "((undefined1  [12])((undefined1  [12])piVar14->opcode_modifier & (undefined1  [12])0xa0) ==\n          (undefined1  [12])0x0)" ( (binary_expression "(undefined1  [12])((undefined1  [12])piVar14->opcode_modifier & (undefined1  [12])0xa0) ==\n          (undefined1  [12])0x0" (call_expression "(undefined1  [12])((undefined1  [12])piVar14->opcode_modifier & (undefined1  [12])0xa0)" (parenthesized_expression "(undefined1  [12])" ( (subscript_expression "undefined1  [12]" identifier [ number_literal ]) )) (argument_list "((undefined1  [12])piVar14->opcode_modifier & (undefined1  [12])0xa0)" ( (binary_expression "(undefined1  [12])piVar14->opcode_modifier & (undefined1  [12])0xa0" (cast_expression "(undefined1  [12])piVar14->opcode_modifier" ( (type_descriptor "undefined1  [12]" type_identifier (abstract_array_declarator "[12]" [ number_literal ])) ) (field_expression "piVar14->opcode_modifier" identifier -> field_identifier)) & (cast_expression "(undefined1  [12])0xa0" ( (type_descriptor "undefined1  [12]" type_identifier (abstract_array_declarator "[12]" [ number_literal ])) ) number_literal)) ))) == (cast_expression "(undefined1  [12])0x0" ( (type_descriptor "undefined1  [12]" type_identifier (abstract_array_declarator "[12]" [ number_literal ])) ) number_literal)) )) (compound_statement "{\nLAB_00045264:\n        piVar14 = current_templates->start;\n      }" { (labeled_statement "LAB_00045264:\n        piVar14 = current_templates->start;" statement_identifier : (expression_statement "piVar14 = current_templates->start;" (assignment_expression "piVar14 = current_templates->start" identifier = (field_expression "current_templates->start" identifier -> field_identifier)) ;)) })) (labeled_statement "LAB_0004526c:\n      ptVar1 = current_templates;" statement_identifier : (expression_statement "ptVar1 = current_templates;" (assignment_expression "ptVar1 = current_templates" identifier = identifier) ;)) (if_statement "if (current_templates->end <= piVar14) goto LAB_0004562d;" if (parenthesized_expression "(current_templates->end <= piVar14)" ( (binary_expression "current_templates->end <= piVar14" (field_expression "current_templates->end" identifier -> field_identifier) <= identifier) )) (goto_statement "goto LAB_0004562d;" goto statement_identifier ;)) (expression_statement "uVar4 = 0;" (assignment_expression "uVar4 = 0" identifier = number_literal) ;) (do_statement "do {\n        uVar5 = cpu_flags_match(piVar14);\n        uVar4 = uVar4 | uVar5;\n        if (uVar4 == 3) {\n          if (((cpu_arch_flags.array[0]._0_1_ & 4) == 0) && (flag_code != CODE_16BIT)) {\n            pcVar10 = (char *)dcgettext(0,"use .code16 to ensure correct addressing mode",5);\n            as_warn(pcVar10);\n          }\n          return (char *)pbVar11;\n        }\n        piVar14 = piVar14 + 1;\n      } while (piVar14 < ptVar1->end);" do (compound_statement "{\n        uVar5 = cpu_flags_match(piVar14);\n        uVar4 = uVar4 | uVar5;\n        if (uVar4 == 3) {\n          if (((cpu_arch_flags.array[0]._0_1_ & 4) == 0) && (flag_code != CODE_16BIT)) {\n            pcVar10 = (char *)dcgettext(0,"use .code16 to ensure correct addressing mode",5);\n            as_warn(pcVar10);\n          }\n          return (char *)pbVar11;\n        }\n        piVar14 = piVar14 + 1;\n      }" { (expression_statement "uVar5 = cpu_flags_match(piVar14);" (assignment_expression "uVar5 = cpu_flags_match(piVar14)" identifier = (call_expression "cpu_flags_match(piVar14)" identifier (argument_list "(piVar14)" ( identifier )))) ;) (expression_statement "uVar4 = uVar4 | uVar5;" (assignment_expression "uVar4 = uVar4 | uVar5" identifier = (binary_expression "uVar4 | uVar5" identifier | identifier)) ;) (if_statement "if (uVar4 == 3) {\n          if (((cpu_arch_flags.array[0]._0_1_ & 4) == 0) && (flag_code != CODE_16BIT)) {\n            pcVar10 = (char *)dcgettext(0,"use .code16 to ensure correct addressing mode",5);\n            as_warn(pcVar10);\n          }\n          return (char *)pbVar11;\n        }" if (parenthesized_expression "(uVar4 == 3)" ( (binary_expression "uVar4 == 3" identifier == number_literal) )) (compound_statement "{\n          if (((cpu_arch_flags.array[0]._0_1_ & 4) == 0) && (flag_code != CODE_16BIT)) {\n            pcVar10 = (char *)dcgettext(0,"use .code16 to ensure correct addressing mode",5);\n            as_warn(pcVar10);\n          }\n          return (char *)pbVar11;\n        }" { (if_statement "if (((cpu_arch_flags.array[0]._0_1_ & 4) == 0) && (flag_code != CODE_16BIT)) {\n            pcVar10 = (char *)dcgettext(0,"use .code16 to ensure correct addressing mode",5);\n            as_warn(pcVar10);\n          }" if (parenthesized_expression "(((cpu_arch_flags.array[0]._0_1_ & 4) == 0) && (flag_code != CODE_16BIT))" ( (binary_expression "((cpu_arch_flags.array[0]._0_1_ & 4) == 0) && (flag_code != CODE_16BIT)" (parenthesized_expression "((cpu_arch_flags.array[0]._0_1_ & 4) == 0)" ( (binary_expression "(cpu_arch_flags.array[0]._0_1_ & 4) == 0" (parenthesized_expression "(cpu_arch_flags.array[0]._0_1_ & 4)" ( (binary_expression "cpu_arch_flags.array[0]._0_1_ & 4" (field_expression "cpu_arch_flags.array[0]._0_1_" (subscript_expression "cpu_arch_flags.array[0]" (field_expression "cpu_arch_flags.array" identifier . field_identifier) [ number_literal ]) . field_identifier) & number_literal) )) == number_literal) )) && (parenthesized_expression "(flag_code != CODE_16BIT)" ( (binary_expression "flag_code != CODE_16BIT" identifier != identifier) ))) )) (compound_statement "{\n            pcVar10 = (char *)dcgettext(0,"use .code16 to ensure correct addressing mode",5);\n            as_warn(pcVar10);\n          }" { (expression_statement "pcVar10 = (char *)dcgettext(0,"use .code16 to ensure correct addressing mode",5);" (assignment_expression "pcVar10 = (char *)dcgettext(0,"use .code16 to ensure correct addressing mode",5)" identifier = (cast_expression "(char *)dcgettext(0,"use .code16 to ensure correct addressing mode",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"use .code16 to ensure correct addressing mode",5)" identifier (argument_list "(0,"use .code16 to ensure correct addressing mode",5)" ( number_literal , (string_literal ""use .code16 to ensure correct addressing mode"" " string_content ") , number_literal ))))) ;) (expression_statement "as_warn(pcVar10);" (call_expression "as_warn(pcVar10)" identifier (argument_list "(pcVar10)" ( identifier ))) ;) })) (return_statement "return (char *)pbVar11;" return (cast_expression "(char *)pbVar11" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) ;) })) (expression_statement "piVar14 = piVar14 + 1;" (assignment_expression "piVar14 = piVar14 + 1" identifier = (binary_expression "piVar14 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(piVar14 < ptVar1->end)" ( (binary_expression "piVar14 < ptVar1->end" identifier < (field_expression "ptVar1->end" identifier -> field_identifier)) )) ;) (expression_statement "piVar14 = ptVar1->start;" (assignment_expression "piVar14 = ptVar1->start" identifier = (field_expression "ptVar1->start" identifier -> field_identifier)) ;) (if_statement "if ((uVar4 & 2) == 0) {\nLAB_0004562d:\n        pcVar10 = piVar14->name;\n        if (flag_code == CODE_64BIT) {\nLAB_00045352:\n          pcVar13 = (char *)dcgettext(0,"`%s\' is not supported in 64-bit mode",5);\n        }\n        else {\nLAB_00045188:\n          pcVar13 = (char *)dcgettext(0,"`%s\' is only supported in 64-bit mode",5);\n        }\nLAB_000451a1:\n        as_bad(pcVar13,pcVar10);\n      }\n      else {\n        pcVar10 = piVar14->name;\n        pcVar13 = cpu_sub_arch_name;\n        if (cpu_sub_arch_name == (char *)0x0) {\n          pcVar13 = "";\n        }\n        pcVar12 = cpu_arch_name;\n        if (cpu_arch_name == (char *)0x0) {\n          pcVar12 = default_arch;\n        }\n        pcVar7 = (char *)dcgettext(0,"`%s\' is not supported on `%s%s\'",5);\n        as_bad(pcVar7,pcVar10,pcVar12,pcVar13);\n      }" if (parenthesized_expression "((uVar4 & 2) == 0)" ( (binary_expression "(uVar4 & 2) == 0" (parenthesized_expression "(uVar4 & 2)" ( (binary_expression "uVar4 & 2" identifier & number_literal) )) == number_literal) )) (compound_statement "{\nLAB_0004562d:\n        pcVar10 = piVar14->name;\n        if (flag_code == CODE_64BIT) {\nLAB_00045352:\n          pcVar13 = (char *)dcgettext(0,"`%s\' is not supported in 64-bit mode",5);\n        }\n        else {\nLAB_00045188:\n          pcVar13 = (char *)dcgettext(0,"`%s\' is only supported in 64-bit mode",5);\n        }\nLAB_000451a1:\n        as_bad(pcVar13,pcVar10);\n      }" { (labeled_statement "LAB_0004562d:\n        pcVar10 = piVar14->name;" statement_identifier : (expression_statement "pcVar10 = piVar14->name;" (assignment_expression "pcVar10 = piVar14->name" identifier = (field_expression "piVar14->name" identifier -> field_identifier)) ;)) (if_statement "if (flag_code == CODE_64BIT) {\nLAB_00045352:\n          pcVar13 = (char *)dcgettext(0,"`%s\' is not supported in 64-bit mode",5);\n        }\n        else {\nLAB_00045188:\n          pcVar13 = (char *)dcgettext(0,"`%s\' is only supported in 64-bit mode",5);\n        }" if (parenthesized_expression "(flag_code == CODE_64BIT)" ( (binary_expression "flag_code == CODE_64BIT" identifier == identifier) )) (compound_statement "{\nLAB_00045352:\n          pcVar13 = (char *)dcgettext(0,"`%s\' is not supported in 64-bit mode",5);\n        }" { (labeled_statement "LAB_00045352:\n          pcVar13 = (char *)dcgettext(0,"`%s\' is not supported in 64-bit mode",5);" statement_identifier : (expression_statement "pcVar13 = (char *)dcgettext(0,"`%s\' is not supported in 64-bit mode",5);" (assignment_expression "pcVar13 = (char *)dcgettext(0,"`%s\' is not supported in 64-bit mode",5)" identifier = (cast_expression "(char *)dcgettext(0,"`%s\' is not supported in 64-bit mode",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"`%s\' is not supported in 64-bit mode",5)" identifier (argument_list "(0,"`%s\' is not supported in 64-bit mode",5)" ( number_literal , (string_literal ""`%s\' is not supported in 64-bit mode"" " string_content escape_sequence string_content ") , number_literal ))))) ;)) }) (else_clause "else {\nLAB_00045188:\n          pcVar13 = (char *)dcgettext(0,"`%s\' is only supported in 64-bit mode",5);\n        }" else (compound_statement "{\nLAB_00045188:\n          pcVar13 = (char *)dcgettext(0,"`%s\' is only supported in 64-bit mode",5);\n        }" { (labeled_statement "LAB_00045188:\n          pcVar13 = (char *)dcgettext(0,"`%s\' is only supported in 64-bit mode",5);" statement_identifier : (expression_statement "pcVar13 = (char *)dcgettext(0,"`%s\' is only supported in 64-bit mode",5);" (assignment_expression "pcVar13 = (char *)dcgettext(0,"`%s\' is only supported in 64-bit mode",5)" identifier = (cast_expression "(char *)dcgettext(0,"`%s\' is only supported in 64-bit mode",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"`%s\' is only supported in 64-bit mode",5)" identifier (argument_list "(0,"`%s\' is only supported in 64-bit mode",5)" ( number_literal , (string_literal ""`%s\' is only supported in 64-bit mode"" " string_content escape_sequence string_content ") , number_literal ))))) ;)) }))) (labeled_statement "LAB_000451a1:\n        as_bad(pcVar13,pcVar10);" statement_identifier : (expression_statement "as_bad(pcVar13,pcVar10);" (call_expression "as_bad(pcVar13,pcVar10)" identifier (argument_list "(pcVar13,pcVar10)" ( identifier , identifier ))) ;)) }) (else_clause "else {\n        pcVar10 = piVar14->name;\n        pcVar13 = cpu_sub_arch_name;\n        if (cpu_sub_arch_name == (char *)0x0) {\n          pcVar13 = "";\n        }\n        pcVar12 = cpu_arch_name;\n        if (cpu_arch_name == (char *)0x0) {\n          pcVar12 = default_arch;\n        }\n        pcVar7 = (char *)dcgettext(0,"`%s\' is not supported on `%s%s\'",5);\n        as_bad(pcVar7,pcVar10,pcVar12,pcVar13);\n      }" else (compound_statement "{\n        pcVar10 = piVar14->name;\n        pcVar13 = cpu_sub_arch_name;\n        if (cpu_sub_arch_name == (char *)0x0) {\n          pcVar13 = "";\n        }\n        pcVar12 = cpu_arch_name;\n        if (cpu_arch_name == (char *)0x0) {\n          pcVar12 = default_arch;\n        }\n        pcVar7 = (char *)dcgettext(0,"`%s\' is not supported on `%s%s\'",5);\n        as_bad(pcVar7,pcVar10,pcVar12,pcVar13);\n      }" { (expression_statement "pcVar10 = piVar14->name;" (assignment_expression "pcVar10 = piVar14->name" identifier = (field_expression "piVar14->name" identifier -> field_identifier)) ;) (expression_statement "pcVar13 = cpu_sub_arch_name;" (assignment_expression "pcVar13 = cpu_sub_arch_name" identifier = identifier) ;) (if_statement "if (cpu_sub_arch_name == (char *)0x0) {\n          pcVar13 = "";\n        }" if (parenthesized_expression "(cpu_sub_arch_name == (char *)0x0)" ( (binary_expression "cpu_sub_arch_name == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          pcVar13 = "";\n        }" { (expression_statement "pcVar13 = "";" (assignment_expression "pcVar13 = """ identifier = (string_literal """" " ")) ;) })) (expression_statement "pcVar12 = cpu_arch_name;" (assignment_expression "pcVar12 = cpu_arch_name" identifier = identifier) ;) (if_statement "if (cpu_arch_name == (char *)0x0) {\n          pcVar12 = default_arch;\n        }" if (parenthesized_expression "(cpu_arch_name == (char *)0x0)" ( (binary_expression "cpu_arch_name == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          pcVar12 = default_arch;\n        }" { (expression_statement "pcVar12 = default_arch;" (assignment_expression "pcVar12 = default_arch" identifier = identifier) ;) })) (expression_statement "pcVar7 = (char *)dcgettext(0,"`%s\' is not supported on `%s%s\'",5);" (assignment_expression "pcVar7 = (char *)dcgettext(0,"`%s\' is not supported on `%s%s\'",5)" identifier = (cast_expression "(char *)dcgettext(0,"`%s\' is not supported on `%s%s\'",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"`%s\' is not supported on `%s%s\'",5)" identifier (argument_list "(0,"`%s\' is not supported on `%s%s\'",5)" ( number_literal , (string_literal ""`%s\' is not supported on `%s%s\'"" " string_content escape_sequence string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "as_bad(pcVar7,pcVar10,pcVar12,pcVar13);" (call_expression "as_bad(pcVar7,pcVar10,pcVar12,pcVar13)" identifier (argument_list "(pcVar7,pcVar10,pcVar12,pcVar13)" ( identifier , identifier , identifier , identifier ))) ;) }))) (return_statement "return (char *)0x0;" return (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) (if_statement "if (current_templates == (templates *)0x0) {\nLAB_00045540:\n      if ((pcVar10 == pcVar13 + -2) && (pcVar10[1] == 's')) {\n        i.dir_encoding = Cpu386;\nLAB_00045660:\n        *pcVar10 = '\0';\n        ptVar9 = (templates *)hash_find(op_hash,mnemonic);\n        current_templates = ptVar9;\n        if (ptVar9 == (templates *)0x0) {\n          cVar3 = pcVar10[-1];\n          current_templates = (templates *)0x0;\n          pcVar13 = pcVar10;\n          ptVar1 = (templates *)0x0;\n          switch(cVar3) {\n          case 'b':\n          case 'q':\n            goto _L2009;\n          default:\n            goto _L1930;\n          case 'd':\n            goto _L1927;\n          case 'l':\n          case 's':\n            goto _L1925;\n          case 'w':\n            goto _L1921;\n          }\n        }\n      }\n      else {\n        if (pcVar10 == pcVar13 + -3) {\n          if (pcVar10[1] == 'd') {\n            if (pcVar10[2] == '8') {\n              i.disp_encoding = Cpu286;\n              goto LAB_00045660;\n            }\n            if (pcVar10 == pcVar13 + -4) goto LAB_000456b1;\n          }\n        }\n        else if ((pcVar10 == pcVar13 + -4) && (pcVar10[1] == 'd')) {\nLAB_000456b1:\n          if ((pcVar10[2] == '3') && (pcVar10[3] == '2')) {\n            i.disp_encoding = Cpu386;\n            goto LAB_00045660;\n          }\n        }\n        cVar3 = pcVar13[-1];\n        ptVar1 = current_templates;\n        ptVar9 = current_templates;\n        switch(cVar3) {\n        case 'b':\n        case 'q':\n          break;\n        default:\n          goto _L1930;\n        case 'd':\n_L1927:\n          current_templates = ptVar9;\n          if (intel_syntax != 0) {\n            cVar3 = 'l';\n            if ((*mnemonic == 'f') && (iVar8 = intel_float_operand(mnemonic), iVar8 == 1)) {\n              cVar3 = 's';\n            }\n            break;\n          }\n          goto LAB_000455d5;\n        case 'l':\n        case 's':\n_L1925:\n          current_templates = ptVar9;\n          if (intel_syntax != 0) goto LAB_000455d5;\n          break;\n        case 'w':\n_L1921:\n          cVar3 = 'w';\n          if ((intel_syntax != 0) && (*mnemonic == 'f')) {\n            uVar4 = intel_float_operand(mnemonic);\n            cVar3 = (-((uVar4 & 2) == 0) & 4U) + 0x73;\n          }\n        }\n_L2009:\n        i.suffix = cVar3;\n        pcVar13[-1] = '\0';\n        current_templates = (templates *)hash_find(op_hash,mnemonic);\nLAB_000455d5:\n        ptVar1 = current_templates;\n        if (current_templates == (templates *)0x0) {\n_L1930:\n          current_templates = ptVar1;\n          pcVar10 = (char *)dcgettext(0,"no such instruction: `%s\'",5);\n          as_bad(pcVar10,local_38);\n          return (char *)0x0;\n        }\n      }\n      piVar14 = current_templates->start;\n      bVar2 = *pbVar11;\nLAB_000454eb:\n      if ((undefined1  [12])((undefined1  [12])piVar14->opcode_modifier & (undefined1  [12])0xa0) ==\n          (undefined1  [12])0x0) {\nLAB_00045532:\n        if (bVar2 != 0x2c) goto LAB_00045264;\n      }\n      else {\n        if (bVar2 != 0x2c) goto LAB_0004526c;\n        if (pbVar11[1] == 0x70) {\n          if (pbVar11[2] == 0x74) {\n            PVar6 = add_prefix(0x3e);\n          }\n          else {\n            if (pbVar11[2] != 0x6e) goto LAB_000454ff;\n            PVar6 = add_prefix(0x2e);\n          }\n          if (PVar6 == PREFIX_EXIST) {\n            return (char *)0x0;\n          }\n          bVar2 = pbVar11[3];\n          pbVar11 = pbVar11 + 3;\n          goto LAB_00045532;\n        }\n      }\nLAB_000454ff:\n      uVar4 = 0x2c;\n      goto LAB_00045222;\n    }" if (parenthesized_expression "(current_templates == (templates *)0x0)" ( (binary_expression "current_templates == (templates *)0x0" identifier == (cast_expression "(templates *)0x0" ( (type_descriptor "templates *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_00045540:\n      if ((pcVar10 == pcVar13 + -2) && (pcVar10[1] == 's')) {\n        i.dir_encoding = Cpu386;\nLAB_00045660:\n        *pcVar10 = '\0';\n        ptVar9 = (templates *)hash_find(op_hash,mnemonic);\n        current_templates = ptVar9;\n        if (ptVar9 == (templates *)0x0) {\n          cVar3 = pcVar10[-1];\n          current_templates = (templates *)0x0;\n          pcVar13 = pcVar10;\n          ptVar1 = (templates *)0x0;\n          switch(cVar3) {\n          case 'b':\n          case 'q':\n            goto _L2009;\n          default:\n            goto _L1930;\n          case 'd':\n            goto _L1927;\n          case 'l':\n          case 's':\n            goto _L1925;\n          case 'w':\n            goto _L1921;\n          }\n        }\n      }\n      else {\n        if (pcVar10 == pcVar13 + -3) {\n          if (pcVar10[1] == 'd') {\n            if (pcVar10[2] == '8') {\n              i.disp_encoding = Cpu286;\n              goto LAB_00045660;\n            }\n            if (pcVar10 == pcVar13 + -4) goto LAB_000456b1;\n          }\n        }\n        else if ((pcVar10 == pcVar13 + -4) && (pcVar10[1] == 'd')) {\nLAB_000456b1:\n          if ((pcVar10[2] == '3') && (pcVar10[3] == '2')) {\n            i.disp_encoding = Cpu386;\n            goto LAB_00045660;\n          }\n        }\n        cVar3 = pcVar13[-1];\n        ptVar1 = current_templates;\n        ptVar9 = current_templates;\n        switch(cVar3) {\n        case 'b':\n        case 'q':\n          break;\n        default:\n          goto _L1930;\n        case 'd':\n_L1927:\n          current_templates = ptVar9;\n          if (intel_syntax != 0) {\n            cVar3 = 'l';\n            if ((*mnemonic == 'f') && (iVar8 = intel_float_operand(mnemonic), iVar8 == 1)) {\n              cVar3 = 's';\n            }\n            break;\n          }\n          goto LAB_000455d5;\n        case 'l':\n        case 's':\n_L1925:\n          current_templates = ptVar9;\n          if (intel_syntax != 0) goto LAB_000455d5;\n          break;\n        case 'w':\n_L1921:\n          cVar3 = 'w';\n          if ((intel_syntax != 0) && (*mnemonic == 'f')) {\n            uVar4 = intel_float_operand(mnemonic);\n            cVar3 = (-((uVar4 & 2) == 0) & 4U) + 0x73;\n          }\n        }\n_L2009:\n        i.suffix = cVar3;\n        pcVar13[-1] = '\0';\n        current_templates = (templates *)hash_find(op_hash,mnemonic);\nLAB_000455d5:\n        ptVar1 = current_templates;\n        if (current_templates == (templates *)0x0) {\n_L1930:\n          current_templates = ptVar1;\n          pcVar10 = (char *)dcgettext(0,"no such instruction: `%s\'",5);\n          as_bad(pcVar10,local_38);\n          return (char *)0x0;\n        }\n      }\n      piVar14 = current_templates->start;\n      bVar2 = *pbVar11;\nLAB_000454eb:\n      if ((undefined1  [12])((undefined1  [12])piVar14->opcode_modifier & (undefined1  [12])0xa0) ==\n          (undefined1  [12])0x0) {\nLAB_00045532:\n        if (bVar2 != 0x2c) goto LAB_00045264;\n      }\n      else {\n        if (bVar2 != 0x2c) goto LAB_0004526c;\n        if (pbVar11[1] == 0x70) {\n          if (pbVar11[2] == 0x74) {\n            PVar6 = add_prefix(0x3e);\n          }\n          else {\n            if (pbVar11[2] != 0x6e) goto LAB_000454ff;\n            PVar6 = add_prefix(0x2e);\n          }\n          if (PVar6 == PREFIX_EXIST) {\n            return (char *)0x0;\n          }\n          bVar2 = pbVar11[3];\n          pbVar11 = pbVar11 + 3;\n          goto LAB_00045532;\n        }\n      }\nLAB_000454ff:\n      uVar4 = 0x2c;\n      goto LAB_00045222;\n    }" { (labeled_statement "LAB_00045540:\n      if ((pcVar10 == pcVar13 + -2) && (pcVar10[1] == 's')) {\n        i.dir_encoding = Cpu386;\nLAB_00045660:\n        *pcVar10 = '\0';\n        ptVar9 = (templates *)hash_find(op_hash,mnemonic);\n        current_templates = ptVar9;\n        if (ptVar9 == (templates *)0x0) {\n          cVar3 = pcVar10[-1];\n          current_templates = (templates *)0x0;\n          pcVar13 = pcVar10;\n          ptVar1 = (templates *)0x0;\n          switch(cVar3) {\n          case 'b':\n          case 'q':\n            goto _L2009;\n          default:\n            goto _L1930;\n          case 'd':\n            goto _L1927;\n          case 'l':\n          case 's':\n            goto _L1925;\n          case 'w':\n            goto _L1921;\n          }\n        }\n      }\n      else {\n        if (pcVar10 == pcVar13 + -3) {\n          if (pcVar10[1] == 'd') {\n            if (pcVar10[2] == '8') {\n              i.disp_encoding = Cpu286;\n              goto LAB_00045660;\n            }\n            if (pcVar10 == pcVar13 + -4) goto LAB_000456b1;\n          }\n        }\n        else if ((pcVar10 == pcVar13 + -4) && (pcVar10[1] == 'd')) {\nLAB_000456b1:\n          if ((pcVar10[2] == '3') && (pcVar10[3] == '2')) {\n            i.disp_encoding = Cpu386;\n            goto LAB_00045660;\n          }\n        }\n        cVar3 = pcVar13[-1];\n        ptVar1 = current_templates;\n        ptVar9 = current_templates;\n        switch(cVar3) {\n        case 'b':\n        case 'q':\n          break;\n        default:\n          goto _L1930;\n        case 'd':\n_L1927:\n          current_templates = ptVar9;\n          if (intel_syntax != 0) {\n            cVar3 = 'l';\n            if ((*mnemonic == 'f') && (iVar8 = intel_float_operand(mnemonic), iVar8 == 1)) {\n              cVar3 = 's';\n            }\n            break;\n          }\n          goto LAB_000455d5;\n        case 'l':\n        case 's':\n_L1925:\n          current_templates = ptVar9;\n          if (intel_syntax != 0) goto LAB_000455d5;\n          break;\n        case 'w':\n_L1921:\n          cVar3 = 'w';\n          if ((intel_syntax != 0) && (*mnemonic == 'f')) {\n            uVar4 = intel_float_operand(mnemonic);\n            cVar3 = (-((uVar4 & 2) == 0) & 4U) + 0x73;\n          }\n        }\n_L2009:\n        i.suffix = cVar3;\n        pcVar13[-1] = '\0';\n        current_templates = (templates *)hash_find(op_hash,mnemonic);\nLAB_000455d5:\n        ptVar1 = current_templates;\n        if (current_templates == (templates *)0x0) {\n_L1930:\n          current_templates = ptVar1;\n          pcVar10 = (char *)dcgettext(0,"no such instruction: `%s\'",5);\n          as_bad(pcVar10,local_38);\n          return (char *)0x0;\n        }\n      }" statement_identifier : (if_statement "if ((pcVar10 == pcVar13 + -2) && (pcVar10[1] == 's')) {\n        i.dir_encoding = Cpu386;\nLAB_00045660:\n        *pcVar10 = '\0';\n        ptVar9 = (templates *)hash_find(op_hash,mnemonic);\n        current_templates = ptVar9;\n        if (ptVar9 == (templates *)0x0) {\n          cVar3 = pcVar10[-1];\n          current_templates = (templates *)0x0;\n          pcVar13 = pcVar10;\n          ptVar1 = (templates *)0x0;\n          switch(cVar3) {\n          case 'b':\n          case 'q':\n            goto _L2009;\n          default:\n            goto _L1930;\n          case 'd':\n            goto _L1927;\n          case 'l':\n          case 's':\n            goto _L1925;\n          case 'w':\n            goto _L1921;\n          }\n        }\n      }\n      else {\n        if (pcVar10 == pcVar13 + -3) {\n          if (pcVar10[1] == 'd') {\n            if (pcVar10[2] == '8') {\n              i.disp_encoding = Cpu286;\n              goto LAB_00045660;\n            }\n            if (pcVar10 == pcVar13 + -4) goto LAB_000456b1;\n          }\n        }\n        else if ((pcVar10 == pcVar13 + -4) && (pcVar10[1] == 'd')) {\nLAB_000456b1:\n          if ((pcVar10[2] == '3') && (pcVar10[3] == '2')) {\n            i.disp_encoding = Cpu386;\n            goto LAB_00045660;\n          }\n        }\n        cVar3 = pcVar13[-1];\n        ptVar1 = current_templates;\n        ptVar9 = current_templates;\n        switch(cVar3) {\n        case 'b':\n        case 'q':\n          break;\n        default:\n          goto _L1930;\n        case 'd':\n_L1927:\n          current_templates = ptVar9;\n          if (intel_syntax != 0) {\n            cVar3 = 'l';\n            if ((*mnemonic == 'f') && (iVar8 = intel_float_operand(mnemonic), iVar8 == 1)) {\n              cVar3 = 's';\n            }\n            break;\n          }\n          goto LAB_000455d5;\n        case 'l':\n        case 's':\n_L1925:\n          current_templates = ptVar9;\n          if (intel_syntax != 0) goto LAB_000455d5;\n          break;\n        case 'w':\n_L1921:\n          cVar3 = 'w';\n          if ((intel_syntax != 0) && (*mnemonic == 'f')) {\n            uVar4 = intel_float_operand(mnemonic);\n            cVar3 = (-((uVar4 & 2) == 0) & 4U) + 0x73;\n          }\n        }\n_L2009:\n        i.suffix = cVar3;\n        pcVar13[-1] = '\0';\n        current_templates = (templates *)hash_find(op_hash,mnemonic);\nLAB_000455d5:\n        ptVar1 = current_templates;\n        if (current_templates == (templates *)0x0) {\n_L1930:\n          current_templates = ptVar1;\n          pcVar10 = (char *)dcgettext(0,"no such instruction: `%s\'",5);\n          as_bad(pcVar10,local_38);\n          return (char *)0x0;\n        }\n      }" if (parenthesized_expression "((pcVar10 == pcVar13 + -2) && (pcVar10[1] == 's'))" ( (binary_expression "(pcVar10 == pcVar13 + -2) && (pcVar10[1] == 's')" (parenthesized_expression "(pcVar10 == pcVar13 + -2)" ( (binary_expression "pcVar10 == pcVar13 + -2" identifier == (binary_expression "pcVar13 + -2" identifier + number_literal)) )) && (parenthesized_expression "(pcVar10[1] == 's')" ( (binary_expression "pcVar10[1] == 's'" (subscript_expression "pcVar10[1]" identifier [ number_literal ]) == (char_literal "'s'" ' character ')) ))) )) (compound_statement "{\n        i.dir_encoding = Cpu386;\nLAB_00045660:\n        *pcVar10 = '\0';\n        ptVar9 = (templates *)hash_find(op_hash,mnemonic);\n        current_templates = ptVar9;\n        if (ptVar9 == (templates *)0x0) {\n          cVar3 = pcVar10[-1];\n          current_templates = (templates *)0x0;\n          pcVar13 = pcVar10;\n          ptVar1 = (templates *)0x0;\n          switch(cVar3) {\n          case 'b':\n          case 'q':\n            goto _L2009;\n          default:\n            goto _L1930;\n          case 'd':\n            goto _L1927;\n          case 'l':\n          case 's':\n            goto _L1925;\n          case 'w':\n            goto _L1921;\n          }\n        }\n      }" { (expression_statement "i.dir_encoding = Cpu386;" (assignment_expression "i.dir_encoding = Cpu386" (field_expression "i.dir_encoding" identifier . field_identifier) = identifier) ;) (labeled_statement "LAB_00045660:\n        *pcVar10 = '\0';" statement_identifier : (expression_statement "*pcVar10 = '\0';" (assignment_expression "*pcVar10 = '\0'" (pointer_expression "*pcVar10" * identifier) = (char_literal "'\0'" ' escape_sequence ')) ;)) (expression_statement "ptVar9 = (templates *)hash_find(op_hash,mnemonic);" (assignment_expression "ptVar9 = (templates *)hash_find(op_hash,mnemonic)" identifier = (cast_expression "(templates *)hash_find(op_hash,mnemonic)" ( (type_descriptor "templates *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "hash_find(op_hash,mnemonic)" identifier (argument_list "(op_hash,mnemonic)" ( identifier , identifier ))))) ;) (expression_statement "current_templates = ptVar9;" (assignment_expression "current_templates = ptVar9" identifier = identifier) ;) (if_statement "if (ptVar9 == (templates *)0x0) {\n          cVar3 = pcVar10[-1];\n          current_templates = (templates *)0x0;\n          pcVar13 = pcVar10;\n          ptVar1 = (templates *)0x0;\n          switch(cVar3) {\n          case 'b':\n          case 'q':\n            goto _L2009;\n          default:\n            goto _L1930;\n          case 'd':\n            goto _L1927;\n          case 'l':\n          case 's':\n            goto _L1925;\n          case 'w':\n            goto _L1921;\n          }\n        }" if (parenthesized_expression "(ptVar9 == (templates *)0x0)" ( (binary_expression "ptVar9 == (templates *)0x0" identifier == (cast_expression "(templates *)0x0" ( (type_descriptor "templates *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          cVar3 = pcVar10[-1];\n          current_templates = (templates *)0x0;\n          pcVar13 = pcVar10;\n          ptVar1 = (templates *)0x0;\n          switch(cVar3) {\n          case 'b':\n          case 'q':\n            goto _L2009;\n          default:\n            goto _L1930;\n          case 'd':\n            goto _L1927;\n          case 'l':\n          case 's':\n            goto _L1925;\n          case 'w':\n            goto _L1921;\n          }\n        }" { (expression_statement "cVar3 = pcVar10[-1];" (assignment_expression "cVar3 = pcVar10[-1]" identifier = (subscript_expression "pcVar10[-1]" identifier [ number_literal ])) ;) (expression_statement "current_templates = (templates *)0x0;" (assignment_expression "current_templates = (templates *)0x0" identifier = (cast_expression "(templates *)0x0" ( (type_descriptor "templates *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar13 = pcVar10;" (assignment_expression "pcVar13 = pcVar10" identifier = identifier) ;) (expression_statement "ptVar1 = (templates *)0x0;" (assignment_expression "ptVar1 = (templates *)0x0" identifier = (cast_expression "(templates *)0x0" ( (type_descriptor "templates *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (switch_statement "switch(cVar3) {\n          case 'b':\n          case 'q':\n            goto _L2009;\n          default:\n            goto _L1930;\n          case 'd':\n            goto _L1927;\n          case 'l':\n          case 's':\n            goto _L1925;\n          case 'w':\n            goto _L1921;\n          }" switch (parenthesized_expression "(cVar3)" ( identifier )) (compound_statement "{\n          case 'b':\n          case 'q':\n            goto _L2009;\n          default:\n            goto _L1930;\n          case 'd':\n            goto _L1927;\n          case 'l':\n          case 's':\n            goto _L1925;\n          case 'w':\n            goto _L1921;\n          }" { (case_statement "case 'b':" case (char_literal "'b'" ' character ') :) (case_statement "case 'q':\n            goto _L2009;" case (char_literal "'q'" ' character ') : (goto_statement "goto _L2009;" goto statement_identifier ;)) (case_statement "default:\n            goto _L1930;" default : (goto_statement "goto _L1930;" goto statement_identifier ;)) (case_statement "case 'd':\n            goto _L1927;" case (char_literal "'d'" ' character ') : (goto_statement "goto _L1927;" goto statement_identifier ;)) (case_statement "case 'l':" case (char_literal "'l'" ' character ') :) (case_statement "case 's':\n            goto _L1925;" case (char_literal "'s'" ' character ') : (goto_statement "goto _L1925;" goto statement_identifier ;)) (case_statement "case 'w':\n            goto _L1921;" case (char_literal "'w'" ' character ') : (goto_statement "goto _L1921;" goto statement_identifier ;)) })) })) }) (else_clause "else {\n        if (pcVar10 == pcVar13 + -3) {\n          if (pcVar10[1] == 'd') {\n            if (pcVar10[2] == '8') {\n              i.disp_encoding = Cpu286;\n              goto LAB_00045660;\n            }\n            if (pcVar10 == pcVar13 + -4) goto LAB_000456b1;\n          }\n        }\n        else if ((pcVar10 == pcVar13 + -4) && (pcVar10[1] == 'd')) {\nLAB_000456b1:\n          if ((pcVar10[2] == '3') && (pcVar10[3] == '2')) {\n            i.disp_encoding = Cpu386;\n            goto LAB_00045660;\n          }\n        }\n        cVar3 = pcVar13[-1];\n        ptVar1 = current_templates;\n        ptVar9 = current_templates;\n        switch(cVar3) {\n        case 'b':\n        case 'q':\n          break;\n        default:\n          goto _L1930;\n        case 'd':\n_L1927:\n          current_templates = ptVar9;\n          if (intel_syntax != 0) {\n            cVar3 = 'l';\n            if ((*mnemonic == 'f') && (iVar8 = intel_float_operand(mnemonic), iVar8 == 1)) {\n              cVar3 = 's';\n            }\n            break;\n          }\n          goto LAB_000455d5;\n        case 'l':\n        case 's':\n_L1925:\n          current_templates = ptVar9;\n          if (intel_syntax != 0) goto LAB_000455d5;\n          break;\n        case 'w':\n_L1921:\n          cVar3 = 'w';\n          if ((intel_syntax != 0) && (*mnemonic == 'f')) {\n            uVar4 = intel_float_operand(mnemonic);\n            cVar3 = (-((uVar4 & 2) == 0) & 4U) + 0x73;\n          }\n        }\n_L2009:\n        i.suffix = cVar3;\n        pcVar13[-1] = '\0';\n        current_templates = (templates *)hash_find(op_hash,mnemonic);\nLAB_000455d5:\n        ptVar1 = current_templates;\n        if (current_templates == (templates *)0x0) {\n_L1930:\n          current_templates = ptVar1;\n          pcVar10 = (char *)dcgettext(0,"no such instruction: `%s\'",5);\n          as_bad(pcVar10,local_38);\n          return (char *)0x0;\n        }\n      }" else (compound_statement "{\n        if (pcVar10 == pcVar13 + -3) {\n          if (pcVar10[1] == 'd') {\n            if (pcVar10[2] == '8') {\n              i.disp_encoding = Cpu286;\n              goto LAB_00045660;\n            }\n            if (pcVar10 == pcVar13 + -4) goto LAB_000456b1;\n          }\n        }\n        else if ((pcVar10 == pcVar13 + -4) && (pcVar10[1] == 'd')) {\nLAB_000456b1:\n          if ((pcVar10[2] == '3') && (pcVar10[3] == '2')) {\n            i.disp_encoding = Cpu386;\n            goto LAB_00045660;\n          }\n        }\n        cVar3 = pcVar13[-1];\n        ptVar1 = current_templates;\n        ptVar9 = current_templates;\n        switch(cVar3) {\n        case 'b':\n        case 'q':\n          break;\n        default:\n          goto _L1930;\n        case 'd':\n_L1927:\n          current_templates = ptVar9;\n          if (intel_syntax != 0) {\n            cVar3 = 'l';\n            if ((*mnemonic == 'f') && (iVar8 = intel_float_operand(mnemonic), iVar8 == 1)) {\n              cVar3 = 's';\n            }\n            break;\n          }\n          goto LAB_000455d5;\n        case 'l':\n        case 's':\n_L1925:\n          current_templates = ptVar9;\n          if (intel_syntax != 0) goto LAB_000455d5;\n          break;\n        case 'w':\n_L1921:\n          cVar3 = 'w';\n          if ((intel_syntax != 0) && (*mnemonic == 'f')) {\n            uVar4 = intel_float_operand(mnemonic);\n            cVar3 = (-((uVar4 & 2) == 0) & 4U) + 0x73;\n          }\n        }\n_L2009:\n        i.suffix = cVar3;\n        pcVar13[-1] = '\0';\n        current_templates = (templates *)hash_find(op_hash,mnemonic);\nLAB_000455d5:\n        ptVar1 = current_templates;\n        if (current_templates == (templates *)0x0) {\n_L1930:\n          current_templates = ptVar1;\n          pcVar10 = (char *)dcgettext(0,"no such instruction: `%s\'",5);\n          as_bad(pcVar10,local_38);\n          return (char *)0x0;\n        }\n      }" { (if_statement "if (pcVar10 == pcVar13 + -3) {\n          if (pcVar10[1] == 'd') {\n            if (pcVar10[2] == '8') {\n              i.disp_encoding = Cpu286;\n              goto LAB_00045660;\n            }\n            if (pcVar10 == pcVar13 + -4) goto LAB_000456b1;\n          }\n        }\n        else if ((pcVar10 == pcVar13 + -4) && (pcVar10[1] == 'd')) {\nLAB_000456b1:\n          if ((pcVar10[2] == '3') && (pcVar10[3] == '2')) {\n            i.disp_encoding = Cpu386;\n            goto LAB_00045660;\n          }\n        }" if (parenthesized_expression "(pcVar10 == pcVar13 + -3)" ( (binary_expression "pcVar10 == pcVar13 + -3" identifier == (binary_expression "pcVar13 + -3" identifier + number_literal)) )) (compound_statement "{\n          if (pcVar10[1] == 'd') {\n            if (pcVar10[2] == '8') {\n              i.disp_encoding = Cpu286;\n              goto LAB_00045660;\n            }\n            if (pcVar10 == pcVar13 + -4) goto LAB_000456b1;\n          }\n        }" { (if_statement "if (pcVar10[1] == 'd') {\n            if (pcVar10[2] == '8') {\n              i.disp_encoding = Cpu286;\n              goto LAB_00045660;\n            }\n            if (pcVar10 == pcVar13 + -4) goto LAB_000456b1;\n          }" if (parenthesized_expression "(pcVar10[1] == 'd')" ( (binary_expression "pcVar10[1] == 'd'" (subscript_expression "pcVar10[1]" identifier [ number_literal ]) == (char_literal "'d'" ' character ')) )) (compound_statement "{\n            if (pcVar10[2] == '8') {\n              i.disp_encoding = Cpu286;\n              goto LAB_00045660;\n            }\n            if (pcVar10 == pcVar13 + -4) goto LAB_000456b1;\n          }" { (if_statement "if (pcVar10[2] == '8') {\n              i.disp_encoding = Cpu286;\n              goto LAB_00045660;\n            }" if (parenthesized_expression "(pcVar10[2] == '8')" ( (binary_expression "pcVar10[2] == '8'" (subscript_expression "pcVar10[2]" identifier [ number_literal ]) == (char_literal "'8'" ' character ')) )) (compound_statement "{\n              i.disp_encoding = Cpu286;\n              goto LAB_00045660;\n            }" { (expression_statement "i.disp_encoding = Cpu286;" (assignment_expression "i.disp_encoding = Cpu286" (field_expression "i.disp_encoding" identifier . field_identifier) = identifier) ;) (goto_statement "goto LAB_00045660;" goto statement_identifier ;) })) (if_statement "if (pcVar10 == pcVar13 + -4) goto LAB_000456b1;" if (parenthesized_expression "(pcVar10 == pcVar13 + -4)" ( (binary_expression "pcVar10 == pcVar13 + -4" identifier == (binary_expression "pcVar13 + -4" identifier + number_literal)) )) (goto_statement "goto LAB_000456b1;" goto statement_identifier ;)) })) }) (else_clause "else if ((pcVar10 == pcVar13 + -4) && (pcVar10[1] == 'd')) {\nLAB_000456b1:\n          if ((pcVar10[2] == '3') && (pcVar10[3] == '2')) {\n            i.disp_encoding = Cpu386;\n            goto LAB_00045660;\n          }\n        }" else (if_statement "if ((pcVar10 == pcVar13 + -4) && (pcVar10[1] == 'd')) {\nLAB_000456b1:\n          if ((pcVar10[2] == '3') && (pcVar10[3] == '2')) {\n            i.disp_encoding = Cpu386;\n            goto LAB_00045660;\n          }\n        }" if (parenthesized_expression "((pcVar10 == pcVar13 + -4) && (pcVar10[1] == 'd'))" ( (binary_expression "(pcVar10 == pcVar13 + -4) && (pcVar10[1] == 'd')" (parenthesized_expression "(pcVar10 == pcVar13 + -4)" ( (binary_expression "pcVar10 == pcVar13 + -4" identifier == (binary_expression "pcVar13 + -4" identifier + number_literal)) )) && (parenthesized_expression "(pcVar10[1] == 'd')" ( (binary_expression "pcVar10[1] == 'd'" (subscript_expression "pcVar10[1]" identifier [ number_literal ]) == (char_literal "'d'" ' character ')) ))) )) (compound_statement "{\nLAB_000456b1:\n          if ((pcVar10[2] == '3') && (pcVar10[3] == '2')) {\n            i.disp_encoding = Cpu386;\n            goto LAB_00045660;\n          }\n        }" { (labeled_statement "LAB_000456b1:\n          if ((pcVar10[2] == '3') && (pcVar10[3] == '2')) {\n            i.disp_encoding = Cpu386;\n            goto LAB_00045660;\n          }" statement_identifier : (if_statement "if ((pcVar10[2] == '3') && (pcVar10[3] == '2')) {\n            i.disp_encoding = Cpu386;\n            goto LAB_00045660;\n          }" if (parenthesized_expression "((pcVar10[2] == '3') && (pcVar10[3] == '2'))" ( (binary_expression "(pcVar10[2] == '3') && (pcVar10[3] == '2')" (parenthesized_expression "(pcVar10[2] == '3')" ( (binary_expression "pcVar10[2] == '3'" (subscript_expression "pcVar10[2]" identifier [ number_literal ]) == (char_literal "'3'" ' character ')) )) && (parenthesized_expression "(pcVar10[3] == '2')" ( (binary_expression "pcVar10[3] == '2'" (subscript_expression "pcVar10[3]" identifier [ number_literal ]) == (char_literal "'2'" ' character ')) ))) )) (compound_statement "{\n            i.disp_encoding = Cpu386;\n            goto LAB_00045660;\n          }" { (expression_statement "i.disp_encoding = Cpu386;" (assignment_expression "i.disp_encoding = Cpu386" (field_expression "i.disp_encoding" identifier . field_identifier) = identifier) ;) (goto_statement "goto LAB_00045660;" goto statement_identifier ;) }))) })))) (expression_statement "cVar3 = pcVar13[-1];" (assignment_expression "cVar3 = pcVar13[-1]" identifier = (subscript_expression "pcVar13[-1]" identifier [ number_literal ])) ;) (expression_statement "ptVar1 = current_templates;" (assignment_expression "ptVar1 = current_templates" identifier = identifier) ;) (expression_statement "ptVar9 = current_templates;" (assignment_expression "ptVar9 = current_templates" identifier = identifier) ;) (switch_statement "switch(cVar3) {\n        case 'b':\n        case 'q':\n          break;\n        default:\n          goto _L1930;\n        case 'd':\n_L1927:\n          current_templates = ptVar9;\n          if (intel_syntax != 0) {\n            cVar3 = 'l';\n            if ((*mnemonic == 'f') && (iVar8 = intel_float_operand(mnemonic), iVar8 == 1)) {\n              cVar3 = 's';\n            }\n            break;\n          }\n          goto LAB_000455d5;\n        case 'l':\n        case 's':\n_L1925:\n          current_templates = ptVar9;\n          if (intel_syntax != 0) goto LAB_000455d5;\n          break;\n        case 'w':\n_L1921:\n          cVar3 = 'w';\n          if ((intel_syntax != 0) && (*mnemonic == 'f')) {\n            uVar4 = intel_float_operand(mnemonic);\n            cVar3 = (-((uVar4 & 2) == 0) & 4U) + 0x73;\n          }\n        }" switch (parenthesized_expression "(cVar3)" ( identifier )) (compound_statement "{\n        case 'b':\n        case 'q':\n          break;\n        default:\n          goto _L1930;\n        case 'd':\n_L1927:\n          current_templates = ptVar9;\n          if (intel_syntax != 0) {\n            cVar3 = 'l';\n            if ((*mnemonic == 'f') && (iVar8 = intel_float_operand(mnemonic), iVar8 == 1)) {\n              cVar3 = 's';\n            }\n            break;\n          }\n          goto LAB_000455d5;\n        case 'l':\n        case 's':\n_L1925:\n          current_templates = ptVar9;\n          if (intel_syntax != 0) goto LAB_000455d5;\n          break;\n        case 'w':\n_L1921:\n          cVar3 = 'w';\n          if ((intel_syntax != 0) && (*mnemonic == 'f')) {\n            uVar4 = intel_float_operand(mnemonic);\n            cVar3 = (-((uVar4 & 2) == 0) & 4U) + 0x73;\n          }\n        }" { (case_statement "case 'b':" case (char_literal "'b'" ' character ') :) (case_statement "case 'q':\n          break;" case (char_literal "'q'" ' character ') : (break_statement "break;" break ;)) (case_statement "default:\n          goto _L1930;" default : (goto_statement "goto _L1930;" goto statement_identifier ;)) (case_statement "case 'd':\n_L1927:\n          current_templates = ptVar9;\n          if (intel_syntax != 0) {\n            cVar3 = 'l';\n            if ((*mnemonic == 'f') && (iVar8 = intel_float_operand(mnemonic), iVar8 == 1)) {\n              cVar3 = 's';\n            }\n            break;\n          }\n          goto LAB_000455d5;" case (char_literal "'d'" ' character ') : (labeled_statement "_L1927:\n          current_templates = ptVar9;" statement_identifier : (expression_statement "current_templates = ptVar9;" (assignment_expression "current_templates = ptVar9" identifier = identifier) ;)) (if_statement "if (intel_syntax != 0) {\n            cVar3 = 'l';\n            if ((*mnemonic == 'f') && (iVar8 = intel_float_operand(mnemonic), iVar8 == 1)) {\n              cVar3 = 's';\n            }\n            break;\n          }" if (parenthesized_expression "(intel_syntax != 0)" ( (binary_expression "intel_syntax != 0" identifier != number_literal) )) (compound_statement "{\n            cVar3 = 'l';\n            if ((*mnemonic == 'f') && (iVar8 = intel_float_operand(mnemonic), iVar8 == 1)) {\n              cVar3 = 's';\n            }\n            break;\n          }" { (expression_statement "cVar3 = 'l';" (assignment_expression "cVar3 = 'l'" identifier = (char_literal "'l'" ' character ')) ;) (if_statement "if ((*mnemonic == 'f') && (iVar8 = intel_float_operand(mnemonic), iVar8 == 1)) {\n              cVar3 = 's';\n            }" if (parenthesized_expression "((*mnemonic == 'f') && (iVar8 = intel_float_operand(mnemonic), iVar8 == 1))" ( (binary_expression "(*mnemonic == 'f') && (iVar8 = intel_float_operand(mnemonic), iVar8 == 1)" (parenthesized_expression "(*mnemonic == 'f')" ( (binary_expression "*mnemonic == 'f'" (pointer_expression "*mnemonic" * identifier) == (char_literal "'f'" ' character ')) )) && (parenthesized_expression "(iVar8 = intel_float_operand(mnemonic), iVar8 == 1)" ( (comma_expression "iVar8 = intel_float_operand(mnemonic), iVar8 == 1" (assignment_expression "iVar8 = intel_float_operand(mnemonic)" identifier = (call_expression "intel_float_operand(mnemonic)" identifier (argument_list "(mnemonic)" ( identifier )))) , (binary_expression "iVar8 == 1" identifier == number_literal)) ))) )) (compound_statement "{\n              cVar3 = 's';\n            }" { (expression_statement "cVar3 = 's';" (assignment_expression "cVar3 = 's'" identifier = (char_literal "'s'" ' character ')) ;) })) (break_statement "break;" break ;) })) (goto_statement "goto LAB_000455d5;" goto statement_identifier ;)) (case_statement "case 'l':" case (char_literal "'l'" ' character ') :) (case_statement "case 's':\n_L1925:\n          current_templates = ptVar9;\n          if (intel_syntax != 0) goto LAB_000455d5;\n          break;" case (char_literal "'s'" ' character ') : (labeled_statement "_L1925:\n          current_templates = ptVar9;" statement_identifier : (expression_statement "current_templates = ptVar9;" (assignment_expression "current_templates = ptVar9" identifier = identifier) ;)) (if_statement "if (intel_syntax != 0) goto LAB_000455d5;" if (parenthesized_expression "(intel_syntax != 0)" ( (binary_expression "intel_syntax != 0" identifier != number_literal) )) (goto_statement "goto LAB_000455d5;" goto statement_identifier ;)) (break_statement "break;" break ;)) (case_statement "case 'w':\n_L1921:\n          cVar3 = 'w';\n          if ((intel_syntax != 0) && (*mnemonic == 'f')) {\n            uVar4 = intel_float_operand(mnemonic);\n            cVar3 = (-((uVar4 & 2) == 0) & 4U) + 0x73;\n          }" case (char_literal "'w'" ' character ') : (labeled_statement "_L1921:\n          cVar3 = 'w';" statement_identifier : (expression_statement "cVar3 = 'w';" (assignment_expression "cVar3 = 'w'" identifier = (char_literal "'w'" ' character ')) ;)) (if_statement "if ((intel_syntax != 0) && (*mnemonic == 'f')) {\n            uVar4 = intel_float_operand(mnemonic);\n            cVar3 = (-((uVar4 & 2) == 0) & 4U) + 0x73;\n          }" if (parenthesized_expression "((intel_syntax != 0) && (*mnemonic == 'f'))" ( (binary_expression "(intel_syntax != 0) && (*mnemonic == 'f')" (parenthesized_expression "(intel_syntax != 0)" ( (binary_expression "intel_syntax != 0" identifier != number_literal) )) && (parenthesized_expression "(*mnemonic == 'f')" ( (binary_expression "*mnemonic == 'f'" (pointer_expression "*mnemonic" * identifier) == (char_literal "'f'" ' character ')) ))) )) (compound_statement "{\n            uVar4 = intel_float_operand(mnemonic);\n            cVar3 = (-((uVar4 & 2) == 0) & 4U) + 0x73;\n          }" { (expression_statement "uVar4 = intel_float_operand(mnemonic);" (assignment_expression "uVar4 = intel_float_operand(mnemonic)" identifier = (call_expression "intel_float_operand(mnemonic)" identifier (argument_list "(mnemonic)" ( identifier )))) ;) (expression_statement "cVar3 = (-((uVar4 & 2) == 0) & 4U) + 0x73;" (assignment_expression "cVar3 = (-((uVar4 & 2) == 0) & 4U) + 0x73" identifier = (binary_expression "(-((uVar4 & 2) == 0) & 4U) + 0x73" (parenthesized_expression "(-((uVar4 & 2) == 0) & 4U)" ( (binary_expression "-((uVar4 & 2) == 0) & 4U" (unary_expression "-((uVar4 & 2) == 0)" - (parenthesized_expression "((uVar4 & 2) == 0)" ( (binary_expression "(uVar4 & 2) == 0" (parenthesized_expression "(uVar4 & 2)" ( (binary_expression "uVar4 & 2" identifier & number_literal) )) == number_literal) ))) & number_literal) )) + number_literal)) ;) }))) })) (labeled_statement "_L2009:\n        i.suffix = cVar3;" statement_identifier : (expression_statement "i.suffix = cVar3;" (assignment_expression "i.suffix = cVar3" (field_expression "i.suffix" identifier . field_identifier) = identifier) ;)) (expression_statement "pcVar13[-1] = '\0';" (assignment_expression "pcVar13[-1] = '\0'" (subscript_expression "pcVar13[-1]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "current_templates = (templates *)hash_find(op_hash,mnemonic);" (assignment_expression "current_templates = (templates *)hash_find(op_hash,mnemonic)" identifier = (cast_expression "(templates *)hash_find(op_hash,mnemonic)" ( (type_descriptor "templates *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "hash_find(op_hash,mnemonic)" identifier (argument_list "(op_hash,mnemonic)" ( identifier , identifier ))))) ;) (labeled_statement "LAB_000455d5:\n        ptVar1 = current_templates;" statement_identifier : (expression_statement "ptVar1 = current_templates;" (assignment_expression "ptVar1 = current_templates" identifier = identifier) ;)) (if_statement "if (current_templates == (templates *)0x0) {\n_L1930:\n          current_templates = ptVar1;\n          pcVar10 = (char *)dcgettext(0,"no such instruction: `%s\'",5);\n          as_bad(pcVar10,local_38);\n          return (char *)0x0;\n        }" if (parenthesized_expression "(current_templates == (templates *)0x0)" ( (binary_expression "current_templates == (templates *)0x0" identifier == (cast_expression "(templates *)0x0" ( (type_descriptor "templates *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n_L1930:\n          current_templates = ptVar1;\n          pcVar10 = (char *)dcgettext(0,"no such instruction: `%s\'",5);\n          as_bad(pcVar10,local_38);\n          return (char *)0x0;\n        }" { (labeled_statement "_L1930:\n          current_templates = ptVar1;" statement_identifier : (expression_statement "current_templates = ptVar1;" (assignment_expression "current_templates = ptVar1" identifier = identifier) ;)) (expression_statement "pcVar10 = (char *)dcgettext(0,"no such instruction: `%s\'",5);" (assignment_expression "pcVar10 = (char *)dcgettext(0,"no such instruction: `%s\'",5)" identifier = (cast_expression "(char *)dcgettext(0,"no such instruction: `%s\'",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"no such instruction: `%s\'",5)" identifier (argument_list "(0,"no such instruction: `%s\'",5)" ( number_literal , (string_literal ""no such instruction: `%s\'"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "as_bad(pcVar10,local_38);" (call_expression "as_bad(pcVar10,local_38)" identifier (argument_list "(pcVar10,local_38)" ( identifier , identifier ))) ;) (return_statement "return (char *)0x0;" return (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) })))) (expression_statement "piVar14 = current_templates->start;" (assignment_expression "piVar14 = current_templates->start" identifier = (field_expression "current_templates->start" identifier -> field_identifier)) ;) (expression_statement "bVar2 = *pbVar11;" (assignment_expression "bVar2 = *pbVar11" identifier = (pointer_expression "*pbVar11" * identifier)) ;) (labeled_statement "LAB_000454eb:\n      if ((undefined1  [12])((undefined1  [12])piVar14->opcode_modifier & (undefined1  [12])0xa0) ==\n          (undefined1  [12])0x0) {\nLAB_00045532:\n        if (bVar2 != 0x2c) goto LAB_00045264;\n      }\n      else {\n        if (bVar2 != 0x2c) goto LAB_0004526c;\n        if (pbVar11[1] == 0x70) {\n          if (pbVar11[2] == 0x74) {\n            PVar6 = add_prefix(0x3e);\n          }\n          else {\n            if (pbVar11[2] != 0x6e) goto LAB_000454ff;\n            PVar6 = add_prefix(0x2e);\n          }\n          if (PVar6 == PREFIX_EXIST) {\n            return (char *)0x0;\n          }\n          bVar2 = pbVar11[3];\n          pbVar11 = pbVar11 + 3;\n          goto LAB_00045532;\n        }\n      }" statement_identifier : (if_statement "if ((undefined1  [12])((undefined1  [12])piVar14->opcode_modifier & (undefined1  [12])0xa0) ==\n          (undefined1  [12])0x0) {\nLAB_00045532:\n        if (bVar2 != 0x2c) goto LAB_00045264;\n      }\n      else {\n        if (bVar2 != 0x2c) goto LAB_0004526c;\n        if (pbVar11[1] == 0x70) {\n          if (pbVar11[2] == 0x74) {\n            PVar6 = add_prefix(0x3e);\n          }\n          else {\n            if (pbVar11[2] != 0x6e) goto LAB_000454ff;\n            PVar6 = add_prefix(0x2e);\n          }\n          if (PVar6 == PREFIX_EXIST) {\n            return (char *)0x0;\n          }\n          bVar2 = pbVar11[3];\n          pbVar11 = pbVar11 + 3;\n          goto LAB_00045532;\n        }\n      }" if (parenthesized_expression "((undefined1  [12])((undefined1  [12])piVar14->opcode_modifier & (undefined1  [12])0xa0) ==\n          (undefined1  [12])0x0)" ( (binary_expression "(undefined1  [12])((undefined1  [12])piVar14->opcode_modifier & (undefined1  [12])0xa0) ==\n          (undefined1  [12])0x0" (call_expression "(undefined1  [12])((undefined1  [12])piVar14->opcode_modifier & (undefined1  [12])0xa0)" (parenthesized_expression "(undefined1  [12])" ( (subscript_expression "undefined1  [12]" identifier [ number_literal ]) )) (argument_list "((undefined1  [12])piVar14->opcode_modifier & (undefined1  [12])0xa0)" ( (binary_expression "(undefined1  [12])piVar14->opcode_modifier & (undefined1  [12])0xa0" (cast_expression "(undefined1  [12])piVar14->opcode_modifier" ( (type_descriptor "undefined1  [12]" type_identifier (abstract_array_declarator "[12]" [ number_literal ])) ) (field_expression "piVar14->opcode_modifier" identifier -> field_identifier)) & (cast_expression "(undefined1  [12])0xa0" ( (type_descriptor "undefined1  [12]" type_identifier (abstract_array_declarator "[12]" [ number_literal ])) ) number_literal)) ))) == (cast_expression "(undefined1  [12])0x0" ( (type_descriptor "undefined1  [12]" type_identifier (abstract_array_declarator "[12]" [ number_literal ])) ) number_literal)) )) (compound_statement "{\nLAB_00045532:\n        if (bVar2 != 0x2c) goto LAB_00045264;\n      }" { (labeled_statement "LAB_00045532:\n        if (bVar2 != 0x2c) goto LAB_00045264;" statement_identifier : (if_statement "if (bVar2 != 0x2c) goto LAB_00045264;" if (parenthesized_expression "(bVar2 != 0x2c)" ( (binary_expression "bVar2 != 0x2c" identifier != number_literal) )) (goto_statement "goto LAB_00045264;" goto statement_identifier ;))) }) (else_clause "else {\n        if (bVar2 != 0x2c) goto LAB_0004526c;\n        if (pbVar11[1] == 0x70) {\n          if (pbVar11[2] == 0x74) {\n            PVar6 = add_prefix(0x3e);\n          }\n          else {\n            if (pbVar11[2] != 0x6e) goto LAB_000454ff;\n            PVar6 = add_prefix(0x2e);\n          }\n          if (PVar6 == PREFIX_EXIST) {\n            return (char *)0x0;\n          }\n          bVar2 = pbVar11[3];\n          pbVar11 = pbVar11 + 3;\n          goto LAB_00045532;\n        }\n      }" else (compound_statement "{\n        if (bVar2 != 0x2c) goto LAB_0004526c;\n        if (pbVar11[1] == 0x70) {\n          if (pbVar11[2] == 0x74) {\n            PVar6 = add_prefix(0x3e);\n          }\n          else {\n            if (pbVar11[2] != 0x6e) goto LAB_000454ff;\n            PVar6 = add_prefix(0x2e);\n          }\n          if (PVar6 == PREFIX_EXIST) {\n            return (char *)0x0;\n          }\n          bVar2 = pbVar11[3];\n          pbVar11 = pbVar11 + 3;\n          goto LAB_00045532;\n        }\n      }" { (if_statement "if (bVar2 != 0x2c) goto LAB_0004526c;" if (parenthesized_expression "(bVar2 != 0x2c)" ( (binary_expression "bVar2 != 0x2c" identifier != number_literal) )) (goto_statement "goto LAB_0004526c;" goto statement_identifier ;)) (if_statement "if (pbVar11[1] == 0x70) {\n          if (pbVar11[2] == 0x74) {\n            PVar6 = add_prefix(0x3e);\n          }\n          else {\n            if (pbVar11[2] != 0x6e) goto LAB_000454ff;\n            PVar6 = add_prefix(0x2e);\n          }\n          if (PVar6 == PREFIX_EXIST) {\n            return (char *)0x0;\n          }\n          bVar2 = pbVar11[3];\n          pbVar11 = pbVar11 + 3;\n          goto LAB_00045532;\n        }" if (parenthesized_expression "(pbVar11[1] == 0x70)" ( (binary_expression "pbVar11[1] == 0x70" (subscript_expression "pbVar11[1]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n          if (pbVar11[2] == 0x74) {\n            PVar6 = add_prefix(0x3e);\n          }\n          else {\n            if (pbVar11[2] != 0x6e) goto LAB_000454ff;\n            PVar6 = add_prefix(0x2e);\n          }\n          if (PVar6 == PREFIX_EXIST) {\n            return (char *)0x0;\n          }\n          bVar2 = pbVar11[3];\n          pbVar11 = pbVar11 + 3;\n          goto LAB_00045532;\n        }" { (if_statement "if (pbVar11[2] == 0x74) {\n            PVar6 = add_prefix(0x3e);\n          }\n          else {\n            if (pbVar11[2] != 0x6e) goto LAB_000454ff;\n            PVar6 = add_prefix(0x2e);\n          }" if (parenthesized_expression "(pbVar11[2] == 0x74)" ( (binary_expression "pbVar11[2] == 0x74" (subscript_expression "pbVar11[2]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n            PVar6 = add_prefix(0x3e);\n          }" { (expression_statement "PVar6 = add_prefix(0x3e);" (assignment_expression "PVar6 = add_prefix(0x3e)" identifier = (call_expression "add_prefix(0x3e)" identifier (argument_list "(0x3e)" ( number_literal )))) ;) }) (else_clause "else {\n            if (pbVar11[2] != 0x6e) goto LAB_000454ff;\n            PVar6 = add_prefix(0x2e);\n          }" else (compound_statement "{\n            if (pbVar11[2] != 0x6e) goto LAB_000454ff;\n            PVar6 = add_prefix(0x2e);\n          }" { (if_statement "if (pbVar11[2] != 0x6e) goto LAB_000454ff;" if (parenthesized_expression "(pbVar11[2] != 0x6e)" ( (binary_expression "pbVar11[2] != 0x6e" (subscript_expression "pbVar11[2]" identifier [ number_literal ]) != number_literal) )) (goto_statement "goto LAB_000454ff;" goto statement_identifier ;)) (expression_statement "PVar6 = add_prefix(0x2e);" (assignment_expression "PVar6 = add_prefix(0x2e)" identifier = (call_expression "add_prefix(0x2e)" identifier (argument_list "(0x2e)" ( number_literal )))) ;) }))) (if_statement "if (PVar6 == PREFIX_EXIST) {\n            return (char *)0x0;\n          }" if (parenthesized_expression "(PVar6 == PREFIX_EXIST)" ( (binary_expression "PVar6 == PREFIX_EXIST" identifier == identifier) )) (compound_statement "{\n            return (char *)0x0;\n          }" { (return_statement "return (char *)0x0;" return (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) (expression_statement "bVar2 = pbVar11[3];" (assignment_expression "bVar2 = pbVar11[3]" identifier = (subscript_expression "pbVar11[3]" identifier [ number_literal ])) ;) (expression_statement "pbVar11 = pbVar11 + 3;" (assignment_expression "pbVar11 = pbVar11 + 3" identifier = (binary_expression "pbVar11 + 3" identifier + number_literal)) ;) (goto_statement "goto LAB_00045532;" goto statement_identifier ;) })) })))) (labeled_statement "LAB_000454ff:\n      uVar4 = 0x2c;" statement_identifier : (expression_statement "uVar4 = 0x2c;" (assignment_expression "uVar4 = 0x2c" identifier = number_literal) ;)) (goto_statement "goto LAB_00045222;" goto statement_identifier ;) })) (expression_statement "piVar14 = current_templates->start;" (assignment_expression "piVar14 = current_templates->start" identifier = (field_expression "current_templates->start" identifier -> field_identifier)) ;) (if_statement "if (((piVar14->opcode_modifier).field_0x4 & 0x10) == 0) goto LAB_000454eb;" if (parenthesized_expression "(((piVar14->opcode_modifier).field_0x4 & 0x10) == 0)" ( (binary_expression "((piVar14->opcode_modifier).field_0x4 & 0x10) == 0" (parenthesized_expression "((piVar14->opcode_modifier).field_0x4 & 0x10)" ( (binary_expression "(piVar14->opcode_modifier).field_0x4 & 0x10" (field_expression "(piVar14->opcode_modifier).field_0x4" (parenthesized_expression "(piVar14->opcode_modifier)" ( (field_expression "piVar14->opcode_modifier" identifier -> field_identifier) )) . field_identifier) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_000454eb;" goto statement_identifier ;)) (expression_statement "local_20 = (char)(piVar14->cpu_flags).array[3];" (assignment_expression "local_20 = (char)(piVar14->cpu_flags).array[3]" identifier = (cast_expression "(char)(piVar14->cpu_flags).array[3]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "(piVar14->cpu_flags).array[3]" (field_expression "(piVar14->cpu_flags).array" (parenthesized_expression "(piVar14->cpu_flags)" ( (field_expression "piVar14->cpu_flags" identifier -> field_identifier) )) . field_identifier) [ number_literal ]))) ;) (if_statement "if (flag_code == CODE_64BIT) {\n      if (local_20 < '\0') {\n        pcVar10 = piVar14->name;\n        goto LAB_00045352;\n      }\n    }\n    else {\n      if (((piVar14->cpu_flags).array[3] & 0x40) != 0) {\n        pcVar10 = piVar14->name;\n        goto LAB_00045188;\n      }\n      bVar2 = (piVar14->opcode_modifier).field_0x1;\n      if (((bVar2 & 0x18) != 0) && ((bool)(bVar2 >> 4 & 1) != (flag_code == CODE_16BIT))) {\n        pcVar10 = piVar14->name;\n        pcVar13 = (char *)dcgettext(0,"redundant %s prefix",5);\n        as_bad(pcVar13,pcVar10);\n        return (char *)0x0;\n      }\n    }" if (parenthesized_expression "(flag_code == CODE_64BIT)" ( (binary_expression "flag_code == CODE_64BIT" identifier == identifier) )) (compound_statement "{\n      if (local_20 < '\0') {\n        pcVar10 = piVar14->name;\n        goto LAB_00045352;\n      }\n    }" { (if_statement "if (local_20 < '\0') {\n        pcVar10 = piVar14->name;\n        goto LAB_00045352;\n      }" if (parenthesized_expression "(local_20 < '\0')" ( (binary_expression "local_20 < '\0'" identifier < (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        pcVar10 = piVar14->name;\n        goto LAB_00045352;\n      }" { (expression_statement "pcVar10 = piVar14->name;" (assignment_expression "pcVar10 = piVar14->name" identifier = (field_expression "piVar14->name" identifier -> field_identifier)) ;) (goto_statement "goto LAB_00045352;" goto statement_identifier ;) })) }) (else_clause "else {\n      if (((piVar14->cpu_flags).array[3] & 0x40) != 0) {\n        pcVar10 = piVar14->name;\n        goto LAB_00045188;\n      }\n      bVar2 = (piVar14->opcode_modifier).field_0x1;\n      if (((bVar2 & 0x18) != 0) && ((bool)(bVar2 >> 4 & 1) != (flag_code == CODE_16BIT))) {\n        pcVar10 = piVar14->name;\n        pcVar13 = (char *)dcgettext(0,"redundant %s prefix",5);\n        as_bad(pcVar13,pcVar10);\n        return (char *)0x0;\n      }\n    }" else (compound_statement "{\n      if (((piVar14->cpu_flags).array[3] & 0x40) != 0) {\n        pcVar10 = piVar14->name;\n        goto LAB_00045188;\n      }\n      bVar2 = (piVar14->opcode_modifier).field_0x1;\n      if (((bVar2 & 0x18) != 0) && ((bool)(bVar2 >> 4 & 1) != (flag_code == CODE_16BIT))) {\n        pcVar10 = piVar14->name;\n        pcVar13 = (char *)dcgettext(0,"redundant %s prefix",5);\n        as_bad(pcVar13,pcVar10);\n        return (char *)0x0;\n      }\n    }" { (if_statement "if (((piVar14->cpu_flags).array[3] & 0x40) != 0) {\n        pcVar10 = piVar14->name;\n        goto LAB_00045188;\n      }" if (parenthesized_expression "(((piVar14->cpu_flags).array[3] & 0x40) != 0)" ( (binary_expression "((piVar14->cpu_flags).array[3] & 0x40) != 0" (parenthesized_expression "((piVar14->cpu_flags).array[3] & 0x40)" ( (binary_expression "(piVar14->cpu_flags).array[3] & 0x40" (subscript_expression "(piVar14->cpu_flags).array[3]" (field_expression "(piVar14->cpu_flags).array" (parenthesized_expression "(piVar14->cpu_flags)" ( (field_expression "piVar14->cpu_flags" identifier -> field_identifier) )) . field_identifier) [ number_literal ]) & number_literal) )) != number_literal) )) (compound_statement "{\n        pcVar10 = piVar14->name;\n        goto LAB_00045188;\n      }" { (expression_statement "pcVar10 = piVar14->name;" (assignment_expression "pcVar10 = piVar14->name" identifier = (field_expression "piVar14->name" identifier -> field_identifier)) ;) (goto_statement "goto LAB_00045188;" goto statement_identifier ;) })) (expression_statement "bVar2 = (piVar14->opcode_modifier).field_0x1;" (assignment_expression "bVar2 = (piVar14->opcode_modifier).field_0x1" identifier = (field_expression "(piVar14->opcode_modifier).field_0x1" (parenthesized_expression "(piVar14->opcode_modifier)" ( (field_expression "piVar14->opcode_modifier" identifier -> field_identifier) )) . field_identifier)) ;) (if_statement "if (((bVar2 & 0x18) != 0) && ((bool)(bVar2 >> 4 & 1) != (flag_code == CODE_16BIT))) {\n        pcVar10 = piVar14->name;\n        pcVar13 = (char *)dcgettext(0,"redundant %s prefix",5);\n        as_bad(pcVar13,pcVar10);\n        return (char *)0x0;\n      }" if (parenthesized_expression "(((bVar2 & 0x18) != 0) && ((bool)(bVar2 >> 4 & 1) != (flag_code == CODE_16BIT)))" ( (binary_expression "((bVar2 & 0x18) != 0) && ((bool)(bVar2 >> 4 & 1) != (flag_code == CODE_16BIT))" (parenthesized_expression "((bVar2 & 0x18) != 0)" ( (binary_expression "(bVar2 & 0x18) != 0" (parenthesized_expression "(bVar2 & 0x18)" ( (binary_expression "bVar2 & 0x18" identifier & number_literal) )) != number_literal) )) && (parenthesized_expression "((bool)(bVar2 >> 4 & 1) != (flag_code == CODE_16BIT))" ( (binary_expression "(bool)(bVar2 >> 4 & 1) != (flag_code == CODE_16BIT)" (cast_expression "(bool)(bVar2 >> 4 & 1)" ( (type_descriptor "bool" primitive_type) ) (parenthesized_expression "(bVar2 >> 4 & 1)" ( (binary_expression "bVar2 >> 4 & 1" (binary_expression "bVar2 >> 4" identifier >> number_literal) & number_literal) ))) != (parenthesized_expression "(flag_code == CODE_16BIT)" ( (binary_expression "flag_code == CODE_16BIT" identifier == identifier) ))) ))) )) (compound_statement "{\n        pcVar10 = piVar14->name;\n        pcVar13 = (char *)dcgettext(0,"redundant %s prefix",5);\n        as_bad(pcVar13,pcVar10);\n        return (char *)0x0;\n      }" { (expression_statement "pcVar10 = piVar14->name;" (assignment_expression "pcVar10 = piVar14->name" identifier = (field_expression "piVar14->name" identifier -> field_identifier)) ;) (expression_statement "pcVar13 = (char *)dcgettext(0,"redundant %s prefix",5);" (assignment_expression "pcVar13 = (char *)dcgettext(0,"redundant %s prefix",5)" identifier = (cast_expression "(char *)dcgettext(0,"redundant %s prefix",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"redundant %s prefix",5)" identifier (argument_list "(0,"redundant %s prefix",5)" ( number_literal , (string_literal ""redundant %s prefix"" " string_content ") , number_literal ))))) ;) (expression_statement "as_bad(pcVar13,pcVar10);" (call_expression "as_bad(pcVar13,pcVar10)" identifier (argument_list "(pcVar13,pcVar10)" ( identifier , identifier ))) ;) (return_statement "return (char *)0x0;" return (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) }))) (if_statement "if (piVar14->opcode_length == '\0') {\n      pcVar13 = i.rep_prefix;\n      pcVar12 = i.hle_prefix;\n      switch(piVar14->base_opcode) {\n      case 0:\n        i.disp_encoding = Cpu286;\n        break;\n      case 1:\n        i.disp_encoding = Cpu386;\n        break;\n      case 2:\n        i.dir_encoding = Cpu286;\n        break;\n      case 3:\n        i.dir_encoding = Cpu386;\n        break;\n      case 4:\n        i.vec_encoding = Cpu286;\n        break;\n      case 5:\n        i.vec_encoding = Cpu386;\n        break;\n      case 6:\n        i.vec_encoding = Cpu486;\n        break;\n      case 7:\n        i.rex_encoding = 1;\n        break;\n      case 8:\n        i.no_optimize = 1;\n        break;\n      default:\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/tc-i386.c",0x1127,"parse_insn");\n      }\n    }\n    else {\n      PVar6 = add_prefix(piVar14->base_opcode);\n      pcVar13 = i.rep_prefix;\n      pcVar12 = i.hle_prefix;\n      if (PVar6 == PREFIX_REP) {\n        piVar14 = current_templates->start;\n        pcVar7 = piVar14->name;\n        pcVar12 = pcVar7;\n        if (((undefined1  [16])\n             ((undefined1  [16])piVar14->cpu_flags & (undefined1  [16])0x1000000000000000) ==\n             (undefined1  [16])0x0) &&\n           (pcVar13 = pcVar7, pcVar12 = i.hle_prefix,\n           (undefined1  [16])((undefined1  [16])piVar14->cpu_flags & (undefined1  [16])0x1) !=\n           (undefined1  [16])0x0)) {\n          pcVar13 = i.rep_prefix;\n          i.bnd_prefix = pcVar7;\n        }\n      }\n      else if (PVar6 == PREFIX_DS) {\n        if ((undefined1  [16])\n            ((undefined1  [16])current_templates->start->cpu_flags & (undefined1  [16])0x8000000) !=\n            (undefined1  [16])0x0) {\n          i.notrack_prefix = current_templates->start->name;\n        }\n      }\n      else if (PVar6 == PREFIX_EXIST) {\n        return (char *)0x0;\n      }\n    }" if (parenthesized_expression "(piVar14->opcode_length == '\0')" ( (binary_expression "piVar14->opcode_length == '\0'" (field_expression "piVar14->opcode_length" identifier -> field_identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      pcVar13 = i.rep_prefix;\n      pcVar12 = i.hle_prefix;\n      switch(piVar14->base_opcode) {\n      case 0:\n        i.disp_encoding = Cpu286;\n        break;\n      case 1:\n        i.disp_encoding = Cpu386;\n        break;\n      case 2:\n        i.dir_encoding = Cpu286;\n        break;\n      case 3:\n        i.dir_encoding = Cpu386;\n        break;\n      case 4:\n        i.vec_encoding = Cpu286;\n        break;\n      case 5:\n        i.vec_encoding = Cpu386;\n        break;\n      case 6:\n        i.vec_encoding = Cpu486;\n        break;\n      case 7:\n        i.rex_encoding = 1;\n        break;\n      case 8:\n        i.no_optimize = 1;\n        break;\n      default:\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/tc-i386.c",0x1127,"parse_insn");\n      }\n    }" { (expression_statement "pcVar13 = i.rep_prefix;" (assignment_expression "pcVar13 = i.rep_prefix" identifier = (field_expression "i.rep_prefix" identifier . field_identifier)) ;) (expression_statement "pcVar12 = i.hle_prefix;" (assignment_expression "pcVar12 = i.hle_prefix" identifier = (field_expression "i.hle_prefix" identifier . field_identifier)) ;) (switch_statement "switch(piVar14->base_opcode) {\n      case 0:\n        i.disp_encoding = Cpu286;\n        break;\n      case 1:\n        i.disp_encoding = Cpu386;\n        break;\n      case 2:\n        i.dir_encoding = Cpu286;\n        break;\n      case 3:\n        i.dir_encoding = Cpu386;\n        break;\n      case 4:\n        i.vec_encoding = Cpu286;\n        break;\n      case 5:\n        i.vec_encoding = Cpu386;\n        break;\n      case 6:\n        i.vec_encoding = Cpu486;\n        break;\n      case 7:\n        i.rex_encoding = 1;\n        break;\n      case 8:\n        i.no_optimize = 1;\n        break;\n      default:\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/tc-i386.c",0x1127,"parse_insn");\n      }" switch (parenthesized_expression "(piVar14->base_opcode)" ( (field_expression "piVar14->base_opcode" identifier -> field_identifier) )) (compound_statement "{\n      case 0:\n        i.disp_encoding = Cpu286;\n        break;\n      case 1:\n        i.disp_encoding = Cpu386;\n        break;\n      case 2:\n        i.dir_encoding = Cpu286;\n        break;\n      case 3:\n        i.dir_encoding = Cpu386;\n        break;\n      case 4:\n        i.vec_encoding = Cpu286;\n        break;\n      case 5:\n        i.vec_encoding = Cpu386;\n        break;\n      case 6:\n        i.vec_encoding = Cpu486;\n        break;\n      case 7:\n        i.rex_encoding = 1;\n        break;\n      case 8:\n        i.no_optimize = 1;\n        break;\n      default:\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/tc-i386.c",0x1127,"parse_insn");\n      }" { (case_statement "case 0:\n        i.disp_encoding = Cpu286;\n        break;" case number_literal : (expression_statement "i.disp_encoding = Cpu286;" (assignment_expression "i.disp_encoding = Cpu286" (field_expression "i.disp_encoding" identifier . field_identifier) = identifier) ;) (break_statement "break;" break ;)) (case_statement "case 1:\n        i.disp_encoding = Cpu386;\n        break;" case number_literal : (expression_statement "i.disp_encoding = Cpu386;" (assignment_expression "i.disp_encoding = Cpu386" (field_expression "i.disp_encoding" identifier . field_identifier) = identifier) ;) (break_statement "break;" break ;)) (case_statement "case 2:\n        i.dir_encoding = Cpu286;\n        break;" case number_literal : (expression_statement "i.dir_encoding = Cpu286;" (assignment_expression "i.dir_encoding = Cpu286" (field_expression "i.dir_encoding" identifier . field_identifier) = identifier) ;) (break_statement "break;" break ;)) (case_statement "case 3:\n        i.dir_encoding = Cpu386;\n        break;" case number_literal : (expression_statement "i.dir_encoding = Cpu386;" (assignment_expression "i.dir_encoding = Cpu386" (field_expression "i.dir_encoding" identifier . field_identifier) = identifier) ;) (break_statement "break;" break ;)) (case_statement "case 4:\n        i.vec_encoding = Cpu286;\n        break;" case number_literal : (expression_statement "i.vec_encoding = Cpu286;" (assignment_expression "i.vec_encoding = Cpu286" (field_expression "i.vec_encoding" identifier . field_identifier) = identifier) ;) (break_statement "break;" break ;)) (case_statement "case 5:\n        i.vec_encoding = Cpu386;\n        break;" case number_literal : (expression_statement "i.vec_encoding = Cpu386;" (assignment_expression "i.vec_encoding = Cpu386" (field_expression "i.vec_encoding" identifier . field_identifier) = identifier) ;) (break_statement "break;" break ;)) (case_statement "case 6:\n        i.vec_encoding = Cpu486;\n        break;" case number_literal : (expression_statement "i.vec_encoding = Cpu486;" (assignment_expression "i.vec_encoding = Cpu486" (field_expression "i.vec_encoding" identifier . field_identifier) = identifier) ;) (break_statement "break;" break ;)) (case_statement "case 7:\n        i.rex_encoding = 1;\n        break;" case number_literal : (expression_statement "i.rex_encoding = 1;" (assignment_expression "i.rex_encoding = 1" (field_expression "i.rex_encoding" identifier . field_identifier) = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 8:\n        i.no_optimize = 1;\n        break;" case number_literal : (expression_statement "i.no_optimize = 1;" (assignment_expression "i.no_optimize = 1" (field_expression "i.no_optimize" identifier . field_identifier) = number_literal) ;) (break_statement "break;" break ;)) (case_statement "default:\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/tc-i386.c",0x1127,"parse_insn");" default : comment (expression_statement "as_abort("../../gas/config/tc-i386.c",0x1127,"parse_insn");" (call_expression "as_abort("../../gas/config/tc-i386.c",0x1127,"parse_insn")" identifier (argument_list "("../../gas/config/tc-i386.c",0x1127,"parse_insn")" ( (string_literal ""../../gas/config/tc-i386.c"" " string_content ") , number_literal , (string_literal ""parse_insn"" " string_content ") ))) ;)) })) }) (else_clause "else {\n      PVar6 = add_prefix(piVar14->base_opcode);\n      pcVar13 = i.rep_prefix;\n      pcVar12 = i.hle_prefix;\n      if (PVar6 == PREFIX_REP) {\n        piVar14 = current_templates->start;\n        pcVar7 = piVar14->name;\n        pcVar12 = pcVar7;\n        if (((undefined1  [16])\n             ((undefined1  [16])piVar14->cpu_flags & (undefined1  [16])0x1000000000000000) ==\n             (undefined1  [16])0x0) &&\n           (pcVar13 = pcVar7, pcVar12 = i.hle_prefix,\n           (undefined1  [16])((undefined1  [16])piVar14->cpu_flags & (undefined1  [16])0x1) !=\n           (undefined1  [16])0x0)) {\n          pcVar13 = i.rep_prefix;\n          i.bnd_prefix = pcVar7;\n        }\n      }\n      else if (PVar6 == PREFIX_DS) {\n        if ((undefined1  [16])\n            ((undefined1  [16])current_templates->start->cpu_flags & (undefined1  [16])0x8000000) !=\n            (undefined1  [16])0x0) {\n          i.notrack_prefix = current_templates->start->name;\n        }\n      }\n      else if (PVar6 == PREFIX_EXIST) {\n        return (char *)0x0;\n      }\n    }" else (compound_statement "{\n      PVar6 = add_prefix(piVar14->base_opcode);\n      pcVar13 = i.rep_prefix;\n      pcVar12 = i.hle_prefix;\n      if (PVar6 == PREFIX_REP) {\n        piVar14 = current_templates->start;\n        pcVar7 = piVar14->name;\n        pcVar12 = pcVar7;\n        if (((undefined1  [16])\n             ((undefined1  [16])piVar14->cpu_flags & (undefined1  [16])0x1000000000000000) ==\n             (undefined1  [16])0x0) &&\n           (pcVar13 = pcVar7, pcVar12 = i.hle_prefix,\n           (undefined1  [16])((undefined1  [16])piVar14->cpu_flags & (undefined1  [16])0x1) !=\n           (undefined1  [16])0x0)) {\n          pcVar13 = i.rep_prefix;\n          i.bnd_prefix = pcVar7;\n        }\n      }\n      else if (PVar6 == PREFIX_DS) {\n        if ((undefined1  [16])\n            ((undefined1  [16])current_templates->start->cpu_flags & (undefined1  [16])0x8000000) !=\n            (undefined1  [16])0x0) {\n          i.notrack_prefix = current_templates->start->name;\n        }\n      }\n      else if (PVar6 == PREFIX_EXIST) {\n        return (char *)0x0;\n      }\n    }" { (expression_statement "PVar6 = add_prefix(piVar14->base_opcode);" (assignment_expression "PVar6 = add_prefix(piVar14->base_opcode)" identifier = (call_expression "add_prefix(piVar14->base_opcode)" identifier (argument_list "(piVar14->base_opcode)" ( (field_expression "piVar14->base_opcode" identifier -> field_identifier) )))) ;) (expression_statement "pcVar13 = i.rep_prefix;" (assignment_expression "pcVar13 = i.rep_prefix" identifier = (field_expression "i.rep_prefix" identifier . field_identifier)) ;) (expression_statement "pcVar12 = i.hle_prefix;" (assignment_expression "pcVar12 = i.hle_prefix" identifier = (field_expression "i.hle_prefix" identifier . field_identifier)) ;) (if_statement "if (PVar6 == PREFIX_REP) {\n        piVar14 = current_templates->start;\n        pcVar7 = piVar14->name;\n        pcVar12 = pcVar7;\n        if (((undefined1  [16])\n             ((undefined1  [16])piVar14->cpu_flags & (undefined1  [16])0x1000000000000000) ==\n             (undefined1  [16])0x0) &&\n           (pcVar13 = pcVar7, pcVar12 = i.hle_prefix,\n           (undefined1  [16])((undefined1  [16])piVar14->cpu_flags & (undefined1  [16])0x1) !=\n           (undefined1  [16])0x0)) {\n          pcVar13 = i.rep_prefix;\n          i.bnd_prefix = pcVar7;\n        }\n      }\n      else if (PVar6 == PREFIX_DS) {\n        if ((undefined1  [16])\n            ((undefined1  [16])current_templates->start->cpu_flags & (undefined1  [16])0x8000000) !=\n            (undefined1  [16])0x0) {\n          i.notrack_prefix = current_templates->start->name;\n        }\n      }\n      else if (PVar6 == PREFIX_EXIST) {\n        return (char *)0x0;\n      }" if (parenthesized_expression "(PVar6 == PREFIX_REP)" ( (binary_expression "PVar6 == PREFIX_REP" identifier == identifier) )) (compound_statement "{\n        piVar14 = current_templates->start;\n        pcVar7 = piVar14->name;\n        pcVar12 = pcVar7;\n        if (((undefined1  [16])\n             ((undefined1  [16])piVar14->cpu_flags & (undefined1  [16])0x1000000000000000) ==\n             (undefined1  [16])0x0) &&\n           (pcVar13 = pcVar7, pcVar12 = i.hle_prefix,\n           (undefined1  [16])((undefined1  [16])piVar14->cpu_flags & (undefined1  [16])0x1) !=\n           (undefined1  [16])0x0)) {\n          pcVar13 = i.rep_prefix;\n          i.bnd_prefix = pcVar7;\n        }\n      }" { (expression_statement "piVar14 = current_templates->start;" (assignment_expression "piVar14 = current_templates->start" identifier = (field_expression "current_templates->start" identifier -> field_identifier)) ;) (expression_statement "pcVar7 = piVar14->name;" (assignment_expression "pcVar7 = piVar14->name" identifier = (field_expression "piVar14->name" identifier -> field_identifier)) ;) (expression_statement "pcVar12 = pcVar7;" (assignment_expression "pcVar12 = pcVar7" identifier = identifier) ;) (if_statement "if (((undefined1  [16])\n             ((undefined1  [16])piVar14->cpu_flags & (undefined1  [16])0x1000000000000000) ==\n             (undefined1  [16])0x0) &&\n           (pcVar13 = pcVar7, pcVar12 = i.hle_prefix,\n           (undefined1  [16])((undefined1  [16])piVar14->cpu_flags & (undefined1  [16])0x1) !=\n           (undefined1  [16])0x0)) {\n          pcVar13 = i.rep_prefix;\n          i.bnd_prefix = pcVar7;\n        }" if (parenthesized_expression "(((undefined1  [16])\n             ((undefined1  [16])piVar14->cpu_flags & (undefined1  [16])0x1000000000000000) ==\n             (undefined1  [16])0x0) &&\n           (pcVar13 = pcVar7, pcVar12 = i.hle_prefix,\n           (undefined1  [16])((undefined1  [16])piVar14->cpu_flags & (undefined1  [16])0x1) !=\n           (undefined1  [16])0x0))" ( (binary_expression "((undefined1  [16])\n             ((undefined1  [16])piVar14->cpu_flags & (undefined1  [16])0x1000000000000000) ==\n             (undefined1  [16])0x0) &&\n           (pcVar13 = pcVar7, pcVar12 = i.hle_prefix,\n           (undefined1  [16])((undefined1  [16])piVar14->cpu_flags & (undefined1  [16])0x1) !=\n           (undefined1  [16])0x0)" (parenthesized_expression "((undefined1  [16])\n             ((undefined1  [16])piVar14->cpu_flags & (undefined1  [16])0x1000000000000000) ==\n             (undefined1  [16])0x0)" ( (binary_expression "(undefined1  [16])\n             ((undefined1  [16])piVar14->cpu_flags & (undefined1  [16])0x1000000000000000) ==\n             (undefined1  [16])0x0" (call_expression "(undefined1  [16])\n             ((undefined1  [16])piVar14->cpu_flags & (undefined1  [16])0x1000000000000000)" (parenthesized_expression "(undefined1  [16])" ( (subscript_expression "undefined1  [16]" identifier [ number_literal ]) )) (argument_list "((undefined1  [16])piVar14->cpu_flags & (undefined1  [16])0x1000000000000000)" ( (binary_expression "(undefined1  [16])piVar14->cpu_flags & (undefined1  [16])0x1000000000000000" (cast_expression "(undefined1  [16])piVar14->cpu_flags" ( (type_descriptor "undefined1  [16]" type_identifier (abstract_array_declarator "[16]" [ number_literal ])) ) (field_expression "piVar14->cpu_flags" identifier -> field_identifier)) & (cast_expression "(undefined1  [16])0x1000000000000000" ( (type_descriptor "undefined1  [16]" type_identifier (abstract_array_declarator "[16]" [ number_literal ])) ) number_literal)) ))) == (cast_expression "(undefined1  [16])0x0" ( (type_descriptor "undefined1  [16]" type_identifier (abstract_array_declarator "[16]" [ number_literal ])) ) number_literal)) )) && (parenthesized_expression "(pcVar13 = pcVar7, pcVar12 = i.hle_prefix,\n           (undefined1  [16])((undefined1  [16])piVar14->cpu_flags & (undefined1  [16])0x1) !=\n           (undefined1  [16])0x0)" ( (comma_expression "pcVar13 = pcVar7, pcVar12 = i.hle_prefix,\n           (undefined1  [16])((undefined1  [16])piVar14->cpu_flags & (undefined1  [16])0x1) !=\n           (undefined1  [16])0x0" (assignment_expression "pcVar13 = pcVar7" identifier = identifier) , (comma_expression "pcVar12 = i.hle_prefix,\n           (undefined1  [16])((undefined1  [16])piVar14->cpu_flags & (undefined1  [16])0x1) !=\n           (undefined1  [16])0x0" (assignment_expression "pcVar12 = i.hle_prefix" identifier = (field_expression "i.hle_prefix" identifier . field_identifier)) , (binary_expression "(undefined1  [16])((undefined1  [16])piVar14->cpu_flags & (undefined1  [16])0x1) !=\n           (undefined1  [16])0x0" (call_expression "(undefined1  [16])((undefined1  [16])piVar14->cpu_flags & (undefined1  [16])0x1)" (parenthesized_expression "(undefined1  [16])" ( (subscript_expression "undefined1  [16]" identifier [ number_literal ]) )) (argument_list "((undefined1  [16])piVar14->cpu_flags & (undefined1  [16])0x1)" ( (binary_expression "(undefined1  [16])piVar14->cpu_flags & (undefined1  [16])0x1" (cast_expression "(undefined1  [16])piVar14->cpu_flags" ( (type_descriptor "undefined1  [16]" type_identifier (abstract_array_declarator "[16]" [ number_literal ])) ) (field_expression "piVar14->cpu_flags" identifier -> field_identifier)) & (cast_expression "(undefined1  [16])0x1" ( (type_descriptor "undefined1  [16]" type_identifier (abstract_array_declarator "[16]" [ number_literal ])) ) number_literal)) ))) != (cast_expression "(undefined1  [16])0x0" ( (type_descriptor "undefined1  [16]" type_identifier (abstract_array_declarator "[16]" [ number_literal ])) ) number_literal)))) ))) )) (compound_statement "{\n          pcVar13 = i.rep_prefix;\n          i.bnd_prefix = pcVar7;\n        }" { (expression_statement "pcVar13 = i.rep_prefix;" (assignment_expression "pcVar13 = i.rep_prefix" identifier = (field_expression "i.rep_prefix" identifier . field_identifier)) ;) (expression_statement "i.bnd_prefix = pcVar7;" (assignment_expression "i.bnd_prefix = pcVar7" (field_expression "i.bnd_prefix" identifier . field_identifier) = identifier) ;) })) }) (else_clause "else if (PVar6 == PREFIX_DS) {\n        if ((undefined1  [16])\n            ((undefined1  [16])current_templates->start->cpu_flags & (undefined1  [16])0x8000000) !=\n            (undefined1  [16])0x0) {\n          i.notrack_prefix = current_templates->start->name;\n        }\n      }\n      else if (PVar6 == PREFIX_EXIST) {\n        return (char *)0x0;\n      }" else (if_statement "if (PVar6 == PREFIX_DS) {\n        if ((undefined1  [16])\n            ((undefined1  [16])current_templates->start->cpu_flags & (undefined1  [16])0x8000000) !=\n            (undefined1  [16])0x0) {\n          i.notrack_prefix = current_templates->start->name;\n        }\n      }\n      else if (PVar6 == PREFIX_EXIST) {\n        return (char *)0x0;\n      }" if (parenthesized_expression "(PVar6 == PREFIX_DS)" ( (binary_expression "PVar6 == PREFIX_DS" identifier == identifier) )) (compound_statement "{\n        if ((undefined1  [16])\n            ((undefined1  [16])current_templates->start->cpu_flags & (undefined1  [16])0x8000000) !=\n            (undefined1  [16])0x0) {\n          i.notrack_prefix = current_templates->start->name;\n        }\n      }" { (if_statement "if ((undefined1  [16])\n            ((undefined1  [16])current_templates->start->cpu_flags & (undefined1  [16])0x8000000) !=\n            (undefined1  [16])0x0) {\n          i.notrack_prefix = current_templates->start->name;\n        }" if (parenthesized_expression "((undefined1  [16])\n            ((undefined1  [16])current_templates->start->cpu_flags & (undefined1  [16])0x8000000) !=\n            (undefined1  [16])0x0)" ( (binary_expression "(undefined1  [16])\n            ((undefined1  [16])current_templates->start->cpu_flags & (undefined1  [16])0x8000000) !=\n            (undefined1  [16])0x0" (call_expression "(undefined1  [16])\n            ((undefined1  [16])current_templates->start->cpu_flags & (undefined1  [16])0x8000000)" (parenthesized_expression "(undefined1  [16])" ( (subscript_expression "undefined1  [16]" identifier [ number_literal ]) )) (argument_list "((undefined1  [16])current_templates->start->cpu_flags & (undefined1  [16])0x8000000)" ( (binary_expression "(undefined1  [16])current_templates->start->cpu_flags & (undefined1  [16])0x8000000" (cast_expression "(undefined1  [16])current_templates->start->cpu_flags" ( (type_descriptor "undefined1  [16]" type_identifier (abstract_array_declarator "[16]" [ number_literal ])) ) (field_expression "current_templates->start->cpu_flags" (field_expression "current_templates->start" identifier -> field_identifier) -> field_identifier)) & (cast_expression "(undefined1  [16])0x8000000" ( (type_descriptor "undefined1  [16]" type_identifier (abstract_array_declarator "[16]" [ number_literal ])) ) number_literal)) ))) != (cast_expression "(undefined1  [16])0x0" ( (type_descriptor "undefined1  [16]" type_identifier (abstract_array_declarator "[16]" [ number_literal ])) ) number_literal)) )) (compound_statement "{\n          i.notrack_prefix = current_templates->start->name;\n        }" { (expression_statement "i.notrack_prefix = current_templates->start->name;" (assignment_expression "i.notrack_prefix = current_templates->start->name" (field_expression "i.notrack_prefix" identifier . field_identifier) = (field_expression "current_templates->start->name" (field_expression "current_templates->start" identifier -> field_identifier) -> field_identifier)) ;) })) }) (else_clause "else if (PVar6 == PREFIX_EXIST) {\n        return (char *)0x0;\n      }" else (if_statement "if (PVar6 == PREFIX_EXIST) {\n        return (char *)0x0;\n      }" if (parenthesized_expression "(PVar6 == PREFIX_EXIST)" ( (binary_expression "PVar6 == PREFIX_EXIST" identifier == identifier) )) (compound_statement "{\n        return (char *)0x0;\n      }" { (return_statement "return (char *)0x0;" return (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ;) })))))) }))) (expression_statement "i.hle_prefix = pcVar12;" (assignment_expression "i.hle_prefix = pcVar12" (field_expression "i.hle_prefix" identifier . field_identifier) = identifier) ;) (expression_statement "i.rep_prefix = pcVar13;" (assignment_expression "i.rep_prefix = pcVar13" (field_expression "i.rep_prefix" identifier . field_identifier) = identifier) ;) (expression_statement "local_38 = pbVar11 + 1;" (assignment_expression "local_38 = pbVar11 + 1" identifier = (binary_expression "pbVar11 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })))
(translation_unit "byte * __regparm3 FUN_00045090(byte *param_1,char *param_2)\n\n{\n  undefined4 uVar1;\n  int *piVar2;\n  byte bVar3;\n  char cVar4;\n  undefined4 uVar5;\n  undefined4 uVar6;\n  uint uVar7;\n  int iVar8;\n  int *piVar9;\n  char *pcVar10;\n  uint uVar11;\n  undefined *puVar12;\n  byte *pbVar13;\n  undefined *puVar14;\n  char *pcVar15;\n  undefined4 *puVar16;\n  byte *local_38;\n  char local_20;\n  \n  pcVar10 = (char *)0x0;\n  local_38 = param_1;\n  do {\n    cVar4 = (&DAT_000844e0)[*local_38];\n    *param_2 = cVar4;\n    pcVar15 = param_2;\n    pbVar13 = local_38;\n    if (cVar4 == '\0') {\n      bVar3 = *local_38;\n      if ((bVar3 & 0xdf) == 0) goto LAB_000454ae;\nLAB_00045208:\n      if ((DAT_00083ed0 == 0) && ((bVar3 == 0x2f || (bVar3 == 0x2c)))) goto LAB_000450fb;\n      goto LAB_00045222;\n    }\n    do {\n      if (cVar4 == '.') {\n        pcVar10 = pcVar15;\n      }\n      pcVar15 = pcVar15 + 1;\n      piVar2 = DAT_00083f40;\n      if (pbVar13 == local_38 + 0x13) goto LAB_000451c0;\n      pbVar13 = pbVar13 + 1;\n      cVar4 = (&DAT_000844e0)[*pbVar13];\n      *pcVar15 = cVar4;\n    } while (cVar4 != '\0');\n    bVar3 = *pbVar13;\n    if ((bVar3 & 0xdf) != 0) goto LAB_00045208;\nLAB_000450fb:\n    if (pbVar13 == local_38) {\nLAB_000454ae:\n      if ((DAT_00083ed0 == 0) && (bVar3 == 0x2f)) {\n        pcVar10 = "expecting prefix; got nothing";\n      }\n      else {\n        pcVar10 = "expecting mnemonic; got nothing";\n      }\n      uVar6 = dcgettext(0,pcVar10,5);\n      FUN_0002a980(uVar6);\n      return (byte *)0x0;\n    }\n    DAT_00083f40 = (int *)FUN_00024180(DAT_00083e60,param_2);\n    bVar3 = *pbVar13;\n    if ((bVar3 == 0) || ((bVar3 == 0x20 && (pbVar13[1] == 0)))) {\n      if (DAT_00083f40 == (int *)0x0) goto LAB_00045540;\n      puVar16 = (undefined4 *)*DAT_00083f40;\n      if ((*(byte *)(puVar16 + 9) & 0xa0) == 0) {\nLAB_00045264:\n        puVar16 = (undefined4 *)*DAT_00083f40;\n      }\nLAB_0004526c:\n      piVar2 = DAT_00083f40;\n      if ((undefined4 *)DAT_00083f40[1] <= puVar16) goto LAB_0004562d;\n      uVar11 = 0;\n      do {\n        uVar7 = FUN_00044e30();\n        uVar11 = uVar11 | uVar7;\n        if (uVar11 == 3) {\n          if (((DAT_0007b53c & 4) == 0) && (DAT_00083ee8 != 1)) {\n            uVar6 = dcgettext(0,"use .code16 to ensure correct addressing mode",5);\n            FUN_0002a8a0(uVar6);\n          }\n          return pbVar13;\n        }\n        puVar16 = puVar16 + 0x16;\n      } while (puVar16 < (undefined4 *)piVar2[1]);\n      puVar16 = (undefined4 *)*piVar2;\n      if ((uVar11 & 2) == 0) {\nLAB_0004562d:\n        uVar6 = *puVar16;\n        if (DAT_00083ee8 == 2) {\nLAB_00045352:\n          uVar5 = dcgettext(0,"`%s\' is not supported in 64-bit mode",5);\n        }\n        else {\nLAB_00045188:\n          uVar5 = dcgettext(0,"`%s\' is only supported in 64-bit mode",5);\n        }\nLAB_000451a1:\n        FUN_0002a980(uVar5,uVar6);\n      }\n      else {\n        uVar6 = *puVar16;\n        puVar12 = DAT_00083e94;\n        if (DAT_00083e94 == (undefined *)0x0) {\n          puVar12 = &DAT_00059ae5;\n        }\n        puVar14 = DAT_00083e98;\n        if (DAT_00083e98 == (undefined *)0x0) {\n          puVar14 = PTR_s_i386_0007b71c;\n        }\n        uVar5 = dcgettext(0,"`%s\' is not supported on `%s%s\'",5);\n        FUN_0002a980(uVar5,uVar6,puVar14,puVar12);\n      }\n      return (byte *)0x0;\n    }\n    if (DAT_00083f40 == (int *)0x0) {\nLAB_00045540:\n      if ((pcVar10 == pcVar15 + -2) && (pcVar10[1] == 's')) {\n        DAT_00084094 = 2;\nLAB_00045660:\n        *pcVar10 = '\0';\n        piVar9 = (int *)FUN_00024180(DAT_00083e60,param_2);\n        DAT_00083f40 = piVar9;\n        if (piVar9 == (int *)0x0) {\n          cVar4 = pcVar10[-1];\n          DAT_00083f40 = (int *)0x0;\n          pcVar15 = pcVar10;\n          piVar2 = (int *)0x0;\n          switch(cVar4) {\n          case 'b':\n          case 'q':\n            goto code_r0x000455ae;\n          default:\n            goto LAB_000451c0;\n          case 'd':\n            goto code_r0x000455fd;\n          case 'l':\n          case 's':\n            goto code_r0x000455e9;\n          case 'w':\n            goto code_r0x00045581;\n          }\n        }\n      }\n      else {\n        if (pcVar10 == pcVar15 + -3) {\n          if (pcVar10[1] == 'd') {\n            if (pcVar10[2] == '8') {\n              DAT_00084098 = 1;\n              goto LAB_00045660;\n            }\n            if (pcVar10 == pcVar15 + -4) goto LAB_000456b1;\n          }\n        }\n        else if ((pcVar10 == pcVar15 + -4) && (pcVar10[1] == 'd')) {\nLAB_000456b1:\n          if ((pcVar10[2] == '3') && (pcVar10[3] == '2')) {\n            DAT_00084098 = 2;\n            goto LAB_00045660;\n          }\n        }\n        cVar4 = pcVar15[-1];\n        piVar2 = DAT_00083f40;\n        piVar9 = DAT_00083f40;\n        switch(cVar4) {\n        case 'b':\n        case 'q':\n          break;\n        default:\n          goto LAB_000451c0;\n        case 'd':\ncode_r0x000455fd:\n          DAT_00083f40 = piVar9;\n          if (DAT_00083ed0 != 0) {\n            cVar4 = 'l';\n            if ((*param_2 == 'f') && (iVar8 = FUN_00043060(), iVar8 == 1)) {\n              cVar4 = 's';\n            }\n            break;\n          }\n          goto code_r0x000455d5;\n        case 'l':\n        case 's':\ncode_r0x000455e9:\n          DAT_00083f40 = piVar9;\n          if (DAT_00083ed0 != 0) goto code_r0x000455d5;\n          break;\n        case 'w':\ncode_r0x00045581:\n          cVar4 = 'w';\n          if ((DAT_00083ed0 != 0) && (*param_2 == 'f')) {\n            uVar11 = FUN_00043060();\n            cVar4 = (-((uVar11 & 2) == 0) & 4U) + 0x73;\n          }\n        }\ncode_r0x000455ae:\n        DAT_00083fb8 = cVar4;\n        pcVar15[-1] = '\0';\n        DAT_00083f40 = (int *)FUN_00024180(DAT_00083e60,param_2);\ncode_r0x000455d5:\n        piVar2 = DAT_00083f40;\n        if (DAT_00083f40 == (int *)0x0) {\nLAB_000451c0:\n          DAT_00083f40 = piVar2;\n          uVar6 = dcgettext(0,"no such instruction: `%s\'",5);\n          FUN_0002a980(uVar6,local_38);\n          return (byte *)0x0;\n        }\n      }\n      puVar16 = (undefined4 *)*DAT_00083f40;\n      bVar3 = *pbVar13;\nLAB_000454eb:\n      if ((*(byte *)(puVar16 + 9) & 0xa0) == 0) {\nLAB_00045532:\n        if (bVar3 != 0x2c) goto LAB_00045264;\n      }\n      else {\n        if (bVar3 != 0x2c) goto LAB_0004526c;\n        if (pbVar13[1] == 0x70) {\n          if (pbVar13[2] == 0x74) {\n            iVar8 = FUN_0003fd30();\n          }\n          else {\n            if (pbVar13[2] != 0x6e) goto LAB_00045222;\n            iVar8 = FUN_0003fd30();\n          }\n          if (iVar8 == 0) {\n            return (byte *)0x0;\n          }\n          bVar3 = pbVar13[3];\n          pbVar13 = pbVar13 + 3;\n          goto LAB_00045532;\n        }\n      }\nLAB_00045222:\n      uVar6 = FUN_00043af0();\n      uVar5 = dcgettext(0,"invalid character %s in mnemonic",5);\n      goto LAB_000451a1;\n    }\n    puVar16 = (undefined4 *)*DAT_00083f40;\n    if ((*(byte *)(puVar16 + 10) & 0x10) == 0) goto LAB_000454eb;\n    local_20 = (char)puVar16[8];\n    if (DAT_00083ee8 == 2) {\n      if (local_20 < '\0') {\n        uVar6 = *puVar16;\n        goto LAB_00045352;\n      }\n    }\n    else {\n      if ((puVar16[8] & 0x40) != 0) {\n        uVar6 = *puVar16;\n        goto LAB_00045188;\n      }\n      if (((*(byte *)((int)puVar16 + 0x25) & 0x18) != 0) &&\n         ((bool)(*(byte *)((int)puVar16 + 0x25) >> 4 & 1) != (DAT_00083ee8 == 1))) {\n        uVar6 = *puVar16;\n        uVar5 = dcgettext(0,"redundant %s prefix",5);\n        FUN_0002a980(uVar5,uVar6);\n        return (byte *)0x0;\n      }\n    }\n    if (*(char *)(puVar16 + 4) == '\0') {\n      uVar6 = DAT_000840a8;\n      uVar5 = DAT_000840ac;\n      switch(puVar16[2]) {\n      case 0:\n        DAT_00084098 = 1;\n        break;\n      case 1:\n        DAT_00084098 = 2;\n        break;\n      case 2:\n        DAT_00084094 = 1;\n        break;\n      case 3:\n        DAT_00084094 = 2;\n        break;\n      case 4:\n        DAT_000840a4 = 1;\n        break;\n      case 5:\n        DAT_000840a4 = 2;\n        break;\n      case 6:\n        DAT_000840a4 = 3;\n        break;\n      case 7:\n        uRam0008409c = 1;\n        break;\n      case 8:\n        uRam000840a0 = 1;\n        break;\n      default:\n                    \n        FUN_0002aaa0("../../gas/config/tc-i386.c",0x1127,"parse_insn",pbVar13);\n      }\n    }\n    else {\n      iVar8 = FUN_0003fd30();\n      uVar6 = DAT_000840a8;\n      uVar5 = DAT_000840ac;\n      if (iVar8 == 2) {\n        puVar16 = (undefined4 *)*DAT_00083f40;\n        uVar1 = *puVar16;\n        uVar5 = uVar1;\n        if (((*(byte *)((int)puVar16 + 0x1b) & 0x10) == 0) &&\n           (uVar6 = uVar1, uVar5 = DAT_000840ac, (*(byte *)(puVar16 + 7) & 1) != 0)) {\n          uVar6 = DAT_000840a8;\n          DAT_000840b0 = uVar1;\n        }\n      }\n      else if (iVar8 == 3) {\n        if ((*(byte *)(*DAT_00083f40 + 0x1f) & 8) != 0) {\n          DAT_000840b4 = *(undefined4 *)*DAT_00083f40;\n        }\n      }\n      else if (iVar8 == 0) {\n        return (byte *)0x0;\n      }\n    }\n    DAT_000840ac = uVar5;\n    DAT_000840a8 = uVar6;\n    local_38 = pbVar13 + 1;\n  } while( true );\n}\n\n" (ERROR "byte * __regparm3 FUN_00045090(byte *param_1,char *param_2)" (binary_expression "byte * __regparm3 FUN_00045090(byte *param_1,char *param_2)" identifier * (ERROR "__regparm3" identifier) (call_expression "FUN_00045090(byte *param_1,char *param_2)" identifier (argument_list "(byte *param_1,char *param_2)" ( (binary_expression "byte *param_1" identifier * identifier) , (binary_expression "char *param_2" identifier * identifier) ))))) (compound_statement "{\n  undefined4 uVar1;\n  int *piVar2;\n  byte bVar3;\n  char cVar4;\n  undefined4 uVar5;\n  undefined4 uVar6;\n  uint uVar7;\n  int iVar8;\n  int *piVar9;\n  char *pcVar10;\n  uint uVar11;\n  undefined *puVar12;\n  byte *pbVar13;\n  undefined *puVar14;\n  char *pcVar15;\n  undefined4 *puVar16;\n  byte *local_38;\n  char local_20;\n  \n  pcVar10 = (char *)0x0;\n  local_38 = param_1;\n  do {\n    cVar4 = (&DAT_000844e0)[*local_38];\n    *param_2 = cVar4;\n    pcVar15 = param_2;\n    pbVar13 = local_38;\n    if (cVar4 == '\0') {\n      bVar3 = *local_38;\n      if ((bVar3 & 0xdf) == 0) goto LAB_000454ae;\nLAB_00045208:\n      if ((DAT_00083ed0 == 0) && ((bVar3 == 0x2f || (bVar3 == 0x2c)))) goto LAB_000450fb;\n      goto LAB_00045222;\n    }\n    do {\n      if (cVar4 == '.') {\n        pcVar10 = pcVar15;\n      }\n      pcVar15 = pcVar15 + 1;\n      piVar2 = DAT_00083f40;\n      if (pbVar13 == local_38 + 0x13) goto LAB_000451c0;\n      pbVar13 = pbVar13 + 1;\n      cVar4 = (&DAT_000844e0)[*pbVar13];\n      *pcVar15 = cVar4;\n    } while (cVar4 != '\0');\n    bVar3 = *pbVar13;\n    if ((bVar3 & 0xdf) != 0) goto LAB_00045208;\nLAB_000450fb:\n    if (pbVar13 == local_38) {\nLAB_000454ae:\n      if ((DAT_00083ed0 == 0) && (bVar3 == 0x2f)) {\n        pcVar10 = "expecting prefix; got nothing";\n      }\n      else {\n        pcVar10 = "expecting mnemonic; got nothing";\n      }\n      uVar6 = dcgettext(0,pcVar10,5);\n      FUN_0002a980(uVar6);\n      return (byte *)0x0;\n    }\n    DAT_00083f40 = (int *)FUN_00024180(DAT_00083e60,param_2);\n    bVar3 = *pbVar13;\n    if ((bVar3 == 0) || ((bVar3 == 0x20 && (pbVar13[1] == 0)))) {\n      if (DAT_00083f40 == (int *)0x0) goto LAB_00045540;\n      puVar16 = (undefined4 *)*DAT_00083f40;\n      if ((*(byte *)(puVar16 + 9) & 0xa0) == 0) {\nLAB_00045264:\n        puVar16 = (undefined4 *)*DAT_00083f40;\n      }\nLAB_0004526c:\n      piVar2 = DAT_00083f40;\n      if ((undefined4 *)DAT_00083f40[1] <= puVar16) goto LAB_0004562d;\n      uVar11 = 0;\n      do {\n        uVar7 = FUN_00044e30();\n        uVar11 = uVar11 | uVar7;\n        if (uVar11 == 3) {\n          if (((DAT_0007b53c & 4) == 0) && (DAT_00083ee8 != 1)) {\n            uVar6 = dcgettext(0,"use .code16 to ensure correct addressing mode",5);\n            FUN_0002a8a0(uVar6);\n          }\n          return pbVar13;\n        }\n        puVar16 = puVar16 + 0x16;\n      } while (puVar16 < (undefined4 *)piVar2[1]);\n      puVar16 = (undefined4 *)*piVar2;\n      if ((uVar11 & 2) == 0) {\nLAB_0004562d:\n        uVar6 = *puVar16;\n        if (DAT_00083ee8 == 2) {\nLAB_00045352:\n          uVar5 = dcgettext(0,"`%s\' is not supported in 64-bit mode",5);\n        }\n        else {\nLAB_00045188:\n          uVar5 = dcgettext(0,"`%s\' is only supported in 64-bit mode",5);\n        }\nLAB_000451a1:\n        FUN_0002a980(uVar5,uVar6);\n      }\n      else {\n        uVar6 = *puVar16;\n        puVar12 = DAT_00083e94;\n        if (DAT_00083e94 == (undefined *)0x0) {\n          puVar12 = &DAT_00059ae5;\n        }\n        puVar14 = DAT_00083e98;\n        if (DAT_00083e98 == (undefined *)0x0) {\n          puVar14 = PTR_s_i386_0007b71c;\n        }\n        uVar5 = dcgettext(0,"`%s\' is not supported on `%s%s\'",5);\n        FUN_0002a980(uVar5,uVar6,puVar14,puVar12);\n      }\n      return (byte *)0x0;\n    }\n    if (DAT_00083f40 == (int *)0x0) {\nLAB_00045540:\n      if ((pcVar10 == pcVar15 + -2) && (pcVar10[1] == 's')) {\n        DAT_00084094 = 2;\nLAB_00045660:\n        *pcVar10 = '\0';\n        piVar9 = (int *)FUN_00024180(DAT_00083e60,param_2);\n        DAT_00083f40 = piVar9;\n        if (piVar9 == (int *)0x0) {\n          cVar4 = pcVar10[-1];\n          DAT_00083f40 = (int *)0x0;\n          pcVar15 = pcVar10;\n          piVar2 = (int *)0x0;\n          switch(cVar4) {\n          case 'b':\n          case 'q':\n            goto code_r0x000455ae;\n          default:\n            goto LAB_000451c0;\n          case 'd':\n            goto code_r0x000455fd;\n          case 'l':\n          case 's':\n            goto code_r0x000455e9;\n          case 'w':\n            goto code_r0x00045581;\n          }\n        }\n      }\n      else {\n        if (pcVar10 == pcVar15 + -3) {\n          if (pcVar10[1] == 'd') {\n            if (pcVar10[2] == '8') {\n              DAT_00084098 = 1;\n              goto LAB_00045660;\n            }\n            if (pcVar10 == pcVar15 + -4) goto LAB_000456b1;\n          }\n        }\n        else if ((pcVar10 == pcVar15 + -4) && (pcVar10[1] == 'd')) {\nLAB_000456b1:\n          if ((pcVar10[2] == '3') && (pcVar10[3] == '2')) {\n            DAT_00084098 = 2;\n            goto LAB_00045660;\n          }\n        }\n        cVar4 = pcVar15[-1];\n        piVar2 = DAT_00083f40;\n        piVar9 = DAT_00083f40;\n        switch(cVar4) {\n        case 'b':\n        case 'q':\n          break;\n        default:\n          goto LAB_000451c0;\n        case 'd':\ncode_r0x000455fd:\n          DAT_00083f40 = piVar9;\n          if (DAT_00083ed0 != 0) {\n            cVar4 = 'l';\n            if ((*param_2 == 'f') && (iVar8 = FUN_00043060(), iVar8 == 1)) {\n              cVar4 = 's';\n            }\n            break;\n          }\n          goto code_r0x000455d5;\n        case 'l':\n        case 's':\ncode_r0x000455e9:\n          DAT_00083f40 = piVar9;\n          if (DAT_00083ed0 != 0) goto code_r0x000455d5;\n          break;\n        case 'w':\ncode_r0x00045581:\n          cVar4 = 'w';\n          if ((DAT_00083ed0 != 0) && (*param_2 == 'f')) {\n            uVar11 = FUN_00043060();\n            cVar4 = (-((uVar11 & 2) == 0) & 4U) + 0x73;\n          }\n        }\ncode_r0x000455ae:\n        DAT_00083fb8 = cVar4;\n        pcVar15[-1] = '\0';\n        DAT_00083f40 = (int *)FUN_00024180(DAT_00083e60,param_2);\ncode_r0x000455d5:\n        piVar2 = DAT_00083f40;\n        if (DAT_00083f40 == (int *)0x0) {\nLAB_000451c0:\n          DAT_00083f40 = piVar2;\n          uVar6 = dcgettext(0,"no such instruction: `%s\'",5);\n          FUN_0002a980(uVar6,local_38);\n          return (byte *)0x0;\n        }\n      }\n      puVar16 = (undefined4 *)*DAT_00083f40;\n      bVar3 = *pbVar13;\nLAB_000454eb:\n      if ((*(byte *)(puVar16 + 9) & 0xa0) == 0) {\nLAB_00045532:\n        if (bVar3 != 0x2c) goto LAB_00045264;\n      }\n      else {\n        if (bVar3 != 0x2c) goto LAB_0004526c;\n        if (pbVar13[1] == 0x70) {\n          if (pbVar13[2] == 0x74) {\n            iVar8 = FUN_0003fd30();\n          }\n          else {\n            if (pbVar13[2] != 0x6e) goto LAB_00045222;\n            iVar8 = FUN_0003fd30();\n          }\n          if (iVar8 == 0) {\n            return (byte *)0x0;\n          }\n          bVar3 = pbVar13[3];\n          pbVar13 = pbVar13 + 3;\n          goto LAB_00045532;\n        }\n      }\nLAB_00045222:\n      uVar6 = FUN_00043af0();\n      uVar5 = dcgettext(0,"invalid character %s in mnemonic",5);\n      goto LAB_000451a1;\n    }\n    puVar16 = (undefined4 *)*DAT_00083f40;\n    if ((*(byte *)(puVar16 + 10) & 0x10) == 0) goto LAB_000454eb;\n    local_20 = (char)puVar16[8];\n    if (DAT_00083ee8 == 2) {\n      if (local_20 < '\0') {\n        uVar6 = *puVar16;\n        goto LAB_00045352;\n      }\n    }\n    else {\n      if ((puVar16[8] & 0x40) != 0) {\n        uVar6 = *puVar16;\n        goto LAB_00045188;\n      }\n      if (((*(byte *)((int)puVar16 + 0x25) & 0x18) != 0) &&\n         ((bool)(*(byte *)((int)puVar16 + 0x25) >> 4 & 1) != (DAT_00083ee8 == 1))) {\n        uVar6 = *puVar16;\n        uVar5 = dcgettext(0,"redundant %s prefix",5);\n        FUN_0002a980(uVar5,uVar6);\n        return (byte *)0x0;\n      }\n    }\n    if (*(char *)(puVar16 + 4) == '\0') {\n      uVar6 = DAT_000840a8;\n      uVar5 = DAT_000840ac;\n      switch(puVar16[2]) {\n      case 0:\n        DAT_00084098 = 1;\n        break;\n      case 1:\n        DAT_00084098 = 2;\n        break;\n      case 2:\n        DAT_00084094 = 1;\n        break;\n      case 3:\n        DAT_00084094 = 2;\n        break;\n      case 4:\n        DAT_000840a4 = 1;\n        break;\n      case 5:\n        DAT_000840a4 = 2;\n        break;\n      case 6:\n        DAT_000840a4 = 3;\n        break;\n      case 7:\n        uRam0008409c = 1;\n        break;\n      case 8:\n        uRam000840a0 = 1;\n        break;\n      default:\n                    \n        FUN_0002aaa0("../../gas/config/tc-i386.c",0x1127,"parse_insn",pbVar13);\n      }\n    }\n    else {\n      iVar8 = FUN_0003fd30();\n      uVar6 = DAT_000840a8;\n      uVar5 = DAT_000840ac;\n      if (iVar8 == 2) {\n        puVar16 = (undefined4 *)*DAT_00083f40;\n        uVar1 = *puVar16;\n        uVar5 = uVar1;\n        if (((*(byte *)((int)puVar16 + 0x1b) & 0x10) == 0) &&\n           (uVar6 = uVar1, uVar5 = DAT_000840ac, (*(byte *)(puVar16 + 7) & 1) != 0)) {\n          uVar6 = DAT_000840a8;\n          DAT_000840b0 = uVar1;\n        }\n      }\n      else if (iVar8 == 3) {\n        if ((*(byte *)(*DAT_00083f40 + 0x1f) & 8) != 0) {\n          DAT_000840b4 = *(undefined4 *)*DAT_00083f40;\n        }\n      }\n      else if (iVar8 == 0) {\n        return (byte *)0x0;\n      }\n    }\n    DAT_000840ac = uVar5;\n    DAT_000840a8 = uVar6;\n    local_38 = pbVar13 + 1;\n  } while( true );\n}" { (declaration "undefined4 uVar1;" type_identifier identifier ;) (declaration "int *piVar2;" primitive_type (pointer_declarator "*piVar2" * identifier) ;) (declaration "byte bVar3;" type_identifier identifier ;) (declaration "char cVar4;" primitive_type identifier ;) (declaration "undefined4 uVar5;" type_identifier identifier ;) (declaration "undefined4 uVar6;" type_identifier identifier ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "int *piVar9;" primitive_type (pointer_declarator "*piVar9" * identifier) ;) (declaration "char *pcVar10;" primitive_type (pointer_declarator "*pcVar10" * identifier) ;) (declaration "uint uVar11;" type_identifier identifier ;) (declaration "undefined *puVar12;" type_identifier (pointer_declarator "*puVar12" * identifier) ;) (declaration "byte *pbVar13;" type_identifier (pointer_declarator "*pbVar13" * identifier) ;) (declaration "undefined *puVar14;" type_identifier (pointer_declarator "*puVar14" * identifier) ;) (declaration "char *pcVar15;" primitive_type (pointer_declarator "*pcVar15" * identifier) ;) (declaration "undefined4 *puVar16;" type_identifier (pointer_declarator "*puVar16" * identifier) ;) (declaration "byte *local_38;" type_identifier (pointer_declarator "*local_38" * identifier) ;) (declaration "char local_20;" primitive_type identifier ;) (expression_statement "pcVar10 = (char *)0x0;" (assignment_expression "pcVar10 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_38 = param_1;" (assignment_expression "local_38 = param_1" identifier = identifier) ;) (do_statement "do {\n    cVar4 = (&DAT_000844e0)[*local_38];\n    *param_2 = cVar4;\n    pcVar15 = param_2;\n    pbVar13 = local_38;\n    if (cVar4 == '\0') {\n      bVar3 = *local_38;\n      if ((bVar3 & 0xdf) == 0) goto LAB_000454ae;\nLAB_00045208:\n      if ((DAT_00083ed0 == 0) && ((bVar3 == 0x2f || (bVar3 == 0x2c)))) goto LAB_000450fb;\n      goto LAB_00045222;\n    }\n    do {\n      if (cVar4 == '.') {\n        pcVar10 = pcVar15;\n      }\n      pcVar15 = pcVar15 + 1;\n      piVar2 = DAT_00083f40;\n      if (pbVar13 == local_38 + 0x13) goto LAB_000451c0;\n      pbVar13 = pbVar13 + 1;\n      cVar4 = (&DAT_000844e0)[*pbVar13];\n      *pcVar15 = cVar4;\n    } while (cVar4 != '\0');\n    bVar3 = *pbVar13;\n    if ((bVar3 & 0xdf) != 0) goto LAB_00045208;\nLAB_000450fb:\n    if (pbVar13 == local_38) {\nLAB_000454ae:\n      if ((DAT_00083ed0 == 0) && (bVar3 == 0x2f)) {\n        pcVar10 = "expecting prefix; got nothing";\n      }\n      else {\n        pcVar10 = "expecting mnemonic; got nothing";\n      }\n      uVar6 = dcgettext(0,pcVar10,5);\n      FUN_0002a980(uVar6);\n      return (byte *)0x0;\n    }\n    DAT_00083f40 = (int *)FUN_00024180(DAT_00083e60,param_2);\n    bVar3 = *pbVar13;\n    if ((bVar3 == 0) || ((bVar3 == 0x20 && (pbVar13[1] == 0)))) {\n      if (DAT_00083f40 == (int *)0x0) goto LAB_00045540;\n      puVar16 = (undefined4 *)*DAT_00083f40;\n      if ((*(byte *)(puVar16 + 9) & 0xa0) == 0) {\nLAB_00045264:\n        puVar16 = (undefined4 *)*DAT_00083f40;\n      }\nLAB_0004526c:\n      piVar2 = DAT_00083f40;\n      if ((undefined4 *)DAT_00083f40[1] <= puVar16) goto LAB_0004562d;\n      uVar11 = 0;\n      do {\n        uVar7 = FUN_00044e30();\n        uVar11 = uVar11 | uVar7;\n        if (uVar11 == 3) {\n          if (((DAT_0007b53c & 4) == 0) && (DAT_00083ee8 != 1)) {\n            uVar6 = dcgettext(0,"use .code16 to ensure correct addressing mode",5);\n            FUN_0002a8a0(uVar6);\n          }\n          return pbVar13;\n        }\n        puVar16 = puVar16 + 0x16;\n      } while (puVar16 < (undefined4 *)piVar2[1]);\n      puVar16 = (undefined4 *)*piVar2;\n      if ((uVar11 & 2) == 0) {\nLAB_0004562d:\n        uVar6 = *puVar16;\n        if (DAT_00083ee8 == 2) {\nLAB_00045352:\n          uVar5 = dcgettext(0,"`%s\' is not supported in 64-bit mode",5);\n        }\n        else {\nLAB_00045188:\n          uVar5 = dcgettext(0,"`%s\' is only supported in 64-bit mode",5);\n        }\nLAB_000451a1:\n        FUN_0002a980(uVar5,uVar6);\n      }\n      else {\n        uVar6 = *puVar16;\n        puVar12 = DAT_00083e94;\n        if (DAT_00083e94 == (undefined *)0x0) {\n          puVar12 = &DAT_00059ae5;\n        }\n        puVar14 = DAT_00083e98;\n        if (DAT_00083e98 == (undefined *)0x0) {\n          puVar14 = PTR_s_i386_0007b71c;\n        }\n        uVar5 = dcgettext(0,"`%s\' is not supported on `%s%s\'",5);\n        FUN_0002a980(uVar5,uVar6,puVar14,puVar12);\n      }\n      return (byte *)0x0;\n    }\n    if (DAT_00083f40 == (int *)0x0) {\nLAB_00045540:\n      if ((pcVar10 == pcVar15 + -2) && (pcVar10[1] == 's')) {\n        DAT_00084094 = 2;\nLAB_00045660:\n        *pcVar10 = '\0';\n        piVar9 = (int *)FUN_00024180(DAT_00083e60,param_2);\n        DAT_00083f40 = piVar9;\n        if (piVar9 == (int *)0x0) {\n          cVar4 = pcVar10[-1];\n          DAT_00083f40 = (int *)0x0;\n          pcVar15 = pcVar10;\n          piVar2 = (int *)0x0;\n          switch(cVar4) {\n          case 'b':\n          case 'q':\n            goto code_r0x000455ae;\n          default:\n            goto LAB_000451c0;\n          case 'd':\n            goto code_r0x000455fd;\n          case 'l':\n          case 's':\n            goto code_r0x000455e9;\n          case 'w':\n            goto code_r0x00045581;\n          }\n        }\n      }\n      else {\n        if (pcVar10 == pcVar15 + -3) {\n          if (pcVar10[1] == 'd') {\n            if (pcVar10[2] == '8') {\n              DAT_00084098 = 1;\n              goto LAB_00045660;\n            }\n            if (pcVar10 == pcVar15 + -4) goto LAB_000456b1;\n          }\n        }\n        else if ((pcVar10 == pcVar15 + -4) && (pcVar10[1] == 'd')) {\nLAB_000456b1:\n          if ((pcVar10[2] == '3') && (pcVar10[3] == '2')) {\n            DAT_00084098 = 2;\n            goto LAB_00045660;\n          }\n        }\n        cVar4 = pcVar15[-1];\n        piVar2 = DAT_00083f40;\n        piVar9 = DAT_00083f40;\n        switch(cVar4) {\n        case 'b':\n        case 'q':\n          break;\n        default:\n          goto LAB_000451c0;\n        case 'd':\ncode_r0x000455fd:\n          DAT_00083f40 = piVar9;\n          if (DAT_00083ed0 != 0) {\n            cVar4 = 'l';\n            if ((*param_2 == 'f') && (iVar8 = FUN_00043060(), iVar8 == 1)) {\n              cVar4 = 's';\n            }\n            break;\n          }\n          goto code_r0x000455d5;\n        case 'l':\n        case 's':\ncode_r0x000455e9:\n          DAT_00083f40 = piVar9;\n          if (DAT_00083ed0 != 0) goto code_r0x000455d5;\n          break;\n        case 'w':\ncode_r0x00045581:\n          cVar4 = 'w';\n          if ((DAT_00083ed0 != 0) && (*param_2 == 'f')) {\n            uVar11 = FUN_00043060();\n            cVar4 = (-((uVar11 & 2) == 0) & 4U) + 0x73;\n          }\n        }\ncode_r0x000455ae:\n        DAT_00083fb8 = cVar4;\n        pcVar15[-1] = '\0';\n        DAT_00083f40 = (int *)FUN_00024180(DAT_00083e60,param_2);\ncode_r0x000455d5:\n        piVar2 = DAT_00083f40;\n        if (DAT_00083f40 == (int *)0x0) {\nLAB_000451c0:\n          DAT_00083f40 = piVar2;\n          uVar6 = dcgettext(0,"no such instruction: `%s\'",5);\n          FUN_0002a980(uVar6,local_38);\n          return (byte *)0x0;\n        }\n      }\n      puVar16 = (undefined4 *)*DAT_00083f40;\n      bVar3 = *pbVar13;\nLAB_000454eb:\n      if ((*(byte *)(puVar16 + 9) & 0xa0) == 0) {\nLAB_00045532:\n        if (bVar3 != 0x2c) goto LAB_00045264;\n      }\n      else {\n        if (bVar3 != 0x2c) goto LAB_0004526c;\n        if (pbVar13[1] == 0x70) {\n          if (pbVar13[2] == 0x74) {\n            iVar8 = FUN_0003fd30();\n          }\n          else {\n            if (pbVar13[2] != 0x6e) goto LAB_00045222;\n            iVar8 = FUN_0003fd30();\n          }\n          if (iVar8 == 0) {\n            return (byte *)0x0;\n          }\n          bVar3 = pbVar13[3];\n          pbVar13 = pbVar13 + 3;\n          goto LAB_00045532;\n        }\n      }\nLAB_00045222:\n      uVar6 = FUN_00043af0();\n      uVar5 = dcgettext(0,"invalid character %s in mnemonic",5);\n      goto LAB_000451a1;\n    }\n    puVar16 = (undefined4 *)*DAT_00083f40;\n    if ((*(byte *)(puVar16 + 10) & 0x10) == 0) goto LAB_000454eb;\n    local_20 = (char)puVar16[8];\n    if (DAT_00083ee8 == 2) {\n      if (local_20 < '\0') {\n        uVar6 = *puVar16;\n        goto LAB_00045352;\n      }\n    }\n    else {\n      if ((puVar16[8] & 0x40) != 0) {\n        uVar6 = *puVar16;\n        goto LAB_00045188;\n      }\n      if (((*(byte *)((int)puVar16 + 0x25) & 0x18) != 0) &&\n         ((bool)(*(byte *)((int)puVar16 + 0x25) >> 4 & 1) != (DAT_00083ee8 == 1))) {\n        uVar6 = *puVar16;\n        uVar5 = dcgettext(0,"redundant %s prefix",5);\n        FUN_0002a980(uVar5,uVar6);\n        return (byte *)0x0;\n      }\n    }\n    if (*(char *)(puVar16 + 4) == '\0') {\n      uVar6 = DAT_000840a8;\n      uVar5 = DAT_000840ac;\n      switch(puVar16[2]) {\n      case 0:\n        DAT_00084098 = 1;\n        break;\n      case 1:\n        DAT_00084098 = 2;\n        break;\n      case 2:\n        DAT_00084094 = 1;\n        break;\n      case 3:\n        DAT_00084094 = 2;\n        break;\n      case 4:\n        DAT_000840a4 = 1;\n        break;\n      case 5:\n        DAT_000840a4 = 2;\n        break;\n      case 6:\n        DAT_000840a4 = 3;\n        break;\n      case 7:\n        uRam0008409c = 1;\n        break;\n      case 8:\n        uRam000840a0 = 1;\n        break;\n      default:\n                    \n        FUN_0002aaa0("../../gas/config/tc-i386.c",0x1127,"parse_insn",pbVar13);\n      }\n    }\n    else {\n      iVar8 = FUN_0003fd30();\n      uVar6 = DAT_000840a8;\n      uVar5 = DAT_000840ac;\n      if (iVar8 == 2) {\n        puVar16 = (undefined4 *)*DAT_00083f40;\n        uVar1 = *puVar16;\n        uVar5 = uVar1;\n        if (((*(byte *)((int)puVar16 + 0x1b) & 0x10) == 0) &&\n           (uVar6 = uVar1, uVar5 = DAT_000840ac, (*(byte *)(puVar16 + 7) & 1) != 0)) {\n          uVar6 = DAT_000840a8;\n          DAT_000840b0 = uVar1;\n        }\n      }\n      else if (iVar8 == 3) {\n        if ((*(byte *)(*DAT_00083f40 + 0x1f) & 8) != 0) {\n          DAT_000840b4 = *(undefined4 *)*DAT_00083f40;\n        }\n      }\n      else if (iVar8 == 0) {\n        return (byte *)0x0;\n      }\n    }\n    DAT_000840ac = uVar5;\n    DAT_000840a8 = uVar6;\n    local_38 = pbVar13 + 1;\n  } while( true );" do (compound_statement "{\n    cVar4 = (&DAT_000844e0)[*local_38];\n    *param_2 = cVar4;\n    pcVar15 = param_2;\n    pbVar13 = local_38;\n    if (cVar4 == '\0') {\n      bVar3 = *local_38;\n      if ((bVar3 & 0xdf) == 0) goto LAB_000454ae;\nLAB_00045208:\n      if ((DAT_00083ed0 == 0) && ((bVar3 == 0x2f || (bVar3 == 0x2c)))) goto LAB_000450fb;\n      goto LAB_00045222;\n    }\n    do {\n      if (cVar4 == '.') {\n        pcVar10 = pcVar15;\n      }\n      pcVar15 = pcVar15 + 1;\n      piVar2 = DAT_00083f40;\n      if (pbVar13 == local_38 + 0x13) goto LAB_000451c0;\n      pbVar13 = pbVar13 + 1;\n      cVar4 = (&DAT_000844e0)[*pbVar13];\n      *pcVar15 = cVar4;\n    } while (cVar4 != '\0');\n    bVar3 = *pbVar13;\n    if ((bVar3 & 0xdf) != 0) goto LAB_00045208;\nLAB_000450fb:\n    if (pbVar13 == local_38) {\nLAB_000454ae:\n      if ((DAT_00083ed0 == 0) && (bVar3 == 0x2f)) {\n        pcVar10 = "expecting prefix; got nothing";\n      }\n      else {\n        pcVar10 = "expecting mnemonic; got nothing";\n      }\n      uVar6 = dcgettext(0,pcVar10,5);\n      FUN_0002a980(uVar6);\n      return (byte *)0x0;\n    }\n    DAT_00083f40 = (int *)FUN_00024180(DAT_00083e60,param_2);\n    bVar3 = *pbVar13;\n    if ((bVar3 == 0) || ((bVar3 == 0x20 && (pbVar13[1] == 0)))) {\n      if (DAT_00083f40 == (int *)0x0) goto LAB_00045540;\n      puVar16 = (undefined4 *)*DAT_00083f40;\n      if ((*(byte *)(puVar16 + 9) & 0xa0) == 0) {\nLAB_00045264:\n        puVar16 = (undefined4 *)*DAT_00083f40;\n      }\nLAB_0004526c:\n      piVar2 = DAT_00083f40;\n      if ((undefined4 *)DAT_00083f40[1] <= puVar16) goto LAB_0004562d;\n      uVar11 = 0;\n      do {\n        uVar7 = FUN_00044e30();\n        uVar11 = uVar11 | uVar7;\n        if (uVar11 == 3) {\n          if (((DAT_0007b53c & 4) == 0) && (DAT_00083ee8 != 1)) {\n            uVar6 = dcgettext(0,"use .code16 to ensure correct addressing mode",5);\n            FUN_0002a8a0(uVar6);\n          }\n          return pbVar13;\n        }\n        puVar16 = puVar16 + 0x16;\n      } while (puVar16 < (undefined4 *)piVar2[1]);\n      puVar16 = (undefined4 *)*piVar2;\n      if ((uVar11 & 2) == 0) {\nLAB_0004562d:\n        uVar6 = *puVar16;\n        if (DAT_00083ee8 == 2) {\nLAB_00045352:\n          uVar5 = dcgettext(0,"`%s\' is not supported in 64-bit mode",5);\n        }\n        else {\nLAB_00045188:\n          uVar5 = dcgettext(0,"`%s\' is only supported in 64-bit mode",5);\n        }\nLAB_000451a1:\n        FUN_0002a980(uVar5,uVar6);\n      }\n      else {\n        uVar6 = *puVar16;\n        puVar12 = DAT_00083e94;\n        if (DAT_00083e94 == (undefined *)0x0) {\n          puVar12 = &DAT_00059ae5;\n        }\n        puVar14 = DAT_00083e98;\n        if (DAT_00083e98 == (undefined *)0x0) {\n          puVar14 = PTR_s_i386_0007b71c;\n        }\n        uVar5 = dcgettext(0,"`%s\' is not supported on `%s%s\'",5);\n        FUN_0002a980(uVar5,uVar6,puVar14,puVar12);\n      }\n      return (byte *)0x0;\n    }\n    if (DAT_00083f40 == (int *)0x0) {\nLAB_00045540:\n      if ((pcVar10 == pcVar15 + -2) && (pcVar10[1] == 's')) {\n        DAT_00084094 = 2;\nLAB_00045660:\n        *pcVar10 = '\0';\n        piVar9 = (int *)FUN_00024180(DAT_00083e60,param_2);\n        DAT_00083f40 = piVar9;\n        if (piVar9 == (int *)0x0) {\n          cVar4 = pcVar10[-1];\n          DAT_00083f40 = (int *)0x0;\n          pcVar15 = pcVar10;\n          piVar2 = (int *)0x0;\n          switch(cVar4) {\n          case 'b':\n          case 'q':\n            goto code_r0x000455ae;\n          default:\n            goto LAB_000451c0;\n          case 'd':\n            goto code_r0x000455fd;\n          case 'l':\n          case 's':\n            goto code_r0x000455e9;\n          case 'w':\n            goto code_r0x00045581;\n          }\n        }\n      }\n      else {\n        if (pcVar10 == pcVar15 + -3) {\n          if (pcVar10[1] == 'd') {\n            if (pcVar10[2] == '8') {\n              DAT_00084098 = 1;\n              goto LAB_00045660;\n            }\n            if (pcVar10 == pcVar15 + -4) goto LAB_000456b1;\n          }\n        }\n        else if ((pcVar10 == pcVar15 + -4) && (pcVar10[1] == 'd')) {\nLAB_000456b1:\n          if ((pcVar10[2] == '3') && (pcVar10[3] == '2')) {\n            DAT_00084098 = 2;\n            goto LAB_00045660;\n          }\n        }\n        cVar4 = pcVar15[-1];\n        piVar2 = DAT_00083f40;\n        piVar9 = DAT_00083f40;\n        switch(cVar4) {\n        case 'b':\n        case 'q':\n          break;\n        default:\n          goto LAB_000451c0;\n        case 'd':\ncode_r0x000455fd:\n          DAT_00083f40 = piVar9;\n          if (DAT_00083ed0 != 0) {\n            cVar4 = 'l';\n            if ((*param_2 == 'f') && (iVar8 = FUN_00043060(), iVar8 == 1)) {\n              cVar4 = 's';\n            }\n            break;\n          }\n          goto code_r0x000455d5;\n        case 'l':\n        case 's':\ncode_r0x000455e9:\n          DAT_00083f40 = piVar9;\n          if (DAT_00083ed0 != 0) goto code_r0x000455d5;\n          break;\n        case 'w':\ncode_r0x00045581:\n          cVar4 = 'w';\n          if ((DAT_00083ed0 != 0) && (*param_2 == 'f')) {\n            uVar11 = FUN_00043060();\n            cVar4 = (-((uVar11 & 2) == 0) & 4U) + 0x73;\n          }\n        }\ncode_r0x000455ae:\n        DAT_00083fb8 = cVar4;\n        pcVar15[-1] = '\0';\n        DAT_00083f40 = (int *)FUN_00024180(DAT_00083e60,param_2);\ncode_r0x000455d5:\n        piVar2 = DAT_00083f40;\n        if (DAT_00083f40 == (int *)0x0) {\nLAB_000451c0:\n          DAT_00083f40 = piVar2;\n          uVar6 = dcgettext(0,"no such instruction: `%s\'",5);\n          FUN_0002a980(uVar6,local_38);\n          return (byte *)0x0;\n        }\n      }\n      puVar16 = (undefined4 *)*DAT_00083f40;\n      bVar3 = *pbVar13;\nLAB_000454eb:\n      if ((*(byte *)(puVar16 + 9) & 0xa0) == 0) {\nLAB_00045532:\n        if (bVar3 != 0x2c) goto LAB_00045264;\n      }\n      else {\n        if (bVar3 != 0x2c) goto LAB_0004526c;\n        if (pbVar13[1] == 0x70) {\n          if (pbVar13[2] == 0x74) {\n            iVar8 = FUN_0003fd30();\n          }\n          else {\n            if (pbVar13[2] != 0x6e) goto LAB_00045222;\n            iVar8 = FUN_0003fd30();\n          }\n          if (iVar8 == 0) {\n            return (byte *)0x0;\n          }\n          bVar3 = pbVar13[3];\n          pbVar13 = pbVar13 + 3;\n          goto LAB_00045532;\n        }\n      }\nLAB_00045222:\n      uVar6 = FUN_00043af0();\n      uVar5 = dcgettext(0,"invalid character %s in mnemonic",5);\n      goto LAB_000451a1;\n    }\n    puVar16 = (undefined4 *)*DAT_00083f40;\n    if ((*(byte *)(puVar16 + 10) & 0x10) == 0) goto LAB_000454eb;\n    local_20 = (char)puVar16[8];\n    if (DAT_00083ee8 == 2) {\n      if (local_20 < '\0') {\n        uVar6 = *puVar16;\n        goto LAB_00045352;\n      }\n    }\n    else {\n      if ((puVar16[8] & 0x40) != 0) {\n        uVar6 = *puVar16;\n        goto LAB_00045188;\n      }\n      if (((*(byte *)((int)puVar16 + 0x25) & 0x18) != 0) &&\n         ((bool)(*(byte *)((int)puVar16 + 0x25) >> 4 & 1) != (DAT_00083ee8 == 1))) {\n        uVar6 = *puVar16;\n        uVar5 = dcgettext(0,"redundant %s prefix",5);\n        FUN_0002a980(uVar5,uVar6);\n        return (byte *)0x0;\n      }\n    }\n    if (*(char *)(puVar16 + 4) == '\0') {\n      uVar6 = DAT_000840a8;\n      uVar5 = DAT_000840ac;\n      switch(puVar16[2]) {\n      case 0:\n        DAT_00084098 = 1;\n        break;\n      case 1:\n        DAT_00084098 = 2;\n        break;\n      case 2:\n        DAT_00084094 = 1;\n        break;\n      case 3:\n        DAT_00084094 = 2;\n        break;\n      case 4:\n        DAT_000840a4 = 1;\n        break;\n      case 5:\n        DAT_000840a4 = 2;\n        break;\n      case 6:\n        DAT_000840a4 = 3;\n        break;\n      case 7:\n        uRam0008409c = 1;\n        break;\n      case 8:\n        uRam000840a0 = 1;\n        break;\n      default:\n                    \n        FUN_0002aaa0("../../gas/config/tc-i386.c",0x1127,"parse_insn",pbVar13);\n      }\n    }\n    else {\n      iVar8 = FUN_0003fd30();\n      uVar6 = DAT_000840a8;\n      uVar5 = DAT_000840ac;\n      if (iVar8 == 2) {\n        puVar16 = (undefined4 *)*DAT_00083f40;\n        uVar1 = *puVar16;\n        uVar5 = uVar1;\n        if (((*(byte *)((int)puVar16 + 0x1b) & 0x10) == 0) &&\n           (uVar6 = uVar1, uVar5 = DAT_000840ac, (*(byte *)(puVar16 + 7) & 1) != 0)) {\n          uVar6 = DAT_000840a8;\n          DAT_000840b0 = uVar1;\n        }\n      }\n      else if (iVar8 == 3) {\n        if ((*(byte *)(*DAT_00083f40 + 0x1f) & 8) != 0) {\n          DAT_000840b4 = *(undefined4 *)*DAT_00083f40;\n        }\n      }\n      else if (iVar8 == 0) {\n        return (byte *)0x0;\n      }\n    }\n    DAT_000840ac = uVar5;\n    DAT_000840a8 = uVar6;\n    local_38 = pbVar13 + 1;\n  }" { (expression_statement "cVar4 = (&DAT_000844e0)[*local_38];" (assignment_expression "cVar4 = (&DAT_000844e0)[*local_38]" identifier = (subscript_expression "(&DAT_000844e0)[*local_38]" (parenthesized_expression "(&DAT_000844e0)" ( (pointer_expression "&DAT_000844e0" & identifier) )) [ (pointer_expression "*local_38" * identifier) ])) ;) (expression_statement "*param_2 = cVar4;" (assignment_expression "*param_2 = cVar4" (pointer_expression "*param_2" * identifier) = identifier) ;) (expression_statement "pcVar15 = param_2;" (assignment_expression "pcVar15 = param_2" identifier = identifier) ;) (expression_statement "pbVar13 = local_38;" (assignment_expression "pbVar13 = local_38" identifier = identifier) ;) (if_statement "if (cVar4 == '\0') {\n      bVar3 = *local_38;\n      if ((bVar3 & 0xdf) == 0) goto LAB_000454ae;\nLAB_00045208:\n      if ((DAT_00083ed0 == 0) && ((bVar3 == 0x2f || (bVar3 == 0x2c)))) goto LAB_000450fb;\n      goto LAB_00045222;\n    }" if (parenthesized_expression "(cVar4 == '\0')" ( (binary_expression "cVar4 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      bVar3 = *local_38;\n      if ((bVar3 & 0xdf) == 0) goto LAB_000454ae;\nLAB_00045208:\n      if ((DAT_00083ed0 == 0) && ((bVar3 == 0x2f || (bVar3 == 0x2c)))) goto LAB_000450fb;\n      goto LAB_00045222;\n    }" { (expression_statement "bVar3 = *local_38;" (assignment_expression "bVar3 = *local_38" identifier = (pointer_expression "*local_38" * identifier)) ;) (if_statement "if ((bVar3 & 0xdf) == 0) goto LAB_000454ae;" if (parenthesized_expression "((bVar3 & 0xdf) == 0)" ( (binary_expression "(bVar3 & 0xdf) == 0" (parenthesized_expression "(bVar3 & 0xdf)" ( (binary_expression "bVar3 & 0xdf" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_000454ae;" goto statement_identifier ;)) (labeled_statement "LAB_00045208:\n      if ((DAT_00083ed0 == 0) && ((bVar3 == 0x2f || (bVar3 == 0x2c)))) goto LAB_000450fb;" statement_identifier : (if_statement "if ((DAT_00083ed0 == 0) && ((bVar3 == 0x2f || (bVar3 == 0x2c)))) goto LAB_000450fb;" if (parenthesized_expression "((DAT_00083ed0 == 0) && ((bVar3 == 0x2f || (bVar3 == 0x2c))))" ( (binary_expression "(DAT_00083ed0 == 0) && ((bVar3 == 0x2f || (bVar3 == 0x2c)))" (parenthesized_expression "(DAT_00083ed0 == 0)" ( (binary_expression "DAT_00083ed0 == 0" identifier == number_literal) )) && (parenthesized_expression "((bVar3 == 0x2f || (bVar3 == 0x2c)))" ( (parenthesized_expression "(bVar3 == 0x2f || (bVar3 == 0x2c))" ( (binary_expression "bVar3 == 0x2f || (bVar3 == 0x2c)" (binary_expression "bVar3 == 0x2f" identifier == number_literal) || (parenthesized_expression "(bVar3 == 0x2c)" ( (binary_expression "bVar3 == 0x2c" identifier == number_literal) ))) )) ))) )) (goto_statement "goto LAB_000450fb;" goto statement_identifier ;))) (goto_statement "goto LAB_00045222;" goto statement_identifier ;) })) (do_statement "do {\n      if (cVar4 == '.') {\n        pcVar10 = pcVar15;\n      }\n      pcVar15 = pcVar15 + 1;\n      piVar2 = DAT_00083f40;\n      if (pbVar13 == local_38 + 0x13) goto LAB_000451c0;\n      pbVar13 = pbVar13 + 1;\n      cVar4 = (&DAT_000844e0)[*pbVar13];\n      *pcVar15 = cVar4;\n    } while (cVar4 != '\0');" do (compound_statement "{\n      if (cVar4 == '.') {\n        pcVar10 = pcVar15;\n      }\n      pcVar15 = pcVar15 + 1;\n      piVar2 = DAT_00083f40;\n      if (pbVar13 == local_38 + 0x13) goto LAB_000451c0;\n      pbVar13 = pbVar13 + 1;\n      cVar4 = (&DAT_000844e0)[*pbVar13];\n      *pcVar15 = cVar4;\n    }" { (if_statement "if (cVar4 == '.') {\n        pcVar10 = pcVar15;\n      }" if (parenthesized_expression "(cVar4 == '.')" ( (binary_expression "cVar4 == '.'" identifier == (char_literal "'.'" ' character ')) )) (compound_statement "{\n        pcVar10 = pcVar15;\n      }" { (expression_statement "pcVar10 = pcVar15;" (assignment_expression "pcVar10 = pcVar15" identifier = identifier) ;) })) (expression_statement "pcVar15 = pcVar15 + 1;" (assignment_expression "pcVar15 = pcVar15 + 1" identifier = (binary_expression "pcVar15 + 1" identifier + number_literal)) ;) (expression_statement "piVar2 = DAT_00083f40;" (assignment_expression "piVar2 = DAT_00083f40" identifier = identifier) ;) (if_statement "if (pbVar13 == local_38 + 0x13) goto LAB_000451c0;" if (parenthesized_expression "(pbVar13 == local_38 + 0x13)" ( (binary_expression "pbVar13 == local_38 + 0x13" identifier == (binary_expression "local_38 + 0x13" identifier + number_literal)) )) (goto_statement "goto LAB_000451c0;" goto statement_identifier ;)) (expression_statement "pbVar13 = pbVar13 + 1;" (assignment_expression "pbVar13 = pbVar13 + 1" identifier = (binary_expression "pbVar13 + 1" identifier + number_literal)) ;) (expression_statement "cVar4 = (&DAT_000844e0)[*pbVar13];" (assignment_expression "cVar4 = (&DAT_000844e0)[*pbVar13]" identifier = (subscript_expression "(&DAT_000844e0)[*pbVar13]" (parenthesized_expression "(&DAT_000844e0)" ( (pointer_expression "&DAT_000844e0" & identifier) )) [ (pointer_expression "*pbVar13" * identifier) ])) ;) (expression_statement "*pcVar15 = cVar4;" (assignment_expression "*pcVar15 = cVar4" (pointer_expression "*pcVar15" * identifier) = identifier) ;) }) while (parenthesized_expression "(cVar4 != '\0')" ( (binary_expression "cVar4 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) ;) (expression_statement "bVar3 = *pbVar13;" (assignment_expression "bVar3 = *pbVar13" identifier = (pointer_expression "*pbVar13" * identifier)) ;) (if_statement "if ((bVar3 & 0xdf) != 0) goto LAB_00045208;" if (parenthesized_expression "((bVar3 & 0xdf) != 0)" ( (binary_expression "(bVar3 & 0xdf) != 0" (parenthesized_expression "(bVar3 & 0xdf)" ( (binary_expression "bVar3 & 0xdf" identifier & number_literal) )) != number_literal) )) (goto_statement "goto LAB_00045208;" goto statement_identifier ;)) (labeled_statement "LAB_000450fb:\n    if (pbVar13 == local_38) {\nLAB_000454ae:\n      if ((DAT_00083ed0 == 0) && (bVar3 == 0x2f)) {\n        pcVar10 = "expecting prefix; got nothing";\n      }\n      else {\n        pcVar10 = "expecting mnemonic; got nothing";\n      }\n      uVar6 = dcgettext(0,pcVar10,5);\n      FUN_0002a980(uVar6);\n      return (byte *)0x0;\n    }" statement_identifier : (if_statement "if (pbVar13 == local_38) {\nLAB_000454ae:\n      if ((DAT_00083ed0 == 0) && (bVar3 == 0x2f)) {\n        pcVar10 = "expecting prefix; got nothing";\n      }\n      else {\n        pcVar10 = "expecting mnemonic; got nothing";\n      }\n      uVar6 = dcgettext(0,pcVar10,5);\n      FUN_0002a980(uVar6);\n      return (byte *)0x0;\n    }" if (parenthesized_expression "(pbVar13 == local_38)" ( (binary_expression "pbVar13 == local_38" identifier == identifier) )) (compound_statement "{\nLAB_000454ae:\n      if ((DAT_00083ed0 == 0) && (bVar3 == 0x2f)) {\n        pcVar10 = "expecting prefix; got nothing";\n      }\n      else {\n        pcVar10 = "expecting mnemonic; got nothing";\n      }\n      uVar6 = dcgettext(0,pcVar10,5);\n      FUN_0002a980(uVar6);\n      return (byte *)0x0;\n    }" { (labeled_statement "LAB_000454ae:\n      if ((DAT_00083ed0 == 0) && (bVar3 == 0x2f)) {\n        pcVar10 = "expecting prefix; got nothing";\n      }\n      else {\n        pcVar10 = "expecting mnemonic; got nothing";\n      }" statement_identifier : (if_statement "if ((DAT_00083ed0 == 0) && (bVar3 == 0x2f)) {\n        pcVar10 = "expecting prefix; got nothing";\n      }\n      else {\n        pcVar10 = "expecting mnemonic; got nothing";\n      }" if (parenthesized_expression "((DAT_00083ed0 == 0) && (bVar3 == 0x2f))" ( (binary_expression "(DAT_00083ed0 == 0) && (bVar3 == 0x2f)" (parenthesized_expression "(DAT_00083ed0 == 0)" ( (binary_expression "DAT_00083ed0 == 0" identifier == number_literal) )) && (parenthesized_expression "(bVar3 == 0x2f)" ( (binary_expression "bVar3 == 0x2f" identifier == number_literal) ))) )) (compound_statement "{\n        pcVar10 = "expecting prefix; got nothing";\n      }" { (expression_statement "pcVar10 = "expecting prefix; got nothing";" (assignment_expression "pcVar10 = "expecting prefix; got nothing"" identifier = (string_literal ""expecting prefix; got nothing"" " string_content ")) ;) }) (else_clause "else {\n        pcVar10 = "expecting mnemonic; got nothing";\n      }" else (compound_statement "{\n        pcVar10 = "expecting mnemonic; got nothing";\n      }" { (expression_statement "pcVar10 = "expecting mnemonic; got nothing";" (assignment_expression "pcVar10 = "expecting mnemonic; got nothing"" identifier = (string_literal ""expecting mnemonic; got nothing"" " string_content ")) ;) })))) (expression_statement "uVar6 = dcgettext(0,pcVar10,5);" (assignment_expression "uVar6 = dcgettext(0,pcVar10,5)" identifier = (call_expression "dcgettext(0,pcVar10,5)" identifier (argument_list "(0,pcVar10,5)" ( number_literal , identifier , number_literal )))) ;) (expression_statement "FUN_0002a980(uVar6);" (call_expression "FUN_0002a980(uVar6)" identifier (argument_list "(uVar6)" ( identifier ))) ;) (return_statement "return (byte *)0x0;" return (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) ;) }))) (expression_statement "DAT_00083f40 = (int *)FUN_00024180(DAT_00083e60,param_2);" (assignment_expression "DAT_00083f40 = (int *)FUN_00024180(DAT_00083e60,param_2)" identifier = (cast_expression "(int *)FUN_00024180(DAT_00083e60,param_2)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00024180(DAT_00083e60,param_2)" identifier (argument_list "(DAT_00083e60,param_2)" ( identifier , identifier ))))) ;) (expression_statement "bVar3 = *pbVar13;" (assignment_expression "bVar3 = *pbVar13" identifier = (pointer_expression "*pbVar13" * identifier)) ;) (if_statement "if ((bVar3 == 0) || ((bVar3 == 0x20 && (pbVar13[1] == 0)))) {\n      if (DAT_00083f40 == (int *)0x0) goto LAB_00045540;\n      puVar16 = (undefined4 *)*DAT_00083f40;\n      if ((*(byte *)(puVar16 + 9) & 0xa0) == 0) {\nLAB_00045264:\n        puVar16 = (undefined4 *)*DAT_00083f40;\n      }\nLAB_0004526c:\n      piVar2 = DAT_00083f40;\n      if ((undefined4 *)DAT_00083f40[1] <= puVar16) goto LAB_0004562d;\n      uVar11 = 0;\n      do {\n        uVar7 = FUN_00044e30();\n        uVar11 = uVar11 | uVar7;\n        if (uVar11 == 3) {\n          if (((DAT_0007b53c & 4) == 0) && (DAT_00083ee8 != 1)) {\n            uVar6 = dcgettext(0,"use .code16 to ensure correct addressing mode",5);\n            FUN_0002a8a0(uVar6);\n          }\n          return pbVar13;\n        }\n        puVar16 = puVar16 + 0x16;\n      } while (puVar16 < (undefined4 *)piVar2[1]);\n      puVar16 = (undefined4 *)*piVar2;\n      if ((uVar11 & 2) == 0) {\nLAB_0004562d:\n        uVar6 = *puVar16;\n        if (DAT_00083ee8 == 2) {\nLAB_00045352:\n          uVar5 = dcgettext(0,"`%s\' is not supported in 64-bit mode",5);\n        }\n        else {\nLAB_00045188:\n          uVar5 = dcgettext(0,"`%s\' is only supported in 64-bit mode",5);\n        }\nLAB_000451a1:\n        FUN_0002a980(uVar5,uVar6);\n      }\n      else {\n        uVar6 = *puVar16;\n        puVar12 = DAT_00083e94;\n        if (DAT_00083e94 == (undefined *)0x0) {\n          puVar12 = &DAT_00059ae5;\n        }\n        puVar14 = DAT_00083e98;\n        if (DAT_00083e98 == (undefined *)0x0) {\n          puVar14 = PTR_s_i386_0007b71c;\n        }\n        uVar5 = dcgettext(0,"`%s\' is not supported on `%s%s\'",5);\n        FUN_0002a980(uVar5,uVar6,puVar14,puVar12);\n      }\n      return (byte *)0x0;\n    }" if (parenthesized_expression "((bVar3 == 0) || ((bVar3 == 0x20 && (pbVar13[1] == 0))))" ( (binary_expression "(bVar3 == 0) || ((bVar3 == 0x20 && (pbVar13[1] == 0)))" (parenthesized_expression "(bVar3 == 0)" ( (binary_expression "bVar3 == 0" identifier == number_literal) )) || (parenthesized_expression "((bVar3 == 0x20 && (pbVar13[1] == 0)))" ( (parenthesized_expression "(bVar3 == 0x20 && (pbVar13[1] == 0))" ( (binary_expression "bVar3 == 0x20 && (pbVar13[1] == 0)" (binary_expression "bVar3 == 0x20" identifier == number_literal) && (parenthesized_expression "(pbVar13[1] == 0)" ( (binary_expression "pbVar13[1] == 0" (subscript_expression "pbVar13[1]" identifier [ number_literal ]) == number_literal) ))) )) ))) )) (compound_statement "{\n      if (DAT_00083f40 == (int *)0x0) goto LAB_00045540;\n      puVar16 = (undefined4 *)*DAT_00083f40;\n      if ((*(byte *)(puVar16 + 9) & 0xa0) == 0) {\nLAB_00045264:\n        puVar16 = (undefined4 *)*DAT_00083f40;\n      }\nLAB_0004526c:\n      piVar2 = DAT_00083f40;\n      if ((undefined4 *)DAT_00083f40[1] <= puVar16) goto LAB_0004562d;\n      uVar11 = 0;\n      do {\n        uVar7 = FUN_00044e30();\n        uVar11 = uVar11 | uVar7;\n        if (uVar11 == 3) {\n          if (((DAT_0007b53c & 4) == 0) && (DAT_00083ee8 != 1)) {\n            uVar6 = dcgettext(0,"use .code16 to ensure correct addressing mode",5);\n            FUN_0002a8a0(uVar6);\n          }\n          return pbVar13;\n        }\n        puVar16 = puVar16 + 0x16;\n      } while (puVar16 < (undefined4 *)piVar2[1]);\n      puVar16 = (undefined4 *)*piVar2;\n      if ((uVar11 & 2) == 0) {\nLAB_0004562d:\n        uVar6 = *puVar16;\n        if (DAT_00083ee8 == 2) {\nLAB_00045352:\n          uVar5 = dcgettext(0,"`%s\' is not supported in 64-bit mode",5);\n        }\n        else {\nLAB_00045188:\n          uVar5 = dcgettext(0,"`%s\' is only supported in 64-bit mode",5);\n        }\nLAB_000451a1:\n        FUN_0002a980(uVar5,uVar6);\n      }\n      else {\n        uVar6 = *puVar16;\n        puVar12 = DAT_00083e94;\n        if (DAT_00083e94 == (undefined *)0x0) {\n          puVar12 = &DAT_00059ae5;\n        }\n        puVar14 = DAT_00083e98;\n        if (DAT_00083e98 == (undefined *)0x0) {\n          puVar14 = PTR_s_i386_0007b71c;\n        }\n        uVar5 = dcgettext(0,"`%s\' is not supported on `%s%s\'",5);\n        FUN_0002a980(uVar5,uVar6,puVar14,puVar12);\n      }\n      return (byte *)0x0;\n    }" { (if_statement "if (DAT_00083f40 == (int *)0x0) goto LAB_00045540;" if (parenthesized_expression "(DAT_00083f40 == (int *)0x0)" ( (binary_expression "DAT_00083f40 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00045540;" goto statement_identifier ;)) (expression_statement "puVar16 = (undefined4 *)*DAT_00083f40;" (assignment_expression "puVar16 = (undefined4 *)*DAT_00083f40" identifier = (cast_expression "(undefined4 *)*DAT_00083f40" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*DAT_00083f40" * identifier))) ;) (if_statement "if ((*(byte *)(puVar16 + 9) & 0xa0) == 0) {\nLAB_00045264:\n        puVar16 = (undefined4 *)*DAT_00083f40;\n      }" if (parenthesized_expression "((*(byte *)(puVar16 + 9) & 0xa0) == 0)" ( (binary_expression "(*(byte *)(puVar16 + 9) & 0xa0) == 0" (parenthesized_expression "(*(byte *)(puVar16 + 9) & 0xa0)" ( (binary_expression "*(byte *)(puVar16 + 9) & 0xa0" (pointer_expression "*(byte *)(puVar16 + 9)" * (cast_expression "(byte *)(puVar16 + 9)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + 9)" ( (binary_expression "puVar16 + 9" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\nLAB_00045264:\n        puVar16 = (undefined4 *)*DAT_00083f40;\n      }" { (labeled_statement "LAB_00045264:\n        puVar16 = (undefined4 *)*DAT_00083f40;" statement_identifier : (expression_statement "puVar16 = (undefined4 *)*DAT_00083f40;" (assignment_expression "puVar16 = (undefined4 *)*DAT_00083f40" identifier = (cast_expression "(undefined4 *)*DAT_00083f40" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*DAT_00083f40" * identifier))) ;)) })) (labeled_statement "LAB_0004526c:\n      piVar2 = DAT_00083f40;" statement_identifier : (expression_statement "piVar2 = DAT_00083f40;" (assignment_expression "piVar2 = DAT_00083f40" identifier = identifier) ;)) (if_statement "if ((undefined4 *)DAT_00083f40[1] <= puVar16) goto LAB_0004562d;" if (parenthesized_expression "((undefined4 *)DAT_00083f40[1] <= puVar16)" ( (binary_expression "(undefined4 *)DAT_00083f40[1] <= puVar16" (cast_expression "(undefined4 *)DAT_00083f40[1]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "DAT_00083f40[1]" identifier [ number_literal ])) <= identifier) )) (goto_statement "goto LAB_0004562d;" goto statement_identifier ;)) (expression_statement "uVar11 = 0;" (assignment_expression "uVar11 = 0" identifier = number_literal) ;) (do_statement "do {\n        uVar7 = FUN_00044e30();\n        uVar11 = uVar11 | uVar7;\n        if (uVar11 == 3) {\n          if (((DAT_0007b53c & 4) == 0) && (DAT_00083ee8 != 1)) {\n            uVar6 = dcgettext(0,"use .code16 to ensure correct addressing mode",5);\n            FUN_0002a8a0(uVar6);\n          }\n          return pbVar13;\n        }\n        puVar16 = puVar16 + 0x16;\n      } while (puVar16 < (undefined4 *)piVar2[1]);" do (compound_statement "{\n        uVar7 = FUN_00044e30();\n        uVar11 = uVar11 | uVar7;\n        if (uVar11 == 3) {\n          if (((DAT_0007b53c & 4) == 0) && (DAT_00083ee8 != 1)) {\n            uVar6 = dcgettext(0,"use .code16 to ensure correct addressing mode",5);\n            FUN_0002a8a0(uVar6);\n          }\n          return pbVar13;\n        }\n        puVar16 = puVar16 + 0x16;\n      }" { (expression_statement "uVar7 = FUN_00044e30();" (assignment_expression "uVar7 = FUN_00044e30()" identifier = (call_expression "FUN_00044e30()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar11 = uVar11 | uVar7;" (assignment_expression "uVar11 = uVar11 | uVar7" identifier = (binary_expression "uVar11 | uVar7" identifier | identifier)) ;) (if_statement "if (uVar11 == 3) {\n          if (((DAT_0007b53c & 4) == 0) && (DAT_00083ee8 != 1)) {\n            uVar6 = dcgettext(0,"use .code16 to ensure correct addressing mode",5);\n            FUN_0002a8a0(uVar6);\n          }\n          return pbVar13;\n        }" if (parenthesized_expression "(uVar11 == 3)" ( (binary_expression "uVar11 == 3" identifier == number_literal) )) (compound_statement "{\n          if (((DAT_0007b53c & 4) == 0) && (DAT_00083ee8 != 1)) {\n            uVar6 = dcgettext(0,"use .code16 to ensure correct addressing mode",5);\n            FUN_0002a8a0(uVar6);\n          }\n          return pbVar13;\n        }" { (if_statement "if (((DAT_0007b53c & 4) == 0) && (DAT_00083ee8 != 1)) {\n            uVar6 = dcgettext(0,"use .code16 to ensure correct addressing mode",5);\n            FUN_0002a8a0(uVar6);\n          }" if (parenthesized_expression "(((DAT_0007b53c & 4) == 0) && (DAT_00083ee8 != 1))" ( (binary_expression "((DAT_0007b53c & 4) == 0) && (DAT_00083ee8 != 1)" (parenthesized_expression "((DAT_0007b53c & 4) == 0)" ( (binary_expression "(DAT_0007b53c & 4) == 0" (parenthesized_expression "(DAT_0007b53c & 4)" ( (binary_expression "DAT_0007b53c & 4" identifier & number_literal) )) == number_literal) )) && (parenthesized_expression "(DAT_00083ee8 != 1)" ( (binary_expression "DAT_00083ee8 != 1" identifier != number_literal) ))) )) (compound_statement "{\n            uVar6 = dcgettext(0,"use .code16 to ensure correct addressing mode",5);\n            FUN_0002a8a0(uVar6);\n          }" { (expression_statement "uVar6 = dcgettext(0,"use .code16 to ensure correct addressing mode",5);" (assignment_expression "uVar6 = dcgettext(0,"use .code16 to ensure correct addressing mode",5)" identifier = (call_expression "dcgettext(0,"use .code16 to ensure correct addressing mode",5)" identifier (argument_list "(0,"use .code16 to ensure correct addressing mode",5)" ( number_literal , (string_literal ""use .code16 to ensure correct addressing mode"" " string_content ") , number_literal )))) ;) (expression_statement "FUN_0002a8a0(uVar6);" (call_expression "FUN_0002a8a0(uVar6)" identifier (argument_list "(uVar6)" ( identifier ))) ;) })) (return_statement "return pbVar13;" return identifier ;) })) (expression_statement "puVar16 = puVar16 + 0x16;" (assignment_expression "puVar16 = puVar16 + 0x16" identifier = (binary_expression "puVar16 + 0x16" identifier + number_literal)) ;) }) while (parenthesized_expression "(puVar16 < (undefined4 *)piVar2[1])" ( (binary_expression "puVar16 < (undefined4 *)piVar2[1]" identifier < (cast_expression "(undefined4 *)piVar2[1]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar2[1]" identifier [ number_literal ]))) )) ;) (expression_statement "puVar16 = (undefined4 *)*piVar2;" (assignment_expression "puVar16 = (undefined4 *)*piVar2" identifier = (cast_expression "(undefined4 *)*piVar2" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar2" * identifier))) ;) (if_statement "if ((uVar11 & 2) == 0) {\nLAB_0004562d:\n        uVar6 = *puVar16;\n        if (DAT_00083ee8 == 2) {\nLAB_00045352:\n          uVar5 = dcgettext(0,"`%s\' is not supported in 64-bit mode",5);\n        }\n        else {\nLAB_00045188:\n          uVar5 = dcgettext(0,"`%s\' is only supported in 64-bit mode",5);\n        }\nLAB_000451a1:\n        FUN_0002a980(uVar5,uVar6);\n      }\n      else {\n        uVar6 = *puVar16;\n        puVar12 = DAT_00083e94;\n        if (DAT_00083e94 == (undefined *)0x0) {\n          puVar12 = &DAT_00059ae5;\n        }\n        puVar14 = DAT_00083e98;\n        if (DAT_00083e98 == (undefined *)0x0) {\n          puVar14 = PTR_s_i386_0007b71c;\n        }\n        uVar5 = dcgettext(0,"`%s\' is not supported on `%s%s\'",5);\n        FUN_0002a980(uVar5,uVar6,puVar14,puVar12);\n      }" if (parenthesized_expression "((uVar11 & 2) == 0)" ( (binary_expression "(uVar11 & 2) == 0" (parenthesized_expression "(uVar11 & 2)" ( (binary_expression "uVar11 & 2" identifier & number_literal) )) == number_literal) )) (compound_statement "{\nLAB_0004562d:\n        uVar6 = *puVar16;\n        if (DAT_00083ee8 == 2) {\nLAB_00045352:\n          uVar5 = dcgettext(0,"`%s\' is not supported in 64-bit mode",5);\n        }\n        else {\nLAB_00045188:\n          uVar5 = dcgettext(0,"`%s\' is only supported in 64-bit mode",5);\n        }\nLAB_000451a1:\n        FUN_0002a980(uVar5,uVar6);\n      }" { (labeled_statement "LAB_0004562d:\n        uVar6 = *puVar16;" statement_identifier : (expression_statement "uVar6 = *puVar16;" (assignment_expression "uVar6 = *puVar16" identifier = (pointer_expression "*puVar16" * identifier)) ;)) (if_statement "if (DAT_00083ee8 == 2) {\nLAB_00045352:\n          uVar5 = dcgettext(0,"`%s\' is not supported in 64-bit mode",5);\n        }\n        else {\nLAB_00045188:\n          uVar5 = dcgettext(0,"`%s\' is only supported in 64-bit mode",5);\n        }" if (parenthesized_expression "(DAT_00083ee8 == 2)" ( (binary_expression "DAT_00083ee8 == 2" identifier == number_literal) )) (compound_statement "{\nLAB_00045352:\n          uVar5 = dcgettext(0,"`%s\' is not supported in 64-bit mode",5);\n        }" { (labeled_statement "LAB_00045352:\n          uVar5 = dcgettext(0,"`%s\' is not supported in 64-bit mode",5);" statement_identifier : (expression_statement "uVar5 = dcgettext(0,"`%s\' is not supported in 64-bit mode",5);" (assignment_expression "uVar5 = dcgettext(0,"`%s\' is not supported in 64-bit mode",5)" identifier = (call_expression "dcgettext(0,"`%s\' is not supported in 64-bit mode",5)" identifier (argument_list "(0,"`%s\' is not supported in 64-bit mode",5)" ( number_literal , (string_literal ""`%s\' is not supported in 64-bit mode"" " string_content escape_sequence string_content ") , number_literal )))) ;)) }) (else_clause "else {\nLAB_00045188:\n          uVar5 = dcgettext(0,"`%s\' is only supported in 64-bit mode",5);\n        }" else (compound_statement "{\nLAB_00045188:\n          uVar5 = dcgettext(0,"`%s\' is only supported in 64-bit mode",5);\n        }" { (labeled_statement "LAB_00045188:\n          uVar5 = dcgettext(0,"`%s\' is only supported in 64-bit mode",5);" statement_identifier : (expression_statement "uVar5 = dcgettext(0,"`%s\' is only supported in 64-bit mode",5);" (assignment_expression "uVar5 = dcgettext(0,"`%s\' is only supported in 64-bit mode",5)" identifier = (call_expression "dcgettext(0,"`%s\' is only supported in 64-bit mode",5)" identifier (argument_list "(0,"`%s\' is only supported in 64-bit mode",5)" ( number_literal , (string_literal ""`%s\' is only supported in 64-bit mode"" " string_content escape_sequence string_content ") , number_literal )))) ;)) }))) (labeled_statement "LAB_000451a1:\n        FUN_0002a980(uVar5,uVar6);" statement_identifier : (expression_statement "FUN_0002a980(uVar5,uVar6);" (call_expression "FUN_0002a980(uVar5,uVar6)" identifier (argument_list "(uVar5,uVar6)" ( identifier , identifier ))) ;)) }) (else_clause "else {\n        uVar6 = *puVar16;\n        puVar12 = DAT_00083e94;\n        if (DAT_00083e94 == (undefined *)0x0) {\n          puVar12 = &DAT_00059ae5;\n        }\n        puVar14 = DAT_00083e98;\n        if (DAT_00083e98 == (undefined *)0x0) {\n          puVar14 = PTR_s_i386_0007b71c;\n        }\n        uVar5 = dcgettext(0,"`%s\' is not supported on `%s%s\'",5);\n        FUN_0002a980(uVar5,uVar6,puVar14,puVar12);\n      }" else (compound_statement "{\n        uVar6 = *puVar16;\n        puVar12 = DAT_00083e94;\n        if (DAT_00083e94 == (undefined *)0x0) {\n          puVar12 = &DAT_00059ae5;\n        }\n        puVar14 = DAT_00083e98;\n        if (DAT_00083e98 == (undefined *)0x0) {\n          puVar14 = PTR_s_i386_0007b71c;\n        }\n        uVar5 = dcgettext(0,"`%s\' is not supported on `%s%s\'",5);\n        FUN_0002a980(uVar5,uVar6,puVar14,puVar12);\n      }" { (expression_statement "uVar6 = *puVar16;" (assignment_expression "uVar6 = *puVar16" identifier = (pointer_expression "*puVar16" * identifier)) ;) (expression_statement "puVar12 = DAT_00083e94;" (assignment_expression "puVar12 = DAT_00083e94" identifier = identifier) ;) (if_statement "if (DAT_00083e94 == (undefined *)0x0) {\n          puVar12 = &DAT_00059ae5;\n        }" if (parenthesized_expression "(DAT_00083e94 == (undefined *)0x0)" ( (binary_expression "DAT_00083e94 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          puVar12 = &DAT_00059ae5;\n        }" { (expression_statement "puVar12 = &DAT_00059ae5;" (assignment_expression "puVar12 = &DAT_00059ae5" identifier = (pointer_expression "&DAT_00059ae5" & identifier)) ;) })) (expression_statement "puVar14 = DAT_00083e98;" (assignment_expression "puVar14 = DAT_00083e98" identifier = identifier) ;) (if_statement "if (DAT_00083e98 == (undefined *)0x0) {\n          puVar14 = PTR_s_i386_0007b71c;\n        }" if (parenthesized_expression "(DAT_00083e98 == (undefined *)0x0)" ( (binary_expression "DAT_00083e98 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          puVar14 = PTR_s_i386_0007b71c;\n        }" { (expression_statement "puVar14 = PTR_s_i386_0007b71c;" (assignment_expression "puVar14 = PTR_s_i386_0007b71c" identifier = identifier) ;) })) (expression_statement "uVar5 = dcgettext(0,"`%s\' is not supported on `%s%s\'",5);" (assignment_expression "uVar5 = dcgettext(0,"`%s\' is not supported on `%s%s\'",5)" identifier = (call_expression "dcgettext(0,"`%s\' is not supported on `%s%s\'",5)" identifier (argument_list "(0,"`%s\' is not supported on `%s%s\'",5)" ( number_literal , (string_literal ""`%s\' is not supported on `%s%s\'"" " string_content escape_sequence string_content escape_sequence ") , number_literal )))) ;) (expression_statement "FUN_0002a980(uVar5,uVar6,puVar14,puVar12);" (call_expression "FUN_0002a980(uVar5,uVar6,puVar14,puVar12)" identifier (argument_list "(uVar5,uVar6,puVar14,puVar12)" ( identifier , identifier , identifier , identifier ))) ;) }))) (return_statement "return (byte *)0x0;" return (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) (if_statement "if (DAT_00083f40 == (int *)0x0) {\nLAB_00045540:\n      if ((pcVar10 == pcVar15 + -2) && (pcVar10[1] == 's')) {\n        DAT_00084094 = 2;\nLAB_00045660:\n        *pcVar10 = '\0';\n        piVar9 = (int *)FUN_00024180(DAT_00083e60,param_2);\n        DAT_00083f40 = piVar9;\n        if (piVar9 == (int *)0x0) {\n          cVar4 = pcVar10[-1];\n          DAT_00083f40 = (int *)0x0;\n          pcVar15 = pcVar10;\n          piVar2 = (int *)0x0;\n          switch(cVar4) {\n          case 'b':\n          case 'q':\n            goto code_r0x000455ae;\n          default:\n            goto LAB_000451c0;\n          case 'd':\n            goto code_r0x000455fd;\n          case 'l':\n          case 's':\n            goto code_r0x000455e9;\n          case 'w':\n            goto code_r0x00045581;\n          }\n        }\n      }\n      else {\n        if (pcVar10 == pcVar15 + -3) {\n          if (pcVar10[1] == 'd') {\n            if (pcVar10[2] == '8') {\n              DAT_00084098 = 1;\n              goto LAB_00045660;\n            }\n            if (pcVar10 == pcVar15 + -4) goto LAB_000456b1;\n          }\n        }\n        else if ((pcVar10 == pcVar15 + -4) && (pcVar10[1] == 'd')) {\nLAB_000456b1:\n          if ((pcVar10[2] == '3') && (pcVar10[3] == '2')) {\n            DAT_00084098 = 2;\n            goto LAB_00045660;\n          }\n        }\n        cVar4 = pcVar15[-1];\n        piVar2 = DAT_00083f40;\n        piVar9 = DAT_00083f40;\n        switch(cVar4) {\n        case 'b':\n        case 'q':\n          break;\n        default:\n          goto LAB_000451c0;\n        case 'd':\ncode_r0x000455fd:\n          DAT_00083f40 = piVar9;\n          if (DAT_00083ed0 != 0) {\n            cVar4 = 'l';\n            if ((*param_2 == 'f') && (iVar8 = FUN_00043060(), iVar8 == 1)) {\n              cVar4 = 's';\n            }\n            break;\n          }\n          goto code_r0x000455d5;\n        case 'l':\n        case 's':\ncode_r0x000455e9:\n          DAT_00083f40 = piVar9;\n          if (DAT_00083ed0 != 0) goto code_r0x000455d5;\n          break;\n        case 'w':\ncode_r0x00045581:\n          cVar4 = 'w';\n          if ((DAT_00083ed0 != 0) && (*param_2 == 'f')) {\n            uVar11 = FUN_00043060();\n            cVar4 = (-((uVar11 & 2) == 0) & 4U) + 0x73;\n          }\n        }\ncode_r0x000455ae:\n        DAT_00083fb8 = cVar4;\n        pcVar15[-1] = '\0';\n        DAT_00083f40 = (int *)FUN_00024180(DAT_00083e60,param_2);\ncode_r0x000455d5:\n        piVar2 = DAT_00083f40;\n        if (DAT_00083f40 == (int *)0x0) {\nLAB_000451c0:\n          DAT_00083f40 = piVar2;\n          uVar6 = dcgettext(0,"no such instruction: `%s\'",5);\n          FUN_0002a980(uVar6,local_38);\n          return (byte *)0x0;\n        }\n      }\n      puVar16 = (undefined4 *)*DAT_00083f40;\n      bVar3 = *pbVar13;\nLAB_000454eb:\n      if ((*(byte *)(puVar16 + 9) & 0xa0) == 0) {\nLAB_00045532:\n        if (bVar3 != 0x2c) goto LAB_00045264;\n      }\n      else {\n        if (bVar3 != 0x2c) goto LAB_0004526c;\n        if (pbVar13[1] == 0x70) {\n          if (pbVar13[2] == 0x74) {\n            iVar8 = FUN_0003fd30();\n          }\n          else {\n            if (pbVar13[2] != 0x6e) goto LAB_00045222;\n            iVar8 = FUN_0003fd30();\n          }\n          if (iVar8 == 0) {\n            return (byte *)0x0;\n          }\n          bVar3 = pbVar13[3];\n          pbVar13 = pbVar13 + 3;\n          goto LAB_00045532;\n        }\n      }\nLAB_00045222:\n      uVar6 = FUN_00043af0();\n      uVar5 = dcgettext(0,"invalid character %s in mnemonic",5);\n      goto LAB_000451a1;\n    }" if (parenthesized_expression "(DAT_00083f40 == (int *)0x0)" ( (binary_expression "DAT_00083f40 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_00045540:\n      if ((pcVar10 == pcVar15 + -2) && (pcVar10[1] == 's')) {\n        DAT_00084094 = 2;\nLAB_00045660:\n        *pcVar10 = '\0';\n        piVar9 = (int *)FUN_00024180(DAT_00083e60,param_2);\n        DAT_00083f40 = piVar9;\n        if (piVar9 == (int *)0x0) {\n          cVar4 = pcVar10[-1];\n          DAT_00083f40 = (int *)0x0;\n          pcVar15 = pcVar10;\n          piVar2 = (int *)0x0;\n          switch(cVar4) {\n          case 'b':\n          case 'q':\n            goto code_r0x000455ae;\n          default:\n            goto LAB_000451c0;\n          case 'd':\n            goto code_r0x000455fd;\n          case 'l':\n          case 's':\n            goto code_r0x000455e9;\n          case 'w':\n            goto code_r0x00045581;\n          }\n        }\n      }\n      else {\n        if (pcVar10 == pcVar15 + -3) {\n          if (pcVar10[1] == 'd') {\n            if (pcVar10[2] == '8') {\n              DAT_00084098 = 1;\n              goto LAB_00045660;\n            }\n            if (pcVar10 == pcVar15 + -4) goto LAB_000456b1;\n          }\n        }\n        else if ((pcVar10 == pcVar15 + -4) && (pcVar10[1] == 'd')) {\nLAB_000456b1:\n          if ((pcVar10[2] == '3') && (pcVar10[3] == '2')) {\n            DAT_00084098 = 2;\n            goto LAB_00045660;\n          }\n        }\n        cVar4 = pcVar15[-1];\n        piVar2 = DAT_00083f40;\n        piVar9 = DAT_00083f40;\n        switch(cVar4) {\n        case 'b':\n        case 'q':\n          break;\n        default:\n          goto LAB_000451c0;\n        case 'd':\ncode_r0x000455fd:\n          DAT_00083f40 = piVar9;\n          if (DAT_00083ed0 != 0) {\n            cVar4 = 'l';\n            if ((*param_2 == 'f') && (iVar8 = FUN_00043060(), iVar8 == 1)) {\n              cVar4 = 's';\n            }\n            break;\n          }\n          goto code_r0x000455d5;\n        case 'l':\n        case 's':\ncode_r0x000455e9:\n          DAT_00083f40 = piVar9;\n          if (DAT_00083ed0 != 0) goto code_r0x000455d5;\n          break;\n        case 'w':\ncode_r0x00045581:\n          cVar4 = 'w';\n          if ((DAT_00083ed0 != 0) && (*param_2 == 'f')) {\n            uVar11 = FUN_00043060();\n            cVar4 = (-((uVar11 & 2) == 0) & 4U) + 0x73;\n          }\n        }\ncode_r0x000455ae:\n        DAT_00083fb8 = cVar4;\n        pcVar15[-1] = '\0';\n        DAT_00083f40 = (int *)FUN_00024180(DAT_00083e60,param_2);\ncode_r0x000455d5:\n        piVar2 = DAT_00083f40;\n        if (DAT_00083f40 == (int *)0x0) {\nLAB_000451c0:\n          DAT_00083f40 = piVar2;\n          uVar6 = dcgettext(0,"no such instruction: `%s\'",5);\n          FUN_0002a980(uVar6,local_38);\n          return (byte *)0x0;\n        }\n      }\n      puVar16 = (undefined4 *)*DAT_00083f40;\n      bVar3 = *pbVar13;\nLAB_000454eb:\n      if ((*(byte *)(puVar16 + 9) & 0xa0) == 0) {\nLAB_00045532:\n        if (bVar3 != 0x2c) goto LAB_00045264;\n      }\n      else {\n        if (bVar3 != 0x2c) goto LAB_0004526c;\n        if (pbVar13[1] == 0x70) {\n          if (pbVar13[2] == 0x74) {\n            iVar8 = FUN_0003fd30();\n          }\n          else {\n            if (pbVar13[2] != 0x6e) goto LAB_00045222;\n            iVar8 = FUN_0003fd30();\n          }\n          if (iVar8 == 0) {\n            return (byte *)0x0;\n          }\n          bVar3 = pbVar13[3];\n          pbVar13 = pbVar13 + 3;\n          goto LAB_00045532;\n        }\n      }\nLAB_00045222:\n      uVar6 = FUN_00043af0();\n      uVar5 = dcgettext(0,"invalid character %s in mnemonic",5);\n      goto LAB_000451a1;\n    }" { (labeled_statement "LAB_00045540:\n      if ((pcVar10 == pcVar15 + -2) && (pcVar10[1] == 's')) {\n        DAT_00084094 = 2;\nLAB_00045660:\n        *pcVar10 = '\0';\n        piVar9 = (int *)FUN_00024180(DAT_00083e60,param_2);\n        DAT_00083f40 = piVar9;\n        if (piVar9 == (int *)0x0) {\n          cVar4 = pcVar10[-1];\n          DAT_00083f40 = (int *)0x0;\n          pcVar15 = pcVar10;\n          piVar2 = (int *)0x0;\n          switch(cVar4) {\n          case 'b':\n          case 'q':\n            goto code_r0x000455ae;\n          default:\n            goto LAB_000451c0;\n          case 'd':\n            goto code_r0x000455fd;\n          case 'l':\n          case 's':\n            goto code_r0x000455e9;\n          case 'w':\n            goto code_r0x00045581;\n          }\n        }\n      }\n      else {\n        if (pcVar10 == pcVar15 + -3) {\n          if (pcVar10[1] == 'd') {\n            if (pcVar10[2] == '8') {\n              DAT_00084098 = 1;\n              goto LAB_00045660;\n            }\n            if (pcVar10 == pcVar15 + -4) goto LAB_000456b1;\n          }\n        }\n        else if ((pcVar10 == pcVar15 + -4) && (pcVar10[1] == 'd')) {\nLAB_000456b1:\n          if ((pcVar10[2] == '3') && (pcVar10[3] == '2')) {\n            DAT_00084098 = 2;\n            goto LAB_00045660;\n          }\n        }\n        cVar4 = pcVar15[-1];\n        piVar2 = DAT_00083f40;\n        piVar9 = DAT_00083f40;\n        switch(cVar4) {\n        case 'b':\n        case 'q':\n          break;\n        default:\n          goto LAB_000451c0;\n        case 'd':\ncode_r0x000455fd:\n          DAT_00083f40 = piVar9;\n          if (DAT_00083ed0 != 0) {\n            cVar4 = 'l';\n            if ((*param_2 == 'f') && (iVar8 = FUN_00043060(), iVar8 == 1)) {\n              cVar4 = 's';\n            }\n            break;\n          }\n          goto code_r0x000455d5;\n        case 'l':\n        case 's':\ncode_r0x000455e9:\n          DAT_00083f40 = piVar9;\n          if (DAT_00083ed0 != 0) goto code_r0x000455d5;\n          break;\n        case 'w':\ncode_r0x00045581:\n          cVar4 = 'w';\n          if ((DAT_00083ed0 != 0) && (*param_2 == 'f')) {\n            uVar11 = FUN_00043060();\n            cVar4 = (-((uVar11 & 2) == 0) & 4U) + 0x73;\n          }\n        }\ncode_r0x000455ae:\n        DAT_00083fb8 = cVar4;\n        pcVar15[-1] = '\0';\n        DAT_00083f40 = (int *)FUN_00024180(DAT_00083e60,param_2);\ncode_r0x000455d5:\n        piVar2 = DAT_00083f40;\n        if (DAT_00083f40 == (int *)0x0) {\nLAB_000451c0:\n          DAT_00083f40 = piVar2;\n          uVar6 = dcgettext(0,"no such instruction: `%s\'",5);\n          FUN_0002a980(uVar6,local_38);\n          return (byte *)0x0;\n        }\n      }" statement_identifier : (if_statement "if ((pcVar10 == pcVar15 + -2) && (pcVar10[1] == 's')) {\n        DAT_00084094 = 2;\nLAB_00045660:\n        *pcVar10 = '\0';\n        piVar9 = (int *)FUN_00024180(DAT_00083e60,param_2);\n        DAT_00083f40 = piVar9;\n        if (piVar9 == (int *)0x0) {\n          cVar4 = pcVar10[-1];\n          DAT_00083f40 = (int *)0x0;\n          pcVar15 = pcVar10;\n          piVar2 = (int *)0x0;\n          switch(cVar4) {\n          case 'b':\n          case 'q':\n            goto code_r0x000455ae;\n          default:\n            goto LAB_000451c0;\n          case 'd':\n            goto code_r0x000455fd;\n          case 'l':\n          case 's':\n            goto code_r0x000455e9;\n          case 'w':\n            goto code_r0x00045581;\n          }\n        }\n      }\n      else {\n        if (pcVar10 == pcVar15 + -3) {\n          if (pcVar10[1] == 'd') {\n            if (pcVar10[2] == '8') {\n              DAT_00084098 = 1;\n              goto LAB_00045660;\n            }\n            if (pcVar10 == pcVar15 + -4) goto LAB_000456b1;\n          }\n        }\n        else if ((pcVar10 == pcVar15 + -4) && (pcVar10[1] == 'd')) {\nLAB_000456b1:\n          if ((pcVar10[2] == '3') && (pcVar10[3] == '2')) {\n            DAT_00084098 = 2;\n            goto LAB_00045660;\n          }\n        }\n        cVar4 = pcVar15[-1];\n        piVar2 = DAT_00083f40;\n        piVar9 = DAT_00083f40;\n        switch(cVar4) {\n        case 'b':\n        case 'q':\n          break;\n        default:\n          goto LAB_000451c0;\n        case 'd':\ncode_r0x000455fd:\n          DAT_00083f40 = piVar9;\n          if (DAT_00083ed0 != 0) {\n            cVar4 = 'l';\n            if ((*param_2 == 'f') && (iVar8 = FUN_00043060(), iVar8 == 1)) {\n              cVar4 = 's';\n            }\n            break;\n          }\n          goto code_r0x000455d5;\n        case 'l':\n        case 's':\ncode_r0x000455e9:\n          DAT_00083f40 = piVar9;\n          if (DAT_00083ed0 != 0) goto code_r0x000455d5;\n          break;\n        case 'w':\ncode_r0x00045581:\n          cVar4 = 'w';\n          if ((DAT_00083ed0 != 0) && (*param_2 == 'f')) {\n            uVar11 = FUN_00043060();\n            cVar4 = (-((uVar11 & 2) == 0) & 4U) + 0x73;\n          }\n        }\ncode_r0x000455ae:\n        DAT_00083fb8 = cVar4;\n        pcVar15[-1] = '\0';\n        DAT_00083f40 = (int *)FUN_00024180(DAT_00083e60,param_2);\ncode_r0x000455d5:\n        piVar2 = DAT_00083f40;\n        if (DAT_00083f40 == (int *)0x0) {\nLAB_000451c0:\n          DAT_00083f40 = piVar2;\n          uVar6 = dcgettext(0,"no such instruction: `%s\'",5);\n          FUN_0002a980(uVar6,local_38);\n          return (byte *)0x0;\n        }\n      }" if (parenthesized_expression "((pcVar10 == pcVar15 + -2) && (pcVar10[1] == 's'))" ( (binary_expression "(pcVar10 == pcVar15 + -2) && (pcVar10[1] == 's')" (parenthesized_expression "(pcVar10 == pcVar15 + -2)" ( (binary_expression "pcVar10 == pcVar15 + -2" identifier == (binary_expression "pcVar15 + -2" identifier + number_literal)) )) && (parenthesized_expression "(pcVar10[1] == 's')" ( (binary_expression "pcVar10[1] == 's'" (subscript_expression "pcVar10[1]" identifier [ number_literal ]) == (char_literal "'s'" ' character ')) ))) )) (compound_statement "{\n        DAT_00084094 = 2;\nLAB_00045660:\n        *pcVar10 = '\0';\n        piVar9 = (int *)FUN_00024180(DAT_00083e60,param_2);\n        DAT_00083f40 = piVar9;\n        if (piVar9 == (int *)0x0) {\n          cVar4 = pcVar10[-1];\n          DAT_00083f40 = (int *)0x0;\n          pcVar15 = pcVar10;\n          piVar2 = (int *)0x0;\n          switch(cVar4) {\n          case 'b':\n          case 'q':\n            goto code_r0x000455ae;\n          default:\n            goto LAB_000451c0;\n          case 'd':\n            goto code_r0x000455fd;\n          case 'l':\n          case 's':\n            goto code_r0x000455e9;\n          case 'w':\n            goto code_r0x00045581;\n          }\n        }\n      }" { (expression_statement "DAT_00084094 = 2;" (assignment_expression "DAT_00084094 = 2" identifier = number_literal) ;) (labeled_statement "LAB_00045660:\n        *pcVar10 = '\0';" statement_identifier : (expression_statement "*pcVar10 = '\0';" (assignment_expression "*pcVar10 = '\0'" (pointer_expression "*pcVar10" * identifier) = (char_literal "'\0'" ' escape_sequence ')) ;)) (expression_statement "piVar9 = (int *)FUN_00024180(DAT_00083e60,param_2);" (assignment_expression "piVar9 = (int *)FUN_00024180(DAT_00083e60,param_2)" identifier = (cast_expression "(int *)FUN_00024180(DAT_00083e60,param_2)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00024180(DAT_00083e60,param_2)" identifier (argument_list "(DAT_00083e60,param_2)" ( identifier , identifier ))))) ;) (expression_statement "DAT_00083f40 = piVar9;" (assignment_expression "DAT_00083f40 = piVar9" identifier = identifier) ;) (if_statement "if (piVar9 == (int *)0x0) {\n          cVar4 = pcVar10[-1];\n          DAT_00083f40 = (int *)0x0;\n          pcVar15 = pcVar10;\n          piVar2 = (int *)0x0;\n          switch(cVar4) {\n          case 'b':\n          case 'q':\n            goto code_r0x000455ae;\n          default:\n            goto LAB_000451c0;\n          case 'd':\n            goto code_r0x000455fd;\n          case 'l':\n          case 's':\n            goto code_r0x000455e9;\n          case 'w':\n            goto code_r0x00045581;\n          }\n        }" if (parenthesized_expression "(piVar9 == (int *)0x0)" ( (binary_expression "piVar9 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          cVar4 = pcVar10[-1];\n          DAT_00083f40 = (int *)0x0;\n          pcVar15 = pcVar10;\n          piVar2 = (int *)0x0;\n          switch(cVar4) {\n          case 'b':\n          case 'q':\n            goto code_r0x000455ae;\n          default:\n            goto LAB_000451c0;\n          case 'd':\n            goto code_r0x000455fd;\n          case 'l':\n          case 's':\n            goto code_r0x000455e9;\n          case 'w':\n            goto code_r0x00045581;\n          }\n        }" { (expression_statement "cVar4 = pcVar10[-1];" (assignment_expression "cVar4 = pcVar10[-1]" identifier = (subscript_expression "pcVar10[-1]" identifier [ number_literal ])) ;) (expression_statement "DAT_00083f40 = (int *)0x0;" (assignment_expression "DAT_00083f40 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar15 = pcVar10;" (assignment_expression "pcVar15 = pcVar10" identifier = identifier) ;) (expression_statement "piVar2 = (int *)0x0;" (assignment_expression "piVar2 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (switch_statement "switch(cVar4) {\n          case 'b':\n          case 'q':\n            goto code_r0x000455ae;\n          default:\n            goto LAB_000451c0;\n          case 'd':\n            goto code_r0x000455fd;\n          case 'l':\n          case 's':\n            goto code_r0x000455e9;\n          case 'w':\n            goto code_r0x00045581;\n          }" switch (parenthesized_expression "(cVar4)" ( identifier )) (compound_statement "{\n          case 'b':\n          case 'q':\n            goto code_r0x000455ae;\n          default:\n            goto LAB_000451c0;\n          case 'd':\n            goto code_r0x000455fd;\n          case 'l':\n          case 's':\n            goto code_r0x000455e9;\n          case 'w':\n            goto code_r0x00045581;\n          }" { (case_statement "case 'b':" case (char_literal "'b'" ' character ') :) (case_statement "case 'q':\n            goto code_r0x000455ae;" case (char_literal "'q'" ' character ') : (goto_statement "goto code_r0x000455ae;" goto statement_identifier ;)) (case_statement "default:\n            goto LAB_000451c0;" default : (goto_statement "goto LAB_000451c0;" goto statement_identifier ;)) (case_statement "case 'd':\n            goto code_r0x000455fd;" case (char_literal "'d'" ' character ') : (goto_statement "goto code_r0x000455fd;" goto statement_identifier ;)) (case_statement "case 'l':" case (char_literal "'l'" ' character ') :) (case_statement "case 's':\n            goto code_r0x000455e9;" case (char_literal "'s'" ' character ') : (goto_statement "goto code_r0x000455e9;" goto statement_identifier ;)) (case_statement "case 'w':\n            goto code_r0x00045581;" case (char_literal "'w'" ' character ') : (goto_statement "goto code_r0x00045581;" goto statement_identifier ;)) })) })) }) (else_clause "else {\n        if (pcVar10 == pcVar15 + -3) {\n          if (pcVar10[1] == 'd') {\n            if (pcVar10[2] == '8') {\n              DAT_00084098 = 1;\n              goto LAB_00045660;\n            }\n            if (pcVar10 == pcVar15 + -4) goto LAB_000456b1;\n          }\n        }\n        else if ((pcVar10 == pcVar15 + -4) && (pcVar10[1] == 'd')) {\nLAB_000456b1:\n          if ((pcVar10[2] == '3') && (pcVar10[3] == '2')) {\n            DAT_00084098 = 2;\n            goto LAB_00045660;\n          }\n        }\n        cVar4 = pcVar15[-1];\n        piVar2 = DAT_00083f40;\n        piVar9 = DAT_00083f40;\n        switch(cVar4) {\n        case 'b':\n        case 'q':\n          break;\n        default:\n          goto LAB_000451c0;\n        case 'd':\ncode_r0x000455fd:\n          DAT_00083f40 = piVar9;\n          if (DAT_00083ed0 != 0) {\n            cVar4 = 'l';\n            if ((*param_2 == 'f') && (iVar8 = FUN_00043060(), iVar8 == 1)) {\n              cVar4 = 's';\n            }\n            break;\n          }\n          goto code_r0x000455d5;\n        case 'l':\n        case 's':\ncode_r0x000455e9:\n          DAT_00083f40 = piVar9;\n          if (DAT_00083ed0 != 0) goto code_r0x000455d5;\n          break;\n        case 'w':\ncode_r0x00045581:\n          cVar4 = 'w';\n          if ((DAT_00083ed0 != 0) && (*param_2 == 'f')) {\n            uVar11 = FUN_00043060();\n            cVar4 = (-((uVar11 & 2) == 0) & 4U) + 0x73;\n          }\n        }\ncode_r0x000455ae:\n        DAT_00083fb8 = cVar4;\n        pcVar15[-1] = '\0';\n        DAT_00083f40 = (int *)FUN_00024180(DAT_00083e60,param_2);\ncode_r0x000455d5:\n        piVar2 = DAT_00083f40;\n        if (DAT_00083f40 == (int *)0x0) {\nLAB_000451c0:\n          DAT_00083f40 = piVar2;\n          uVar6 = dcgettext(0,"no such instruction: `%s\'",5);\n          FUN_0002a980(uVar6,local_38);\n          return (byte *)0x0;\n        }\n      }" else (compound_statement "{\n        if (pcVar10 == pcVar15 + -3) {\n          if (pcVar10[1] == 'd') {\n            if (pcVar10[2] == '8') {\n              DAT_00084098 = 1;\n              goto LAB_00045660;\n            }\n            if (pcVar10 == pcVar15 + -4) goto LAB_000456b1;\n          }\n        }\n        else if ((pcVar10 == pcVar15 + -4) && (pcVar10[1] == 'd')) {\nLAB_000456b1:\n          if ((pcVar10[2] == '3') && (pcVar10[3] == '2')) {\n            DAT_00084098 = 2;\n            goto LAB_00045660;\n          }\n        }\n        cVar4 = pcVar15[-1];\n        piVar2 = DAT_00083f40;\n        piVar9 = DAT_00083f40;\n        switch(cVar4) {\n        case 'b':\n        case 'q':\n          break;\n        default:\n          goto LAB_000451c0;\n        case 'd':\ncode_r0x000455fd:\n          DAT_00083f40 = piVar9;\n          if (DAT_00083ed0 != 0) {\n            cVar4 = 'l';\n            if ((*param_2 == 'f') && (iVar8 = FUN_00043060(), iVar8 == 1)) {\n              cVar4 = 's';\n            }\n            break;\n          }\n          goto code_r0x000455d5;\n        case 'l':\n        case 's':\ncode_r0x000455e9:\n          DAT_00083f40 = piVar9;\n          if (DAT_00083ed0 != 0) goto code_r0x000455d5;\n          break;\n        case 'w':\ncode_r0x00045581:\n          cVar4 = 'w';\n          if ((DAT_00083ed0 != 0) && (*param_2 == 'f')) {\n            uVar11 = FUN_00043060();\n            cVar4 = (-((uVar11 & 2) == 0) & 4U) + 0x73;\n          }\n        }\ncode_r0x000455ae:\n        DAT_00083fb8 = cVar4;\n        pcVar15[-1] = '\0';\n        DAT_00083f40 = (int *)FUN_00024180(DAT_00083e60,param_2);\ncode_r0x000455d5:\n        piVar2 = DAT_00083f40;\n        if (DAT_00083f40 == (int *)0x0) {\nLAB_000451c0:\n          DAT_00083f40 = piVar2;\n          uVar6 = dcgettext(0,"no such instruction: `%s\'",5);\n          FUN_0002a980(uVar6,local_38);\n          return (byte *)0x0;\n        }\n      }" { (if_statement "if (pcVar10 == pcVar15 + -3) {\n          if (pcVar10[1] == 'd') {\n            if (pcVar10[2] == '8') {\n              DAT_00084098 = 1;\n              goto LAB_00045660;\n            }\n            if (pcVar10 == pcVar15 + -4) goto LAB_000456b1;\n          }\n        }\n        else if ((pcVar10 == pcVar15 + -4) && (pcVar10[1] == 'd')) {\nLAB_000456b1:\n          if ((pcVar10[2] == '3') && (pcVar10[3] == '2')) {\n            DAT_00084098 = 2;\n            goto LAB_00045660;\n          }\n        }" if (parenthesized_expression "(pcVar10 == pcVar15 + -3)" ( (binary_expression "pcVar10 == pcVar15 + -3" identifier == (binary_expression "pcVar15 + -3" identifier + number_literal)) )) (compound_statement "{\n          if (pcVar10[1] == 'd') {\n            if (pcVar10[2] == '8') {\n              DAT_00084098 = 1;\n              goto LAB_00045660;\n            }\n            if (pcVar10 == pcVar15 + -4) goto LAB_000456b1;\n          }\n        }" { (if_statement "if (pcVar10[1] == 'd') {\n            if (pcVar10[2] == '8') {\n              DAT_00084098 = 1;\n              goto LAB_00045660;\n            }\n            if (pcVar10 == pcVar15 + -4) goto LAB_000456b1;\n          }" if (parenthesized_expression "(pcVar10[1] == 'd')" ( (binary_expression "pcVar10[1] == 'd'" (subscript_expression "pcVar10[1]" identifier [ number_literal ]) == (char_literal "'d'" ' character ')) )) (compound_statement "{\n            if (pcVar10[2] == '8') {\n              DAT_00084098 = 1;\n              goto LAB_00045660;\n            }\n            if (pcVar10 == pcVar15 + -4) goto LAB_000456b1;\n          }" { (if_statement "if (pcVar10[2] == '8') {\n              DAT_00084098 = 1;\n              goto LAB_00045660;\n            }" if (parenthesized_expression "(pcVar10[2] == '8')" ( (binary_expression "pcVar10[2] == '8'" (subscript_expression "pcVar10[2]" identifier [ number_literal ]) == (char_literal "'8'" ' character ')) )) (compound_statement "{\n              DAT_00084098 = 1;\n              goto LAB_00045660;\n            }" { (expression_statement "DAT_00084098 = 1;" (assignment_expression "DAT_00084098 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_00045660;" goto statement_identifier ;) })) (if_statement "if (pcVar10 == pcVar15 + -4) goto LAB_000456b1;" if (parenthesized_expression "(pcVar10 == pcVar15 + -4)" ( (binary_expression "pcVar10 == pcVar15 + -4" identifier == (binary_expression "pcVar15 + -4" identifier + number_literal)) )) (goto_statement "goto LAB_000456b1;" goto statement_identifier ;)) })) }) (else_clause "else if ((pcVar10 == pcVar15 + -4) && (pcVar10[1] == 'd')) {\nLAB_000456b1:\n          if ((pcVar10[2] == '3') && (pcVar10[3] == '2')) {\n            DAT_00084098 = 2;\n            goto LAB_00045660;\n          }\n        }" else (if_statement "if ((pcVar10 == pcVar15 + -4) && (pcVar10[1] == 'd')) {\nLAB_000456b1:\n          if ((pcVar10[2] == '3') && (pcVar10[3] == '2')) {\n            DAT_00084098 = 2;\n            goto LAB_00045660;\n          }\n        }" if (parenthesized_expression "((pcVar10 == pcVar15 + -4) && (pcVar10[1] == 'd'))" ( (binary_expression "(pcVar10 == pcVar15 + -4) && (pcVar10[1] == 'd')" (parenthesized_expression "(pcVar10 == pcVar15 + -4)" ( (binary_expression "pcVar10 == pcVar15 + -4" identifier == (binary_expression "pcVar15 + -4" identifier + number_literal)) )) && (parenthesized_expression "(pcVar10[1] == 'd')" ( (binary_expression "pcVar10[1] == 'd'" (subscript_expression "pcVar10[1]" identifier [ number_literal ]) == (char_literal "'d'" ' character ')) ))) )) (compound_statement "{\nLAB_000456b1:\n          if ((pcVar10[2] == '3') && (pcVar10[3] == '2')) {\n            DAT_00084098 = 2;\n            goto LAB_00045660;\n          }\n        }" { (labeled_statement "LAB_000456b1:\n          if ((pcVar10[2] == '3') && (pcVar10[3] == '2')) {\n            DAT_00084098 = 2;\n            goto LAB_00045660;\n          }" statement_identifier : (if_statement "if ((pcVar10[2] == '3') && (pcVar10[3] == '2')) {\n            DAT_00084098 = 2;\n            goto LAB_00045660;\n          }" if (parenthesized_expression "((pcVar10[2] == '3') && (pcVar10[3] == '2'))" ( (binary_expression "(pcVar10[2] == '3') && (pcVar10[3] == '2')" (parenthesized_expression "(pcVar10[2] == '3')" ( (binary_expression "pcVar10[2] == '3'" (subscript_expression "pcVar10[2]" identifier [ number_literal ]) == (char_literal "'3'" ' character ')) )) && (parenthesized_expression "(pcVar10[3] == '2')" ( (binary_expression "pcVar10[3] == '2'" (subscript_expression "pcVar10[3]" identifier [ number_literal ]) == (char_literal "'2'" ' character ')) ))) )) (compound_statement "{\n            DAT_00084098 = 2;\n            goto LAB_00045660;\n          }" { (expression_statement "DAT_00084098 = 2;" (assignment_expression "DAT_00084098 = 2" identifier = number_literal) ;) (goto_statement "goto LAB_00045660;" goto statement_identifier ;) }))) })))) (expression_statement "cVar4 = pcVar15[-1];" (assignment_expression "cVar4 = pcVar15[-1]" identifier = (subscript_expression "pcVar15[-1]" identifier [ number_literal ])) ;) (expression_statement "piVar2 = DAT_00083f40;" (assignment_expression "piVar2 = DAT_00083f40" identifier = identifier) ;) (expression_statement "piVar9 = DAT_00083f40;" (assignment_expression "piVar9 = DAT_00083f40" identifier = identifier) ;) (switch_statement "switch(cVar4) {\n        case 'b':\n        case 'q':\n          break;\n        default:\n          goto LAB_000451c0;\n        case 'd':\ncode_r0x000455fd:\n          DAT_00083f40 = piVar9;\n          if (DAT_00083ed0 != 0) {\n            cVar4 = 'l';\n            if ((*param_2 == 'f') && (iVar8 = FUN_00043060(), iVar8 == 1)) {\n              cVar4 = 's';\n            }\n            break;\n          }\n          goto code_r0x000455d5;\n        case 'l':\n        case 's':\ncode_r0x000455e9:\n          DAT_00083f40 = piVar9;\n          if (DAT_00083ed0 != 0) goto code_r0x000455d5;\n          break;\n        case 'w':\ncode_r0x00045581:\n          cVar4 = 'w';\n          if ((DAT_00083ed0 != 0) && (*param_2 == 'f')) {\n            uVar11 = FUN_00043060();\n            cVar4 = (-((uVar11 & 2) == 0) & 4U) + 0x73;\n          }\n        }" switch (parenthesized_expression "(cVar4)" ( identifier )) (compound_statement "{\n        case 'b':\n        case 'q':\n          break;\n        default:\n          goto LAB_000451c0;\n        case 'd':\ncode_r0x000455fd:\n          DAT_00083f40 = piVar9;\n          if (DAT_00083ed0 != 0) {\n            cVar4 = 'l';\n            if ((*param_2 == 'f') && (iVar8 = FUN_00043060(), iVar8 == 1)) {\n              cVar4 = 's';\n            }\n            break;\n          }\n          goto code_r0x000455d5;\n        case 'l':\n        case 's':\ncode_r0x000455e9:\n          DAT_00083f40 = piVar9;\n          if (DAT_00083ed0 != 0) goto code_r0x000455d5;\n          break;\n        case 'w':\ncode_r0x00045581:\n          cVar4 = 'w';\n          if ((DAT_00083ed0 != 0) && (*param_2 == 'f')) {\n            uVar11 = FUN_00043060();\n            cVar4 = (-((uVar11 & 2) == 0) & 4U) + 0x73;\n          }\n        }" { (case_statement "case 'b':" case (char_literal "'b'" ' character ') :) (case_statement "case 'q':\n          break;" case (char_literal "'q'" ' character ') : (break_statement "break;" break ;)) (case_statement "default:\n          goto LAB_000451c0;" default : (goto_statement "goto LAB_000451c0;" goto statement_identifier ;)) (case_statement "case 'd':\ncode_r0x000455fd:\n          DAT_00083f40 = piVar9;\n          if (DAT_00083ed0 != 0) {\n            cVar4 = 'l';\n            if ((*param_2 == 'f') && (iVar8 = FUN_00043060(), iVar8 == 1)) {\n              cVar4 = 's';\n            }\n            break;\n          }\n          goto code_r0x000455d5;" case (char_literal "'d'" ' character ') : (labeled_statement "code_r0x000455fd:\n          DAT_00083f40 = piVar9;" statement_identifier : (expression_statement "DAT_00083f40 = piVar9;" (assignment_expression "DAT_00083f40 = piVar9" identifier = identifier) ;)) (if_statement "if (DAT_00083ed0 != 0) {\n            cVar4 = 'l';\n            if ((*param_2 == 'f') && (iVar8 = FUN_00043060(), iVar8 == 1)) {\n              cVar4 = 's';\n            }\n            break;\n          }" if (parenthesized_expression "(DAT_00083ed0 != 0)" ( (binary_expression "DAT_00083ed0 != 0" identifier != number_literal) )) (compound_statement "{\n            cVar4 = 'l';\n            if ((*param_2 == 'f') && (iVar8 = FUN_00043060(), iVar8 == 1)) {\n              cVar4 = 's';\n            }\n            break;\n          }" { (expression_statement "cVar4 = 'l';" (assignment_expression "cVar4 = 'l'" identifier = (char_literal "'l'" ' character ')) ;) (if_statement "if ((*param_2 == 'f') && (iVar8 = FUN_00043060(), iVar8 == 1)) {\n              cVar4 = 's';\n            }" if (parenthesized_expression "((*param_2 == 'f') && (iVar8 = FUN_00043060(), iVar8 == 1))" ( (binary_expression "(*param_2 == 'f') && (iVar8 = FUN_00043060(), iVar8 == 1)" (parenthesized_expression "(*param_2 == 'f')" ( (binary_expression "*param_2 == 'f'" (pointer_expression "*param_2" * identifier) == (char_literal "'f'" ' character ')) )) && (parenthesized_expression "(iVar8 = FUN_00043060(), iVar8 == 1)" ( (comma_expression "iVar8 = FUN_00043060(), iVar8 == 1" (assignment_expression "iVar8 = FUN_00043060()" identifier = (call_expression "FUN_00043060()" identifier (argument_list "()" ( )))) , (binary_expression "iVar8 == 1" identifier == number_literal)) ))) )) (compound_statement "{\n              cVar4 = 's';\n            }" { (expression_statement "cVar4 = 's';" (assignment_expression "cVar4 = 's'" identifier = (char_literal "'s'" ' character ')) ;) })) (break_statement "break;" break ;) })) (goto_statement "goto code_r0x000455d5;" goto statement_identifier ;)) (case_statement "case 'l':" case (char_literal "'l'" ' character ') :) (case_statement "case 's':\ncode_r0x000455e9:\n          DAT_00083f40 = piVar9;\n          if (DAT_00083ed0 != 0) goto code_r0x000455d5;\n          break;" case (char_literal "'s'" ' character ') : (labeled_statement "code_r0x000455e9:\n          DAT_00083f40 = piVar9;" statement_identifier : (expression_statement "DAT_00083f40 = piVar9;" (assignment_expression "DAT_00083f40 = piVar9" identifier = identifier) ;)) (if_statement "if (DAT_00083ed0 != 0) goto code_r0x000455d5;" if (parenthesized_expression "(DAT_00083ed0 != 0)" ( (binary_expression "DAT_00083ed0 != 0" identifier != number_literal) )) (goto_statement "goto code_r0x000455d5;" goto statement_identifier ;)) (break_statement "break;" break ;)) (case_statement "case 'w':\ncode_r0x00045581:\n          cVar4 = 'w';\n          if ((DAT_00083ed0 != 0) && (*param_2 == 'f')) {\n            uVar11 = FUN_00043060();\n            cVar4 = (-((uVar11 & 2) == 0) & 4U) + 0x73;\n          }" case (char_literal "'w'" ' character ') : (labeled_statement "code_r0x00045581:\n          cVar4 = 'w';" statement_identifier : (expression_statement "cVar4 = 'w';" (assignment_expression "cVar4 = 'w'" identifier = (char_literal "'w'" ' character ')) ;)) (if_statement "if ((DAT_00083ed0 != 0) && (*param_2 == 'f')) {\n            uVar11 = FUN_00043060();\n            cVar4 = (-((uVar11 & 2) == 0) & 4U) + 0x73;\n          }" if (parenthesized_expression "((DAT_00083ed0 != 0) && (*param_2 == 'f'))" ( (binary_expression "(DAT_00083ed0 != 0) && (*param_2 == 'f')" (parenthesized_expression "(DAT_00083ed0 != 0)" ( (binary_expression "DAT_00083ed0 != 0" identifier != number_literal) )) && (parenthesized_expression "(*param_2 == 'f')" ( (binary_expression "*param_2 == 'f'" (pointer_expression "*param_2" * identifier) == (char_literal "'f'" ' character ')) ))) )) (compound_statement "{\n            uVar11 = FUN_00043060();\n            cVar4 = (-((uVar11 & 2) == 0) & 4U) + 0x73;\n          }" { (expression_statement "uVar11 = FUN_00043060();" (assignment_expression "uVar11 = FUN_00043060()" identifier = (call_expression "FUN_00043060()" identifier (argument_list "()" ( )))) ;) (expression_statement "cVar4 = (-((uVar11 & 2) == 0) & 4U) + 0x73;" (assignment_expression "cVar4 = (-((uVar11 & 2) == 0) & 4U) + 0x73" identifier = (binary_expression "(-((uVar11 & 2) == 0) & 4U) + 0x73" (parenthesized_expression "(-((uVar11 & 2) == 0) & 4U)" ( (binary_expression "-((uVar11 & 2) == 0) & 4U" (unary_expression "-((uVar11 & 2) == 0)" - (parenthesized_expression "((uVar11 & 2) == 0)" ( (binary_expression "(uVar11 & 2) == 0" (parenthesized_expression "(uVar11 & 2)" ( (binary_expression "uVar11 & 2" identifier & number_literal) )) == number_literal) ))) & number_literal) )) + number_literal)) ;) }))) })) (labeled_statement "code_r0x000455ae:\n        DAT_00083fb8 = cVar4;" statement_identifier : (expression_statement "DAT_00083fb8 = cVar4;" (assignment_expression "DAT_00083fb8 = cVar4" identifier = identifier) ;)) (expression_statement "pcVar15[-1] = '\0';" (assignment_expression "pcVar15[-1] = '\0'" (subscript_expression "pcVar15[-1]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "DAT_00083f40 = (int *)FUN_00024180(DAT_00083e60,param_2);" (assignment_expression "DAT_00083f40 = (int *)FUN_00024180(DAT_00083e60,param_2)" identifier = (cast_expression "(int *)FUN_00024180(DAT_00083e60,param_2)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00024180(DAT_00083e60,param_2)" identifier (argument_list "(DAT_00083e60,param_2)" ( identifier , identifier ))))) ;) (labeled_statement "code_r0x000455d5:\n        piVar2 = DAT_00083f40;" statement_identifier : (expression_statement "piVar2 = DAT_00083f40;" (assignment_expression "piVar2 = DAT_00083f40" identifier = identifier) ;)) (if_statement "if (DAT_00083f40 == (int *)0x0) {\nLAB_000451c0:\n          DAT_00083f40 = piVar2;\n          uVar6 = dcgettext(0,"no such instruction: `%s\'",5);\n          FUN_0002a980(uVar6,local_38);\n          return (byte *)0x0;\n        }" if (parenthesized_expression "(DAT_00083f40 == (int *)0x0)" ( (binary_expression "DAT_00083f40 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_000451c0:\n          DAT_00083f40 = piVar2;\n          uVar6 = dcgettext(0,"no such instruction: `%s\'",5);\n          FUN_0002a980(uVar6,local_38);\n          return (byte *)0x0;\n        }" { (labeled_statement "LAB_000451c0:\n          DAT_00083f40 = piVar2;" statement_identifier : (expression_statement "DAT_00083f40 = piVar2;" (assignment_expression "DAT_00083f40 = piVar2" identifier = identifier) ;)) (expression_statement "uVar6 = dcgettext(0,"no such instruction: `%s\'",5);" (assignment_expression "uVar6 = dcgettext(0,"no such instruction: `%s\'",5)" identifier = (call_expression "dcgettext(0,"no such instruction: `%s\'",5)" identifier (argument_list "(0,"no such instruction: `%s\'",5)" ( number_literal , (string_literal ""no such instruction: `%s\'"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "FUN_0002a980(uVar6,local_38);" (call_expression "FUN_0002a980(uVar6,local_38)" identifier (argument_list "(uVar6,local_38)" ( identifier , identifier ))) ;) (return_statement "return (byte *)0x0;" return (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) })))) (expression_statement "puVar16 = (undefined4 *)*DAT_00083f40;" (assignment_expression "puVar16 = (undefined4 *)*DAT_00083f40" identifier = (cast_expression "(undefined4 *)*DAT_00083f40" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*DAT_00083f40" * identifier))) ;) (expression_statement "bVar3 = *pbVar13;" (assignment_expression "bVar3 = *pbVar13" identifier = (pointer_expression "*pbVar13" * identifier)) ;) (labeled_statement "LAB_000454eb:\n      if ((*(byte *)(puVar16 + 9) & 0xa0) == 0) {\nLAB_00045532:\n        if (bVar3 != 0x2c) goto LAB_00045264;\n      }\n      else {\n        if (bVar3 != 0x2c) goto LAB_0004526c;\n        if (pbVar13[1] == 0x70) {\n          if (pbVar13[2] == 0x74) {\n            iVar8 = FUN_0003fd30();\n          }\n          else {\n            if (pbVar13[2] != 0x6e) goto LAB_00045222;\n            iVar8 = FUN_0003fd30();\n          }\n          if (iVar8 == 0) {\n            return (byte *)0x0;\n          }\n          bVar3 = pbVar13[3];\n          pbVar13 = pbVar13 + 3;\n          goto LAB_00045532;\n        }\n      }" statement_identifier : (if_statement "if ((*(byte *)(puVar16 + 9) & 0xa0) == 0) {\nLAB_00045532:\n        if (bVar3 != 0x2c) goto LAB_00045264;\n      }\n      else {\n        if (bVar3 != 0x2c) goto LAB_0004526c;\n        if (pbVar13[1] == 0x70) {\n          if (pbVar13[2] == 0x74) {\n            iVar8 = FUN_0003fd30();\n          }\n          else {\n            if (pbVar13[2] != 0x6e) goto LAB_00045222;\n            iVar8 = FUN_0003fd30();\n          }\n          if (iVar8 == 0) {\n            return (byte *)0x0;\n          }\n          bVar3 = pbVar13[3];\n          pbVar13 = pbVar13 + 3;\n          goto LAB_00045532;\n        }\n      }" if (parenthesized_expression "((*(byte *)(puVar16 + 9) & 0xa0) == 0)" ( (binary_expression "(*(byte *)(puVar16 + 9) & 0xa0) == 0" (parenthesized_expression "(*(byte *)(puVar16 + 9) & 0xa0)" ( (binary_expression "*(byte *)(puVar16 + 9) & 0xa0" (pointer_expression "*(byte *)(puVar16 + 9)" * (cast_expression "(byte *)(puVar16 + 9)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + 9)" ( (binary_expression "puVar16 + 9" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\nLAB_00045532:\n        if (bVar3 != 0x2c) goto LAB_00045264;\n      }" { (labeled_statement "LAB_00045532:\n        if (bVar3 != 0x2c) goto LAB_00045264;" statement_identifier : (if_statement "if (bVar3 != 0x2c) goto LAB_00045264;" if (parenthesized_expression "(bVar3 != 0x2c)" ( (binary_expression "bVar3 != 0x2c" identifier != number_literal) )) (goto_statement "goto LAB_00045264;" goto statement_identifier ;))) }) (else_clause "else {\n        if (bVar3 != 0x2c) goto LAB_0004526c;\n        if (pbVar13[1] == 0x70) {\n          if (pbVar13[2] == 0x74) {\n            iVar8 = FUN_0003fd30();\n          }\n          else {\n            if (pbVar13[2] != 0x6e) goto LAB_00045222;\n            iVar8 = FUN_0003fd30();\n          }\n          if (iVar8 == 0) {\n            return (byte *)0x0;\n          }\n          bVar3 = pbVar13[3];\n          pbVar13 = pbVar13 + 3;\n          goto LAB_00045532;\n        }\n      }" else (compound_statement "{\n        if (bVar3 != 0x2c) goto LAB_0004526c;\n        if (pbVar13[1] == 0x70) {\n          if (pbVar13[2] == 0x74) {\n            iVar8 = FUN_0003fd30();\n          }\n          else {\n            if (pbVar13[2] != 0x6e) goto LAB_00045222;\n            iVar8 = FUN_0003fd30();\n          }\n          if (iVar8 == 0) {\n            return (byte *)0x0;\n          }\n          bVar3 = pbVar13[3];\n          pbVar13 = pbVar13 + 3;\n          goto LAB_00045532;\n        }\n      }" { (if_statement "if (bVar3 != 0x2c) goto LAB_0004526c;" if (parenthesized_expression "(bVar3 != 0x2c)" ( (binary_expression "bVar3 != 0x2c" identifier != number_literal) )) (goto_statement "goto LAB_0004526c;" goto statement_identifier ;)) (if_statement "if (pbVar13[1] == 0x70) {\n          if (pbVar13[2] == 0x74) {\n            iVar8 = FUN_0003fd30();\n          }\n          else {\n            if (pbVar13[2] != 0x6e) goto LAB_00045222;\n            iVar8 = FUN_0003fd30();\n          }\n          if (iVar8 == 0) {\n            return (byte *)0x0;\n          }\n          bVar3 = pbVar13[3];\n          pbVar13 = pbVar13 + 3;\n          goto LAB_00045532;\n        }" if (parenthesized_expression "(pbVar13[1] == 0x70)" ( (binary_expression "pbVar13[1] == 0x70" (subscript_expression "pbVar13[1]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n          if (pbVar13[2] == 0x74) {\n            iVar8 = FUN_0003fd30();\n          }\n          else {\n            if (pbVar13[2] != 0x6e) goto LAB_00045222;\n            iVar8 = FUN_0003fd30();\n          }\n          if (iVar8 == 0) {\n            return (byte *)0x0;\n          }\n          bVar3 = pbVar13[3];\n          pbVar13 = pbVar13 + 3;\n          goto LAB_00045532;\n        }" { (if_statement "if (pbVar13[2] == 0x74) {\n            iVar8 = FUN_0003fd30();\n          }\n          else {\n            if (pbVar13[2] != 0x6e) goto LAB_00045222;\n            iVar8 = FUN_0003fd30();\n          }" if (parenthesized_expression "(pbVar13[2] == 0x74)" ( (binary_expression "pbVar13[2] == 0x74" (subscript_expression "pbVar13[2]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n            iVar8 = FUN_0003fd30();\n          }" { (expression_statement "iVar8 = FUN_0003fd30();" (assignment_expression "iVar8 = FUN_0003fd30()" identifier = (call_expression "FUN_0003fd30()" identifier (argument_list "()" ( )))) ;) }) (else_clause "else {\n            if (pbVar13[2] != 0x6e) goto LAB_00045222;\n            iVar8 = FUN_0003fd30();\n          }" else (compound_statement "{\n            if (pbVar13[2] != 0x6e) goto LAB_00045222;\n            iVar8 = FUN_0003fd30();\n          }" { (if_statement "if (pbVar13[2] != 0x6e) goto LAB_00045222;" if (parenthesized_expression "(pbVar13[2] != 0x6e)" ( (binary_expression "pbVar13[2] != 0x6e" (subscript_expression "pbVar13[2]" identifier [ number_literal ]) != number_literal) )) (goto_statement "goto LAB_00045222;" goto statement_identifier ;)) (expression_statement "iVar8 = FUN_0003fd30();" (assignment_expression "iVar8 = FUN_0003fd30()" identifier = (call_expression "FUN_0003fd30()" identifier (argument_list "()" ( )))) ;) }))) (if_statement "if (iVar8 == 0) {\n            return (byte *)0x0;\n          }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\n            return (byte *)0x0;\n          }" { (return_statement "return (byte *)0x0;" return (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) (expression_statement "bVar3 = pbVar13[3];" (assignment_expression "bVar3 = pbVar13[3]" identifier = (subscript_expression "pbVar13[3]" identifier [ number_literal ])) ;) (expression_statement "pbVar13 = pbVar13 + 3;" (assignment_expression "pbVar13 = pbVar13 + 3" identifier = (binary_expression "pbVar13 + 3" identifier + number_literal)) ;) (goto_statement "goto LAB_00045532;" goto statement_identifier ;) })) })))) (labeled_statement "LAB_00045222:\n      uVar6 = FUN_00043af0();" statement_identifier : (expression_statement "uVar6 = FUN_00043af0();" (assignment_expression "uVar6 = FUN_00043af0()" identifier = (call_expression "FUN_00043af0()" identifier (argument_list "()" ( )))) ;)) (expression_statement "uVar5 = dcgettext(0,"invalid character %s in mnemonic",5);" (assignment_expression "uVar5 = dcgettext(0,"invalid character %s in mnemonic",5)" identifier = (call_expression "dcgettext(0,"invalid character %s in mnemonic",5)" identifier (argument_list "(0,"invalid character %s in mnemonic",5)" ( number_literal , (string_literal ""invalid character %s in mnemonic"" " string_content ") , number_literal )))) ;) (goto_statement "goto LAB_000451a1;" goto statement_identifier ;) })) (expression_statement "puVar16 = (undefined4 *)*DAT_00083f40;" (assignment_expression "puVar16 = (undefined4 *)*DAT_00083f40" identifier = (cast_expression "(undefined4 *)*DAT_00083f40" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*DAT_00083f40" * identifier))) ;) (if_statement "if ((*(byte *)(puVar16 + 10) & 0x10) == 0) goto LAB_000454eb;" if (parenthesized_expression "((*(byte *)(puVar16 + 10) & 0x10) == 0)" ( (binary_expression "(*(byte *)(puVar16 + 10) & 0x10) == 0" (parenthesized_expression "(*(byte *)(puVar16 + 10) & 0x10)" ( (binary_expression "*(byte *)(puVar16 + 10) & 0x10" (pointer_expression "*(byte *)(puVar16 + 10)" * (cast_expression "(byte *)(puVar16 + 10)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + 10)" ( (binary_expression "puVar16 + 10" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_000454eb;" goto statement_identifier ;)) (expression_statement "local_20 = (char)puVar16[8];" (assignment_expression "local_20 = (char)puVar16[8]" identifier = (cast_expression "(char)puVar16[8]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "puVar16[8]" identifier [ number_literal ]))) ;) (if_statement "if (DAT_00083ee8 == 2) {\n      if (local_20 < '\0') {\n        uVar6 = *puVar16;\n        goto LAB_00045352;\n      }\n    }\n    else {\n      if ((puVar16[8] & 0x40) != 0) {\n        uVar6 = *puVar16;\n        goto LAB_00045188;\n      }\n      if (((*(byte *)((int)puVar16 + 0x25) & 0x18) != 0) &&\n         ((bool)(*(byte *)((int)puVar16 + 0x25) >> 4 & 1) != (DAT_00083ee8 == 1))) {\n        uVar6 = *puVar16;\n        uVar5 = dcgettext(0,"redundant %s prefix",5);\n        FUN_0002a980(uVar5,uVar6);\n        return (byte *)0x0;\n      }\n    }" if (parenthesized_expression "(DAT_00083ee8 == 2)" ( (binary_expression "DAT_00083ee8 == 2" identifier == number_literal) )) (compound_statement "{\n      if (local_20 < '\0') {\n        uVar6 = *puVar16;\n        goto LAB_00045352;\n      }\n    }" { (if_statement "if (local_20 < '\0') {\n        uVar6 = *puVar16;\n        goto LAB_00045352;\n      }" if (parenthesized_expression "(local_20 < '\0')" ( (binary_expression "local_20 < '\0'" identifier < (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        uVar6 = *puVar16;\n        goto LAB_00045352;\n      }" { (expression_statement "uVar6 = *puVar16;" (assignment_expression "uVar6 = *puVar16" identifier = (pointer_expression "*puVar16" * identifier)) ;) (goto_statement "goto LAB_00045352;" goto statement_identifier ;) })) }) (else_clause "else {\n      if ((puVar16[8] & 0x40) != 0) {\n        uVar6 = *puVar16;\n        goto LAB_00045188;\n      }\n      if (((*(byte *)((int)puVar16 + 0x25) & 0x18) != 0) &&\n         ((bool)(*(byte *)((int)puVar16 + 0x25) >> 4 & 1) != (DAT_00083ee8 == 1))) {\n        uVar6 = *puVar16;\n        uVar5 = dcgettext(0,"redundant %s prefix",5);\n        FUN_0002a980(uVar5,uVar6);\n        return (byte *)0x0;\n      }\n    }" else (compound_statement "{\n      if ((puVar16[8] & 0x40) != 0) {\n        uVar6 = *puVar16;\n        goto LAB_00045188;\n      }\n      if (((*(byte *)((int)puVar16 + 0x25) & 0x18) != 0) &&\n         ((bool)(*(byte *)((int)puVar16 + 0x25) >> 4 & 1) != (DAT_00083ee8 == 1))) {\n        uVar6 = *puVar16;\n        uVar5 = dcgettext(0,"redundant %s prefix",5);\n        FUN_0002a980(uVar5,uVar6);\n        return (byte *)0x0;\n      }\n    }" { (if_statement "if ((puVar16[8] & 0x40) != 0) {\n        uVar6 = *puVar16;\n        goto LAB_00045188;\n      }" if (parenthesized_expression "((puVar16[8] & 0x40) != 0)" ( (binary_expression "(puVar16[8] & 0x40) != 0" (parenthesized_expression "(puVar16[8] & 0x40)" ( (binary_expression "puVar16[8] & 0x40" (subscript_expression "puVar16[8]" identifier [ number_literal ]) & number_literal) )) != number_literal) )) (compound_statement "{\n        uVar6 = *puVar16;\n        goto LAB_00045188;\n      }" { (expression_statement "uVar6 = *puVar16;" (assignment_expression "uVar6 = *puVar16" identifier = (pointer_expression "*puVar16" * identifier)) ;) (goto_statement "goto LAB_00045188;" goto statement_identifier ;) })) (if_statement "if (((*(byte *)((int)puVar16 + 0x25) & 0x18) != 0) &&\n         ((bool)(*(byte *)((int)puVar16 + 0x25) >> 4 & 1) != (DAT_00083ee8 == 1))) {\n        uVar6 = *puVar16;\n        uVar5 = dcgettext(0,"redundant %s prefix",5);\n        FUN_0002a980(uVar5,uVar6);\n        return (byte *)0x0;\n      }" if (parenthesized_expression "(((*(byte *)((int)puVar16 + 0x25) & 0x18) != 0) &&\n         ((bool)(*(byte *)((int)puVar16 + 0x25) >> 4 & 1) != (DAT_00083ee8 == 1)))" ( (binary_expression "((*(byte *)((int)puVar16 + 0x25) & 0x18) != 0) &&\n         ((bool)(*(byte *)((int)puVar16 + 0x25) >> 4 & 1) != (DAT_00083ee8 == 1))" (parenthesized_expression "((*(byte *)((int)puVar16 + 0x25) & 0x18) != 0)" ( (binary_expression "(*(byte *)((int)puVar16 + 0x25) & 0x18) != 0" (parenthesized_expression "(*(byte *)((int)puVar16 + 0x25) & 0x18)" ( (binary_expression "*(byte *)((int)puVar16 + 0x25) & 0x18" (pointer_expression "*(byte *)((int)puVar16 + 0x25)" * (cast_expression "(byte *)((int)puVar16 + 0x25)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar16 + 0x25)" ( (binary_expression "(int)puVar16 + 0x25" (cast_expression "(int)puVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) != number_literal) )) && (parenthesized_expression "((bool)(*(byte *)((int)puVar16 + 0x25) >> 4 & 1) != (DAT_00083ee8 == 1))" ( (binary_expression "(bool)(*(byte *)((int)puVar16 + 0x25) >> 4 & 1) != (DAT_00083ee8 == 1)" (cast_expression "(bool)(*(byte *)((int)puVar16 + 0x25) >> 4 & 1)" ( (type_descriptor "bool" primitive_type) ) (parenthesized_expression "(*(byte *)((int)puVar16 + 0x25) >> 4 & 1)" ( (binary_expression "*(byte *)((int)puVar16 + 0x25) >> 4 & 1" (binary_expression "*(byte *)((int)puVar16 + 0x25) >> 4" (pointer_expression "*(byte *)((int)puVar16 + 0x25)" * (cast_expression "(byte *)((int)puVar16 + 0x25)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar16 + 0x25)" ( (binary_expression "(int)puVar16 + 0x25" (cast_expression "(int)puVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) >> number_literal) & number_literal) ))) != (parenthesized_expression "(DAT_00083ee8 == 1)" ( (binary_expression "DAT_00083ee8 == 1" identifier == number_literal) ))) ))) )) (compound_statement "{\n        uVar6 = *puVar16;\n        uVar5 = dcgettext(0,"redundant %s prefix",5);\n        FUN_0002a980(uVar5,uVar6);\n        return (byte *)0x0;\n      }" { (expression_statement "uVar6 = *puVar16;" (assignment_expression "uVar6 = *puVar16" identifier = (pointer_expression "*puVar16" * identifier)) ;) (expression_statement "uVar5 = dcgettext(0,"redundant %s prefix",5);" (assignment_expression "uVar5 = dcgettext(0,"redundant %s prefix",5)" identifier = (call_expression "dcgettext(0,"redundant %s prefix",5)" identifier (argument_list "(0,"redundant %s prefix",5)" ( number_literal , (string_literal ""redundant %s prefix"" " string_content ") , number_literal )))) ;) (expression_statement "FUN_0002a980(uVar5,uVar6);" (call_expression "FUN_0002a980(uVar5,uVar6)" identifier (argument_list "(uVar5,uVar6)" ( identifier , identifier ))) ;) (return_statement "return (byte *)0x0;" return (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) }))) (if_statement "if (*(char *)(puVar16 + 4) == '\0') {\n      uVar6 = DAT_000840a8;\n      uVar5 = DAT_000840ac;\n      switch(puVar16[2]) {\n      case 0:\n        DAT_00084098 = 1;\n        break;\n      case 1:\n        DAT_00084098 = 2;\n        break;\n      case 2:\n        DAT_00084094 = 1;\n        break;\n      case 3:\n        DAT_00084094 = 2;\n        break;\n      case 4:\n        DAT_000840a4 = 1;\n        break;\n      case 5:\n        DAT_000840a4 = 2;\n        break;\n      case 6:\n        DAT_000840a4 = 3;\n        break;\n      case 7:\n        uRam0008409c = 1;\n        break;\n      case 8:\n        uRam000840a0 = 1;\n        break;\n      default:\n                    \n        FUN_0002aaa0("../../gas/config/tc-i386.c",0x1127,"parse_insn",pbVar13);\n      }\n    }\n    else {\n      iVar8 = FUN_0003fd30();\n      uVar6 = DAT_000840a8;\n      uVar5 = DAT_000840ac;\n      if (iVar8 == 2) {\n        puVar16 = (undefined4 *)*DAT_00083f40;\n        uVar1 = *puVar16;\n        uVar5 = uVar1;\n        if (((*(byte *)((int)puVar16 + 0x1b) & 0x10) == 0) &&\n           (uVar6 = uVar1, uVar5 = DAT_000840ac, (*(byte *)(puVar16 + 7) & 1) != 0)) {\n          uVar6 = DAT_000840a8;\n          DAT_000840b0 = uVar1;\n        }\n      }\n      else if (iVar8 == 3) {\n        if ((*(byte *)(*DAT_00083f40 + 0x1f) & 8) != 0) {\n          DAT_000840b4 = *(undefined4 *)*DAT_00083f40;\n        }\n      }\n      else if (iVar8 == 0) {\n        return (byte *)0x0;\n      }\n    }" if (parenthesized_expression "(*(char *)(puVar16 + 4) == '\0')" ( (binary_expression "*(char *)(puVar16 + 4) == '\0'" (pointer_expression "*(char *)(puVar16 + 4)" * (cast_expression "(char *)(puVar16 + 4)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + 4)" ( (binary_expression "puVar16 + 4" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      uVar6 = DAT_000840a8;\n      uVar5 = DAT_000840ac;\n      switch(puVar16[2]) {\n      case 0:\n        DAT_00084098 = 1;\n        break;\n      case 1:\n        DAT_00084098 = 2;\n        break;\n      case 2:\n        DAT_00084094 = 1;\n        break;\n      case 3:\n        DAT_00084094 = 2;\n        break;\n      case 4:\n        DAT_000840a4 = 1;\n        break;\n      case 5:\n        DAT_000840a4 = 2;\n        break;\n      case 6:\n        DAT_000840a4 = 3;\n        break;\n      case 7:\n        uRam0008409c = 1;\n        break;\n      case 8:\n        uRam000840a0 = 1;\n        break;\n      default:\n                    \n        FUN_0002aaa0("../../gas/config/tc-i386.c",0x1127,"parse_insn",pbVar13);\n      }\n    }" { (expression_statement "uVar6 = DAT_000840a8;" (assignment_expression "uVar6 = DAT_000840a8" identifier = identifier) ;) (expression_statement "uVar5 = DAT_000840ac;" (assignment_expression "uVar5 = DAT_000840ac" identifier = identifier) ;) (switch_statement "switch(puVar16[2]) {\n      case 0:\n        DAT_00084098 = 1;\n        break;\n      case 1:\n        DAT_00084098 = 2;\n        break;\n      case 2:\n        DAT_00084094 = 1;\n        break;\n      case 3:\n        DAT_00084094 = 2;\n        break;\n      case 4:\n        DAT_000840a4 = 1;\n        break;\n      case 5:\n        DAT_000840a4 = 2;\n        break;\n      case 6:\n        DAT_000840a4 = 3;\n        break;\n      case 7:\n        uRam0008409c = 1;\n        break;\n      case 8:\n        uRam000840a0 = 1;\n        break;\n      default:\n                    \n        FUN_0002aaa0("../../gas/config/tc-i386.c",0x1127,"parse_insn",pbVar13);\n      }" switch (parenthesized_expression "(puVar16[2])" ( (subscript_expression "puVar16[2]" identifier [ number_literal ]) )) (compound_statement "{\n      case 0:\n        DAT_00084098 = 1;\n        break;\n      case 1:\n        DAT_00084098 = 2;\n        break;\n      case 2:\n        DAT_00084094 = 1;\n        break;\n      case 3:\n        DAT_00084094 = 2;\n        break;\n      case 4:\n        DAT_000840a4 = 1;\n        break;\n      case 5:\n        DAT_000840a4 = 2;\n        break;\n      case 6:\n        DAT_000840a4 = 3;\n        break;\n      case 7:\n        uRam0008409c = 1;\n        break;\n      case 8:\n        uRam000840a0 = 1;\n        break;\n      default:\n                    \n        FUN_0002aaa0("../../gas/config/tc-i386.c",0x1127,"parse_insn",pbVar13);\n      }" { (case_statement "case 0:\n        DAT_00084098 = 1;\n        break;" case number_literal : (expression_statement "DAT_00084098 = 1;" (assignment_expression "DAT_00084098 = 1" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 1:\n        DAT_00084098 = 2;\n        break;" case number_literal : (expression_statement "DAT_00084098 = 2;" (assignment_expression "DAT_00084098 = 2" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 2:\n        DAT_00084094 = 1;\n        break;" case number_literal : (expression_statement "DAT_00084094 = 1;" (assignment_expression "DAT_00084094 = 1" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 3:\n        DAT_00084094 = 2;\n        break;" case number_literal : (expression_statement "DAT_00084094 = 2;" (assignment_expression "DAT_00084094 = 2" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 4:\n        DAT_000840a4 = 1;\n        break;" case number_literal : (expression_statement "DAT_000840a4 = 1;" (assignment_expression "DAT_000840a4 = 1" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 5:\n        DAT_000840a4 = 2;\n        break;" case number_literal : (expression_statement "DAT_000840a4 = 2;" (assignment_expression "DAT_000840a4 = 2" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 6:\n        DAT_000840a4 = 3;\n        break;" case number_literal : (expression_statement "DAT_000840a4 = 3;" (assignment_expression "DAT_000840a4 = 3" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 7:\n        uRam0008409c = 1;\n        break;" case number_literal : (expression_statement "uRam0008409c = 1;" (assignment_expression "uRam0008409c = 1" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 8:\n        uRam000840a0 = 1;\n        break;" case number_literal : (expression_statement "uRam000840a0 = 1;" (assignment_expression "uRam000840a0 = 1" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "default:\n                    \n        FUN_0002aaa0("../../gas/config/tc-i386.c",0x1127,"parse_insn",pbVar13);" default : (expression_statement "FUN_0002aaa0("../../gas/config/tc-i386.c",0x1127,"parse_insn",pbVar13);" (call_expression "FUN_0002aaa0("../../gas/config/tc-i386.c",0x1127,"parse_insn",pbVar13)" identifier (argument_list "("../../gas/config/tc-i386.c",0x1127,"parse_insn",pbVar13)" ( (string_literal ""../../gas/config/tc-i386.c"" " string_content ") , number_literal , (string_literal ""parse_insn"" " string_content ") , identifier ))) ;)) })) }) (else_clause "else {\n      iVar8 = FUN_0003fd30();\n      uVar6 = DAT_000840a8;\n      uVar5 = DAT_000840ac;\n      if (iVar8 == 2) {\n        puVar16 = (undefined4 *)*DAT_00083f40;\n        uVar1 = *puVar16;\n        uVar5 = uVar1;\n        if (((*(byte *)((int)puVar16 + 0x1b) & 0x10) == 0) &&\n           (uVar6 = uVar1, uVar5 = DAT_000840ac, (*(byte *)(puVar16 + 7) & 1) != 0)) {\n          uVar6 = DAT_000840a8;\n          DAT_000840b0 = uVar1;\n        }\n      }\n      else if (iVar8 == 3) {\n        if ((*(byte *)(*DAT_00083f40 + 0x1f) & 8) != 0) {\n          DAT_000840b4 = *(undefined4 *)*DAT_00083f40;\n        }\n      }\n      else if (iVar8 == 0) {\n        return (byte *)0x0;\n      }\n    }" else (compound_statement "{\n      iVar8 = FUN_0003fd30();\n      uVar6 = DAT_000840a8;\n      uVar5 = DAT_000840ac;\n      if (iVar8 == 2) {\n        puVar16 = (undefined4 *)*DAT_00083f40;\n        uVar1 = *puVar16;\n        uVar5 = uVar1;\n        if (((*(byte *)((int)puVar16 + 0x1b) & 0x10) == 0) &&\n           (uVar6 = uVar1, uVar5 = DAT_000840ac, (*(byte *)(puVar16 + 7) & 1) != 0)) {\n          uVar6 = DAT_000840a8;\n          DAT_000840b0 = uVar1;\n        }\n      }\n      else if (iVar8 == 3) {\n        if ((*(byte *)(*DAT_00083f40 + 0x1f) & 8) != 0) {\n          DAT_000840b4 = *(undefined4 *)*DAT_00083f40;\n        }\n      }\n      else if (iVar8 == 0) {\n        return (byte *)0x0;\n      }\n    }" { (expression_statement "iVar8 = FUN_0003fd30();" (assignment_expression "iVar8 = FUN_0003fd30()" identifier = (call_expression "FUN_0003fd30()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar6 = DAT_000840a8;" (assignment_expression "uVar6 = DAT_000840a8" identifier = identifier) ;) (expression_statement "uVar5 = DAT_000840ac;" (assignment_expression "uVar5 = DAT_000840ac" identifier = identifier) ;) (if_statement "if (iVar8 == 2) {\n        puVar16 = (undefined4 *)*DAT_00083f40;\n        uVar1 = *puVar16;\n        uVar5 = uVar1;\n        if (((*(byte *)((int)puVar16 + 0x1b) & 0x10) == 0) &&\n           (uVar6 = uVar1, uVar5 = DAT_000840ac, (*(byte *)(puVar16 + 7) & 1) != 0)) {\n          uVar6 = DAT_000840a8;\n          DAT_000840b0 = uVar1;\n        }\n      }\n      else if (iVar8 == 3) {\n        if ((*(byte *)(*DAT_00083f40 + 0x1f) & 8) != 0) {\n          DAT_000840b4 = *(undefined4 *)*DAT_00083f40;\n        }\n      }\n      else if (iVar8 == 0) {\n        return (byte *)0x0;\n      }" if (parenthesized_expression "(iVar8 == 2)" ( (binary_expression "iVar8 == 2" identifier == number_literal) )) (compound_statement "{\n        puVar16 = (undefined4 *)*DAT_00083f40;\n        uVar1 = *puVar16;\n        uVar5 = uVar1;\n        if (((*(byte *)((int)puVar16 + 0x1b) & 0x10) == 0) &&\n           (uVar6 = uVar1, uVar5 = DAT_000840ac, (*(byte *)(puVar16 + 7) & 1) != 0)) {\n          uVar6 = DAT_000840a8;\n          DAT_000840b0 = uVar1;\n        }\n      }" { (expression_statement "puVar16 = (undefined4 *)*DAT_00083f40;" (assignment_expression "puVar16 = (undefined4 *)*DAT_00083f40" identifier = (cast_expression "(undefined4 *)*DAT_00083f40" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*DAT_00083f40" * identifier))) ;) (expression_statement "uVar1 = *puVar16;" (assignment_expression "uVar1 = *puVar16" identifier = (pointer_expression "*puVar16" * identifier)) ;) (expression_statement "uVar5 = uVar1;" (assignment_expression "uVar5 = uVar1" identifier = identifier) ;) (if_statement "if (((*(byte *)((int)puVar16 + 0x1b) & 0x10) == 0) &&\n           (uVar6 = uVar1, uVar5 = DAT_000840ac, (*(byte *)(puVar16 + 7) & 1) != 0)) {\n          uVar6 = DAT_000840a8;\n          DAT_000840b0 = uVar1;\n        }" if (parenthesized_expression "(((*(byte *)((int)puVar16 + 0x1b) & 0x10) == 0) &&\n           (uVar6 = uVar1, uVar5 = DAT_000840ac, (*(byte *)(puVar16 + 7) & 1) != 0))" ( (binary_expression "((*(byte *)((int)puVar16 + 0x1b) & 0x10) == 0) &&\n           (uVar6 = uVar1, uVar5 = DAT_000840ac, (*(byte *)(puVar16 + 7) & 1) != 0)" (parenthesized_expression "((*(byte *)((int)puVar16 + 0x1b) & 0x10) == 0)" ( (binary_expression "(*(byte *)((int)puVar16 + 0x1b) & 0x10) == 0" (parenthesized_expression "(*(byte *)((int)puVar16 + 0x1b) & 0x10)" ( (binary_expression "*(byte *)((int)puVar16 + 0x1b) & 0x10" (pointer_expression "*(byte *)((int)puVar16 + 0x1b)" * (cast_expression "(byte *)((int)puVar16 + 0x1b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar16 + 0x1b)" ( (binary_expression "(int)puVar16 + 0x1b" (cast_expression "(int)puVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) )) && (parenthesized_expression "(uVar6 = uVar1, uVar5 = DAT_000840ac, (*(byte *)(puVar16 + 7) & 1) != 0)" ( (comma_expression "uVar6 = uVar1, uVar5 = DAT_000840ac, (*(byte *)(puVar16 + 7) & 1) != 0" (assignment_expression "uVar6 = uVar1" identifier = identifier) , (comma_expression "uVar5 = DAT_000840ac, (*(byte *)(puVar16 + 7) & 1) != 0" (assignment_expression "uVar5 = DAT_000840ac" identifier = identifier) , (binary_expression "(*(byte *)(puVar16 + 7) & 1) != 0" (parenthesized_expression "(*(byte *)(puVar16 + 7) & 1)" ( (binary_expression "*(byte *)(puVar16 + 7) & 1" (pointer_expression "*(byte *)(puVar16 + 7)" * (cast_expression "(byte *)(puVar16 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + 7)" ( (binary_expression "puVar16 + 7" identifier + number_literal) )))) & number_literal) )) != number_literal))) ))) )) (compound_statement "{\n          uVar6 = DAT_000840a8;\n          DAT_000840b0 = uVar1;\n        }" { (expression_statement "uVar6 = DAT_000840a8;" (assignment_expression "uVar6 = DAT_000840a8" identifier = identifier) ;) (expression_statement "DAT_000840b0 = uVar1;" (assignment_expression "DAT_000840b0 = uVar1" identifier = identifier) ;) })) }) (else_clause "else if (iVar8 == 3) {\n        if ((*(byte *)(*DAT_00083f40 + 0x1f) & 8) != 0) {\n          DAT_000840b4 = *(undefined4 *)*DAT_00083f40;\n        }\n      }\n      else if (iVar8 == 0) {\n        return (byte *)0x0;\n      }" else (if_statement "if (iVar8 == 3) {\n        if ((*(byte *)(*DAT_00083f40 + 0x1f) & 8) != 0) {\n          DAT_000840b4 = *(undefined4 *)*DAT_00083f40;\n        }\n      }\n      else if (iVar8 == 0) {\n        return (byte *)0x0;\n      }" if (parenthesized_expression "(iVar8 == 3)" ( (binary_expression "iVar8 == 3" identifier == number_literal) )) (compound_statement "{\n        if ((*(byte *)(*DAT_00083f40 + 0x1f) & 8) != 0) {\n          DAT_000840b4 = *(undefined4 *)*DAT_00083f40;\n        }\n      }" { (if_statement "if ((*(byte *)(*DAT_00083f40 + 0x1f) & 8) != 0) {\n          DAT_000840b4 = *(undefined4 *)*DAT_00083f40;\n        }" if (parenthesized_expression "((*(byte *)(*DAT_00083f40 + 0x1f) & 8) != 0)" ( (binary_expression "(*(byte *)(*DAT_00083f40 + 0x1f) & 8) != 0" (parenthesized_expression "(*(byte *)(*DAT_00083f40 + 0x1f) & 8)" ( (binary_expression "*(byte *)(*DAT_00083f40 + 0x1f) & 8" (pointer_expression "*(byte *)(*DAT_00083f40 + 0x1f)" * (cast_expression "(byte *)(*DAT_00083f40 + 0x1f)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*DAT_00083f40 + 0x1f)" ( (binary_expression "*DAT_00083f40 + 0x1f" (pointer_expression "*DAT_00083f40" * identifier) + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n          DAT_000840b4 = *(undefined4 *)*DAT_00083f40;\n        }" { (expression_statement "DAT_000840b4 = *(undefined4 *)*DAT_00083f40;" (assignment_expression "DAT_000840b4 = *(undefined4 *)*DAT_00083f40" identifier = (pointer_expression "*(undefined4 *)*DAT_00083f40" * (cast_expression "(undefined4 *)*DAT_00083f40" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*DAT_00083f40" * identifier)))) ;) })) }) (else_clause "else if (iVar8 == 0) {\n        return (byte *)0x0;\n      }" else (if_statement "if (iVar8 == 0) {\n        return (byte *)0x0;\n      }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\n        return (byte *)0x0;\n      }" { (return_statement "return (byte *)0x0;" return (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) ;) })))))) }))) (expression_statement "DAT_000840ac = uVar5;" (assignment_expression "DAT_000840ac = uVar5" identifier = identifier) ;) (expression_statement "DAT_000840a8 = uVar6;" (assignment_expression "DAT_000840a8 = uVar6" identifier = identifier) ;) (expression_statement "local_38 = pbVar13 + 1;" (assignment_expression "local_38 = pbVar13 + 1" identifier = (binary_expression "pbVar13 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "( true )" ( true )) ;) }))
(translation_unit (ERROR (binary_expression IDENT * (ERROR IDENT) (call_expression IDENT (argument_list ( (binary_expression IDENT * IDENT) , (binary_expression IDENT * IDENT) ))))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ (pointer_expression * IDENT) ])) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (goto_statement goto statement_identifier ;)) (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 ( (binary_expression IDENT == LIT) ))) )) ))) )) (goto_statement goto statement_identifier ;))) (goto_statement goto statement_identifier ;) })) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' character ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (binary_expression IDENT + LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ (pointer_expression * IDENT) ])) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) && (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) })))) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , IDENT , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (return_statement return (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) ;) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , IDENT ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (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 ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) ))) )) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;)) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ])) <= IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT | IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) && (parenthesized_expression ( (binary_expression IDENT != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (return_statement return IDENT ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) )) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence string_content ") , LIT )))) ;)) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence string_content ") , LIT )))) ;)) }))) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence string_content escape_sequence ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT ))) ;) }))) (return_statement return (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (binary_expression IDENT + LIT)) )) && (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == (char_literal ' character ')) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * IDENT) = (char_literal ' escape_sequence ')) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , IDENT ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (switch_statement switch (parenthesized_expression ( IDENT )) (compound_statement { (case_statement case (char_literal ' character ') :) (case_statement case (char_literal ' character ') : (goto_statement goto statement_identifier ;)) (case_statement default : (goto_statement goto statement_identifier ;)) (case_statement case (char_literal ' character ') : (goto_statement goto statement_identifier ;)) (case_statement case (char_literal ' character ') :) (case_statement case (char_literal ' character ') : (goto_statement goto statement_identifier ;)) (case_statement case (char_literal ' character ') : (goto_statement goto statement_identifier ;)) })) })) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (binary_expression IDENT + LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == (char_literal ' character ')) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == (char_literal ' character ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (binary_expression IDENT + LIT)) )) (goto_statement goto statement_identifier ;)) })) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (binary_expression IDENT + LIT)) )) && (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == (char_literal ' character ')) ))) )) (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == (char_literal ' character ')) )) && (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == (char_literal ' character ')) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) }))) })))) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (switch_statement switch (parenthesized_expression ( IDENT )) (compound_statement { (case_statement case (char_literal ' character ') :) (case_statement case (char_literal ' character ') : (break_statement break ;)) (case_statement default : (goto_statement goto statement_identifier ;)) (case_statement case (char_literal ' character ') : (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (char_literal ' character ')) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (char_literal ' character ')) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) , (binary_expression IDENT == LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (char_literal ' character ')) ;) })) (break_statement break ;) })) (goto_statement goto statement_identifier ;)) (case_statement case (char_literal ' character ') :) (case_statement case (char_literal ' character ') : (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (break_statement break ;)) (case_statement case (char_literal ' character ') : (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (char_literal ' character ')) ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (char_literal ' character ')) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (unary_expression - (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) ))) & LIT) )) + LIT)) ;) }))) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , IDENT ))))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (return_statement return (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) ;) })) })))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) )) (compound_statement { (labeled_statement statement_identifier : (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 ;)) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (goto_statement goto statement_identifier ;) })) })))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT )))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT < (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (goto_statement goto statement_identifier ;) })) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) & LIT) )) != LIT) )) && (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) >> LIT) & LIT) ))) != (parenthesized_expression ( (binary_expression IDENT == LIT) ))) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (return_statement return (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) ;) })) }))) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (switch_statement switch (parenthesized_expression ( (subscript_expression IDENT [ LIT ]) )) (compound_statement { (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (break_statement break ;)) (case_statement default : (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") , IDENT ))) ;)) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) & LIT) )) == LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (comma_expression (assignment_expression IDENT = IDENT) , (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) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) )))) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT)))) ;) })) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) ;) })))))) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( BOOL )) ;) }))
(ERROR "byte * __regparm3 FUN_00045090(byte *param_1,char *param_2)" (binary_expression "byte * __regparm3 FUN_00045090(byte *param_1,char *param_2)" (identifier "byte") (* "*") (ERROR "__regparm3" (identifier "__regparm3")) (call_expression "FUN_00045090(byte *param_1,char *param_2)" (identifier "FUN_00045090") (argument_list "(byte *param_1,char *param_2)" (( "(") (binary_expression "byte *param_1" (identifier "byte") (* "*") (identifier "param_1")) (, ",") (binary_expression "char *param_2" (identifier "char") (* "*") (identifier "param_2")) () ")"))))) (compound_statement "{\n  undefined4 uVar1;\n  int *piVar2;\n  byte bVar3;\n  char cVar4;\n  undefined4 uVar5;\n  undefined4 uVar6;\n  uint uVar7;\n  int iVar8;\n  int *piVar9;\n  char *pcVar10;\n  uint uVar11;\n  undefined *puVar12;\n  byte *pbVar13;\n  undefined *puVar14;\n  char *pcVar15;\n  undefined4 *puVar16;\n  byte *local_38;\n  char local_20;\n  \n  pcVar10 = (char *)0x0;\n  local_38 = param_1;\n  do {\n    cVar4 = (&DAT_000844e0)[*local_38];\n    *param_2 = cVar4;\n    pcVar15 = param_2;\n    pbVar13 = local_38;\n    if (cVar4 == '\0') {\n      bVar3 = *local_38;\n      if ((bVar3 & 0xdf) == 0) goto LAB_000454ae;\nLAB_00045208:\n      if ((DAT_00083ed0 == 0) && ((bVar3 == 0x2f || (bVar3 == 0x2c)))) goto LAB_000450fb;\n      goto LAB_00045222;\n    }\n    do {\n      if (cVar4 == '.') {\n        pcVar10 = pcVar15;\n      }\n      pcVar15 = pcVar15 + 1;\n      piVar2 = DAT_00083f40;\n      if (pbVar13 == local_38 + 0x13) goto LAB_000451c0;\n      pbVar13 = pbVar13 + 1;\n      cVar4 = (&DAT_000844e0)[*pbVar13];\n      *pcVar15 = cVar4;\n    } while (cVar4 != '\0');\n    bVar3 = *pbVar13;\n    if ((bVar3 & 0xdf) != 0) goto LAB_00045208;\nLAB_000450fb:\n    if (pbVar13 == local_38) {\nLAB_000454ae:\n      if ((DAT_00083ed0 == 0) && (bVar3 == 0x2f)) {\n        pcVar10 = "expecting prefix; got nothing";\n      }\n      else {\n        pcVar10 = "expecting mnemonic; got nothing";\n      }\n      uVar6 = dcgettext(0,pcVar10,5);\n      FUN_0002a980(uVar6);\n      return (byte *)0x0;\n    }\n    DAT_00083f40 = (int *)FUN_00024180(DAT_00083e60,param_2);\n    bVar3 = *pbVar13;\n    if ((bVar3 == 0) || ((bVar3 == 0x20 && (pbVar13[1] == 0)))) {\n      if (DAT_00083f40 == (int *)0x0) goto LAB_00045540;\n      puVar16 = (undefined4 *)*DAT_00083f40;\n      if ((*(byte *)(puVar16 + 9) & 0xa0) == 0) {\nLAB_00045264:\n        puVar16 = (undefined4 *)*DAT_00083f40;\n      }\nLAB_0004526c:\n      piVar2 = DAT_00083f40;\n      if ((undefined4 *)DAT_00083f40[1] <= puVar16) goto LAB_0004562d;\n      uVar11 = 0;\n      do {\n        uVar7 = FUN_00044e30();\n        uVar11 = uVar11 | uVar7;\n        if (uVar11 == 3) {\n          if (((DAT_0007b53c & 4) == 0) && (DAT_00083ee8 != 1)) {\n            uVar6 = dcgettext(0,"use .code16 to ensure correct addressing mode",5);\n            FUN_0002a8a0(uVar6);\n          }\n          return pbVar13;\n        }\n        puVar16 = puVar16 + 0x16;\n      } while (puVar16 < (undefined4 *)piVar2[1]);\n      puVar16 = (undefined4 *)*piVar2;\n      if ((uVar11 & 2) == 0) {\nLAB_0004562d:\n        uVar6 = *puVar16;\n        if (DAT_00083ee8 == 2) {\nLAB_00045352:\n          uVar5 = dcgettext(0,"`%s\' is not supported in 64-bit mode",5);\n        }\n        else {\nLAB_00045188:\n          uVar5 = dcgettext(0,"`%s\' is only supported in 64-bit mode",5);\n        }\nLAB_000451a1:\n        FUN_0002a980(uVar5,uVar6);\n      }\n      else {\n        uVar6 = *puVar16;\n        puVar12 = DAT_00083e94;\n        if (DAT_00083e94 == (undefined *)0x0) {\n          puVar12 = &DAT_00059ae5;\n        }\n        puVar14 = DAT_00083e98;\n        if (DAT_00083e98 == (undefined *)0x0) {\n          puVar14 = PTR_s_i386_0007b71c;\n        }\n        uVar5 = dcgettext(0,"`%s\' is not supported on `%s%s\'",5);\n        FUN_0002a980(uVar5,uVar6,puVar14,puVar12);\n      }\n      return (byte *)0x0;\n    }\n    if (DAT_00083f40 == (int *)0x0) {\nLAB_00045540:\n      if ((pcVar10 == pcVar15 + -2) && (pcVar10[1] == 's')) {\n        DAT_00084094 = 2;\nLAB_00045660:\n        *pcVar10 = '\0';\n        piVar9 = (int *)FUN_00024180(DAT_00083e60,param_2);\n        DAT_00083f40 = piVar9;\n        if (piVar9 == (int *)0x0) {\n          cVar4 = pcVar10[-1];\n          DAT_00083f40 = (int *)0x0;\n          pcVar15 = pcVar10;\n          piVar2 = (int *)0x0;\n          switch(cVar4) {\n          case 'b':\n          case 'q':\n            goto code_r0x000455ae;\n          default:\n            goto LAB_000451c0;\n          case 'd':\n            goto code_r0x000455fd;\n          case 'l':\n          case 's':\n            goto code_r0x000455e9;\n          case 'w':\n            goto code_r0x00045581;\n          }\n        }\n      }\n      else {\n        if (pcVar10 == pcVar15 + -3) {\n          if (pcVar10[1] == 'd') {\n            if (pcVar10[2] == '8') {\n              DAT_00084098 = 1;\n              goto LAB_00045660;\n            }\n            if (pcVar10 == pcVar15 + -4) goto LAB_000456b1;\n          }\n        }\n        else if ((pcVar10 == pcVar15 + -4) && (pcVar10[1] == 'd')) {\nLAB_000456b1:\n          if ((pcVar10[2] == '3') && (pcVar10[3] == '2')) {\n            DAT_00084098 = 2;\n            goto LAB_00045660;\n          }\n        }\n        cVar4 = pcVar15[-1];\n        piVar2 = DAT_00083f40;\n        piVar9 = DAT_00083f40;\n        switch(cVar4) {\n        case 'b':\n        case 'q':\n          break;\n        default:\n          goto LAB_000451c0;\n        case 'd':\ncode_r0x000455fd:\n          DAT_00083f40 = piVar9;\n          if (DAT_00083ed0 != 0) {\n            cVar4 = 'l';\n            if ((*param_2 == 'f') && (iVar8 = FUN_00043060(), iVar8 == 1)) {\n              cVar4 = 's';\n            }\n            break;\n          }\n          goto code_r0x000455d5;\n        case 'l':\n        case 's':\ncode_r0x000455e9:\n          DAT_00083f40 = piVar9;\n          if (DAT_00083ed0 != 0) goto code_r0x000455d5;\n          break;\n        case 'w':\ncode_r0x00045581:\n          cVar4 = 'w';\n          if ((DAT_00083ed0 != 0) && (*param_2 == 'f')) {\n            uVar11 = FUN_00043060();\n            cVar4 = (-((uVar11 & 2) == 0) & 4U) + 0x73;\n          }\n        }\ncode_r0x000455ae:\n        DAT_00083fb8 = cVar4;\n        pcVar15[-1] = '\0';\n        DAT_00083f40 = (int *)FUN_00024180(DAT_00083e60,param_2);\ncode_r0x000455d5:\n        piVar2 = DAT_00083f40;\n        if (DAT_00083f40 == (int *)0x0) {\nLAB_000451c0:\n          DAT_00083f40 = piVar2;\n          uVar6 = dcgettext(0,"no such instruction: `%s\'",5);\n          FUN_0002a980(uVar6,local_38);\n          return (byte *)0x0;\n        }\n      }\n      puVar16 = (undefined4 *)*DAT_00083f40;\n      bVar3 = *pbVar13;\nLAB_000454eb:\n      if ((*(byte *)(puVar16 + 9) & 0xa0) == 0) {\nLAB_00045532:\n        if (bVar3 != 0x2c) goto LAB_00045264;\n      }\n      else {\n        if (bVar3 != 0x2c) goto LAB_0004526c;\n        if (pbVar13[1] == 0x70) {\n          if (pbVar13[2] == 0x74) {\n            iVar8 = FUN_0003fd30();\n          }\n          else {\n            if (pbVar13[2] != 0x6e) goto LAB_00045222;\n            iVar8 = FUN_0003fd30();\n          }\n          if (iVar8 == 0) {\n            return (byte *)0x0;\n          }\n          bVar3 = pbVar13[3];\n          pbVar13 = pbVar13 + 3;\n          goto LAB_00045532;\n        }\n      }\nLAB_00045222:\n      uVar6 = FUN_00043af0();\n      uVar5 = dcgettext(0,"invalid character %s in mnemonic",5);\n      goto LAB_000451a1;\n    }\n    puVar16 = (undefined4 *)*DAT_00083f40;\n    if ((*(byte *)(puVar16 + 10) & 0x10) == 0) goto LAB_000454eb;\n    local_20 = (char)puVar16[8];\n    if (DAT_00083ee8 == 2) {\n      if (local_20 < '\0') {\n        uVar6 = *puVar16;\n        goto LAB_00045352;\n      }\n    }\n    else {\n      if ((puVar16[8] & 0x40) != 0) {\n        uVar6 = *puVar16;\n        goto LAB_00045188;\n      }\n      if (((*(byte *)((int)puVar16 + 0x25) & 0x18) != 0) &&\n         ((bool)(*(byte *)((int)puVar16 + 0x25) >> 4 & 1) != (DAT_00083ee8 == 1))) {\n        uVar6 = *puVar16;\n        uVar5 = dcgettext(0,"redundant %s prefix",5);\n        FUN_0002a980(uVar5,uVar6);\n        return (byte *)0x0;\n      }\n    }\n    if (*(char *)(puVar16 + 4) == '\0') {\n      uVar6 = DAT_000840a8;\n      uVar5 = DAT_000840ac;\n      switch(puVar16[2]) {\n      case 0:\n        DAT_00084098 = 1;\n        break;\n      case 1:\n        DAT_00084098 = 2;\n        break;\n      case 2:\n        DAT_00084094 = 1;\n        break;\n      case 3:\n        DAT_00084094 = 2;\n        break;\n      case 4:\n        DAT_000840a4 = 1;\n        break;\n      case 5:\n        DAT_000840a4 = 2;\n        break;\n      case 6:\n        DAT_000840a4 = 3;\n        break;\n      case 7:\n        uRam0008409c = 1;\n        break;\n      case 8:\n        uRam000840a0 = 1;\n        break;\n      default:\n                    \n        FUN_0002aaa0("../../gas/config/tc-i386.c",0x1127,"parse_insn",pbVar13);\n      }\n    }\n    else {\n      iVar8 = FUN_0003fd30();\n      uVar6 = DAT_000840a8;\n      uVar5 = DAT_000840ac;\n      if (iVar8 == 2) {\n        puVar16 = (undefined4 *)*DAT_00083f40;\n        uVar1 = *puVar16;\n        uVar5 = uVar1;\n        if (((*(byte *)((int)puVar16 + 0x1b) & 0x10) == 0) &&\n           (uVar6 = uVar1, uVar5 = DAT_000840ac, (*(byte *)(puVar16 + 7) & 1) != 0)) {\n          uVar6 = DAT_000840a8;\n          DAT_000840b0 = uVar1;\n        }\n      }\n      else if (iVar8 == 3) {\n        if ((*(byte *)(*DAT_00083f40 + 0x1f) & 8) != 0) {\n          DAT_000840b4 = *(undefined4 *)*DAT_00083f40;\n        }\n      }\n      else if (iVar8 == 0) {\n        return (byte *)0x0;\n      }\n    }\n    DAT_000840ac = uVar5;\n    DAT_000840a8 = uVar6;\n    local_38 = pbVar13 + 1;\n  } while( true );\n}" ({ "{") (declaration "undefined4 uVar1;" (type_identifier "undefined4") (identifier "uVar1") (; ";")) (declaration "int *piVar2;" (primitive_type "int") (pointer_declarator "*piVar2" (* "*") (identifier "piVar2")) (; ";")) (declaration "byte bVar3;" (type_identifier "byte") (identifier "bVar3") (; ";")) (declaration "char cVar4;" (primitive_type "char") (identifier "cVar4") (; ";")) (declaration "undefined4 uVar5;" (type_identifier "undefined4") (identifier "uVar5") (; ";")) (declaration "undefined4 uVar6;" (type_identifier "undefined4") (identifier "uVar6") (; ";")) (declaration "uint uVar7;" (type_identifier "uint") (identifier "uVar7") (; ";")) (declaration "int iVar8;" (primitive_type "int") (identifier "iVar8") (; ";")) (declaration "int *piVar9;" (primitive_type "int") (pointer_declarator "*piVar9" (* "*") (identifier "piVar9")) (; ";")) (declaration "char *pcVar10;" (primitive_type "char") (pointer_declarator "*pcVar10" (* "*") (identifier "pcVar10")) (; ";")) (declaration "uint uVar11;" (type_identifier "uint") (identifier "uVar11") (; ";")) (declaration "undefined *puVar12;" (type_identifier "undefined") (pointer_declarator "*puVar12" (* "*") (identifier "puVar12")) (; ";")) (declaration "byte *pbVar13;" (type_identifier "byte") (pointer_declarator "*pbVar13" (* "*") (identifier "pbVar13")) (; ";")) (declaration "undefined *puVar14;" (type_identifier "undefined") (pointer_declarator "*puVar14" (* "*") (identifier "puVar14")) (; ";")) (declaration "char *pcVar15;" (primitive_type "char") (pointer_declarator "*pcVar15" (* "*") (identifier "pcVar15")) (; ";")) (declaration "undefined4 *puVar16;" (type_identifier "undefined4") (pointer_declarator "*puVar16" (* "*") (identifier "puVar16")) (; ";")) (declaration "byte *local_38;" (type_identifier "byte") (pointer_declarator "*local_38" (* "*") (identifier "local_38")) (; ";")) (declaration "char local_20;" (primitive_type "char") (identifier "local_20") (; ";")) (expression_statement "pcVar10 = (char *)0x0;" (assignment_expression "pcVar10 = (char *)0x0" (identifier "pcVar10") (= "=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_38 = param_1;" (assignment_expression "local_38 = param_1" (identifier "local_38") (= "=") (identifier "param_1")) (; ";")) (do_statement "do {\n    cVar4 = (&DAT_000844e0)[*local_38];\n    *param_2 = cVar4;\n    pcVar15 = param_2;\n    pbVar13 = local_38;\n    if (cVar4 == '\0') {\n      bVar3 = *local_38;\n      if ((bVar3 & 0xdf) == 0) goto LAB_000454ae;\nLAB_00045208:\n      if ((DAT_00083ed0 == 0) && ((bVar3 == 0x2f || (bVar3 == 0x2c)))) goto LAB_000450fb;\n      goto LAB_00045222;\n    }\n    do {\n      if (cVar4 == '.') {\n        pcVar10 = pcVar15;\n      }\n      pcVar15 = pcVar15 + 1;\n      piVar2 = DAT_00083f40;\n      if (pbVar13 == local_38 + 0x13) goto LAB_000451c0;\n      pbVar13 = pbVar13 + 1;\n      cVar4 = (&DAT_000844e0)[*pbVar13];\n      *pcVar15 = cVar4;\n    } while (cVar4 != '\0');\n    bVar3 = *pbVar13;\n    if ((bVar3 & 0xdf) != 0) goto LAB_00045208;\nLAB_000450fb:\n    if (pbVar13 == local_38) {\nLAB_000454ae:\n      if ((DAT_00083ed0 == 0) && (bVar3 == 0x2f)) {\n        pcVar10 = "expecting prefix; got nothing";\n      }\n      else {\n        pcVar10 = "expecting mnemonic; got nothing";\n      }\n      uVar6 = dcgettext(0,pcVar10,5);\n      FUN_0002a980(uVar6);\n      return (byte *)0x0;\n    }\n    DAT_00083f40 = (int *)FUN_00024180(DAT_00083e60,param_2);\n    bVar3 = *pbVar13;\n    if ((bVar3 == 0) || ((bVar3 == 0x20 && (pbVar13[1] == 0)))) {\n      if (DAT_00083f40 == (int *)0x0) goto LAB_00045540;\n      puVar16 = (undefined4 *)*DAT_00083f40;\n      if ((*(byte *)(puVar16 + 9) & 0xa0) == 0) {\nLAB_00045264:\n        puVar16 = (undefined4 *)*DAT_00083f40;\n      }\nLAB_0004526c:\n      piVar2 = DAT_00083f40;\n      if ((undefined4 *)DAT_00083f40[1] <= puVar16) goto LAB_0004562d;\n      uVar11 = 0;\n      do {\n        uVar7 = FUN_00044e30();\n        uVar11 = uVar11 | uVar7;\n        if (uVar11 == 3) {\n          if (((DAT_0007b53c & 4) == 0) && (DAT_00083ee8 != 1)) {\n            uVar6 = dcgettext(0,"use .code16 to ensure correct addressing mode",5);\n            FUN_0002a8a0(uVar6);\n          }\n          return pbVar13;\n        }\n        puVar16 = puVar16 + 0x16;\n      } while (puVar16 < (undefined4 *)piVar2[1]);\n      puVar16 = (undefined4 *)*piVar2;\n      if ((uVar11 & 2) == 0) {\nLAB_0004562d:\n        uVar6 = *puVar16;\n        if (DAT_00083ee8 == 2) {\nLAB_00045352:\n          uVar5 = dcgettext(0,"`%s\' is not supported in 64-bit mode",5);\n        }\n        else {\nLAB_00045188:\n          uVar5 = dcgettext(0,"`%s\' is only supported in 64-bit mode",5);\n        }\nLAB_000451a1:\n        FUN_0002a980(uVar5,uVar6);\n      }\n      else {\n        uVar6 = *puVar16;\n        puVar12 = DAT_00083e94;\n        if (DAT_00083e94 == (undefined *)0x0) {\n          puVar12 = &DAT_00059ae5;\n        }\n        puVar14 = DAT_00083e98;\n        if (DAT_00083e98 == (undefined *)0x0) {\n          puVar14 = PTR_s_i386_0007b71c;\n        }\n        uVar5 = dcgettext(0,"`%s\' is not supported on `%s%s\'",5);\n        FUN_0002a980(uVar5,uVar6,puVar14,puVar12);\n      }\n      return (byte *)0x0;\n    }\n    if (DAT_00083f40 == (int *)0x0) {\nLAB_00045540:\n      if ((pcVar10 == pcVar15 + -2) && (pcVar10[1] == 's')) {\n        DAT_00084094 = 2;\nLAB_00045660:\n        *pcVar10 = '\0';\n        piVar9 = (int *)FUN_00024180(DAT_00083e60,param_2);\n        DAT_00083f40 = piVar9;\n        if (piVar9 == (int *)0x0) {\n          cVar4 = pcVar10[-1];\n          DAT_00083f40 = (int *)0x0;\n          pcVar15 = pcVar10;\n          piVar2 = (int *)0x0;\n          switch(cVar4) {\n          case 'b':\n          case 'q':\n            goto code_r0x000455ae;\n          default:\n            goto LAB_000451c0;\n          case 'd':\n            goto code_r0x000455fd;\n          case 'l':\n          case 's':\n            goto code_r0x000455e9;\n          case 'w':\n            goto code_r0x00045581;\n          }\n        }\n      }\n      else {\n        if (pcVar10 == pcVar15 + -3) {\n          if (pcVar10[1] == 'd') {\n            if (pcVar10[2] == '8') {\n              DAT_00084098 = 1;\n              goto LAB_00045660;\n            }\n            if (pcVar10 == pcVar15 + -4) goto LAB_000456b1;\n          }\n        }\n        else if ((pcVar10 == pcVar15 + -4) && (pcVar10[1] == 'd')) {\nLAB_000456b1:\n          if ((pcVar10[2] == '3') && (pcVar10[3] == '2')) {\n            DAT_00084098 = 2;\n            goto LAB_00045660;\n          }\n        }\n        cVar4 = pcVar15[-1];\n        piVar2 = DAT_00083f40;\n        piVar9 = DAT_00083f40;\n        switch(cVar4) {\n        case 'b':\n        case 'q':\n          break;\n        default:\n          goto LAB_000451c0;\n        case 'd':\ncode_r0x000455fd:\n          DAT_00083f40 = piVar9;\n          if (DAT_00083ed0 != 0) {\n            cVar4 = 'l';\n            if ((*param_2 == 'f') && (iVar8 = FUN_00043060(), iVar8 == 1)) {\n              cVar4 = 's';\n            }\n            break;\n          }\n          goto code_r0x000455d5;\n        case 'l':\n        case 's':\ncode_r0x000455e9:\n          DAT_00083f40 = piVar9;\n          if (DAT_00083ed0 != 0) goto code_r0x000455d5;\n          break;\n        case 'w':\ncode_r0x00045581:\n          cVar4 = 'w';\n          if ((DAT_00083ed0 != 0) && (*param_2 == 'f')) {\n            uVar11 = FUN_00043060();\n            cVar4 = (-((uVar11 & 2) == 0) & 4U) + 0x73;\n          }\n        }\ncode_r0x000455ae:\n        DAT_00083fb8 = cVar4;\n        pcVar15[-1] = '\0';\n        DAT_00083f40 = (int *)FUN_00024180(DAT_00083e60,param_2);\ncode_r0x000455d5:\n        piVar2 = DAT_00083f40;\n        if (DAT_00083f40 == (int *)0x0) {\nLAB_000451c0:\n          DAT_00083f40 = piVar2;\n          uVar6 = dcgettext(0,"no such instruction: `%s\'",5);\n          FUN_0002a980(uVar6,local_38);\n          return (byte *)0x0;\n        }\n      }\n      puVar16 = (undefined4 *)*DAT_00083f40;\n      bVar3 = *pbVar13;\nLAB_000454eb:\n      if ((*(byte *)(puVar16 + 9) & 0xa0) == 0) {\nLAB_00045532:\n        if (bVar3 != 0x2c) goto LAB_00045264;\n      }\n      else {\n        if (bVar3 != 0x2c) goto LAB_0004526c;\n        if (pbVar13[1] == 0x70) {\n          if (pbVar13[2] == 0x74) {\n            iVar8 = FUN_0003fd30();\n          }\n          else {\n            if (pbVar13[2] != 0x6e) goto LAB_00045222;\n            iVar8 = FUN_0003fd30();\n          }\n          if (iVar8 == 0) {\n            return (byte *)0x0;\n          }\n          bVar3 = pbVar13[3];\n          pbVar13 = pbVar13 + 3;\n          goto LAB_00045532;\n        }\n      }\nLAB_00045222:\n      uVar6 = FUN_00043af0();\n      uVar5 = dcgettext(0,"invalid character %s in mnemonic",5);\n      goto LAB_000451a1;\n    }\n    puVar16 = (undefined4 *)*DAT_00083f40;\n    if ((*(byte *)(puVar16 + 10) & 0x10) == 0) goto LAB_000454eb;\n    local_20 = (char)puVar16[8];\n    if (DAT_00083ee8 == 2) {\n      if (local_20 < '\0') {\n        uVar6 = *puVar16;\n        goto LAB_00045352;\n      }\n    }\n    else {\n      if ((puVar16[8] & 0x40) != 0) {\n        uVar6 = *puVar16;\n        goto LAB_00045188;\n      }\n      if (((*(byte *)((int)puVar16 + 0x25) & 0x18) != 0) &&\n         ((bool)(*(byte *)((int)puVar16 + 0x25) >> 4 & 1) != (DAT_00083ee8 == 1))) {\n        uVar6 = *puVar16;\n        uVar5 = dcgettext(0,"redundant %s prefix",5);\n        FUN_0002a980(uVar5,uVar6);\n        return (byte *)0x0;\n      }\n    }\n    if (*(char *)(puVar16 + 4) == '\0') {\n      uVar6 = DAT_000840a8;\n      uVar5 = DAT_000840ac;\n      switch(puVar16[2]) {\n      case 0:\n        DAT_00084098 = 1;\n        break;\n      case 1:\n        DAT_00084098 = 2;\n        break;\n      case 2:\n        DAT_00084094 = 1;\n        break;\n      case 3:\n        DAT_00084094 = 2;\n        break;\n      case 4:\n        DAT_000840a4 = 1;\n        break;\n      case 5:\n        DAT_000840a4 = 2;\n        break;\n      case 6:\n        DAT_000840a4 = 3;\n        break;\n      case 7:\n        uRam0008409c = 1;\n        break;\n      case 8:\n        uRam000840a0 = 1;\n        break;\n      default:\n                    \n        FUN_0002aaa0("../../gas/config/tc-i386.c",0x1127,"parse_insn",pbVar13);\n      }\n    }\n    else {\n      iVar8 = FUN_0003fd30();\n      uVar6 = DAT_000840a8;\n      uVar5 = DAT_000840ac;\n      if (iVar8 == 2) {\n        puVar16 = (undefined4 *)*DAT_00083f40;\n        uVar1 = *puVar16;\n        uVar5 = uVar1;\n        if (((*(byte *)((int)puVar16 + 0x1b) & 0x10) == 0) &&\n           (uVar6 = uVar1, uVar5 = DAT_000840ac, (*(byte *)(puVar16 + 7) & 1) != 0)) {\n          uVar6 = DAT_000840a8;\n          DAT_000840b0 = uVar1;\n        }\n      }\n      else if (iVar8 == 3) {\n        if ((*(byte *)(*DAT_00083f40 + 0x1f) & 8) != 0) {\n          DAT_000840b4 = *(undefined4 *)*DAT_00083f40;\n        }\n      }\n      else if (iVar8 == 0) {\n        return (byte *)0x0;\n      }\n    }\n    DAT_000840ac = uVar5;\n    DAT_000840a8 = uVar6;\n    local_38 = pbVar13 + 1;\n  } while( true );" (do "do") (compound_statement "{\n    cVar4 = (&DAT_000844e0)[*local_38];\n    *param_2 = cVar4;\n    pcVar15 = param_2;\n    pbVar13 = local_38;\n    if (cVar4 == '\0') {\n      bVar3 = *local_38;\n      if ((bVar3 & 0xdf) == 0) goto LAB_000454ae;\nLAB_00045208:\n      if ((DAT_00083ed0 == 0) && ((bVar3 == 0x2f || (bVar3 == 0x2c)))) goto LAB_000450fb;\n      goto LAB_00045222;\n    }\n    do {\n      if (cVar4 == '.') {\n        pcVar10 = pcVar15;\n      }\n      pcVar15 = pcVar15 + 1;\n      piVar2 = DAT_00083f40;\n      if (pbVar13 == local_38 + 0x13) goto LAB_000451c0;\n      pbVar13 = pbVar13 + 1;\n      cVar4 = (&DAT_000844e0)[*pbVar13];\n      *pcVar15 = cVar4;\n    } while (cVar4 != '\0');\n    bVar3 = *pbVar13;\n    if ((bVar3 & 0xdf) != 0) goto LAB_00045208;\nLAB_000450fb:\n    if (pbVar13 == local_38) {\nLAB_000454ae:\n      if ((DAT_00083ed0 == 0) && (bVar3 == 0x2f)) {\n        pcVar10 = "expecting prefix; got nothing";\n      }\n      else {\n        pcVar10 = "expecting mnemonic; got nothing";\n      }\n      uVar6 = dcgettext(0,pcVar10,5);\n      FUN_0002a980(uVar6);\n      return (byte *)0x0;\n    }\n    DAT_00083f40 = (int *)FUN_00024180(DAT_00083e60,param_2);\n    bVar3 = *pbVar13;\n    if ((bVar3 == 0) || ((bVar3 == 0x20 && (pbVar13[1] == 0)))) {\n      if (DAT_00083f40 == (int *)0x0) goto LAB_00045540;\n      puVar16 = (undefined4 *)*DAT_00083f40;\n      if ((*(byte *)(puVar16 + 9) & 0xa0) == 0) {\nLAB_00045264:\n        puVar16 = (undefined4 *)*DAT_00083f40;\n      }\nLAB_0004526c:\n      piVar2 = DAT_00083f40;\n      if ((undefined4 *)DAT_00083f40[1] <= puVar16) goto LAB_0004562d;\n      uVar11 = 0;\n      do {\n        uVar7 = FUN_00044e30();\n        uVar11 = uVar11 | uVar7;\n        if (uVar11 == 3) {\n          if (((DAT_0007b53c & 4) == 0) && (DAT_00083ee8 != 1)) {\n            uVar6 = dcgettext(0,"use .code16 to ensure correct addressing mode",5);\n            FUN_0002a8a0(uVar6);\n          }\n          return pbVar13;\n        }\n        puVar16 = puVar16 + 0x16;\n      } while (puVar16 < (undefined4 *)piVar2[1]);\n      puVar16 = (undefined4 *)*piVar2;\n      if ((uVar11 & 2) == 0) {\nLAB_0004562d:\n        uVar6 = *puVar16;\n        if (DAT_00083ee8 == 2) {\nLAB_00045352:\n          uVar5 = dcgettext(0,"`%s\' is not supported in 64-bit mode",5);\n        }\n        else {\nLAB_00045188:\n          uVar5 = dcgettext(0,"`%s\' is only supported in 64-bit mode",5);\n        }\nLAB_000451a1:\n        FUN_0002a980(uVar5,uVar6);\n      }\n      else {\n        uVar6 = *puVar16;\n        puVar12 = DAT_00083e94;\n        if (DAT_00083e94 == (undefined *)0x0) {\n          puVar12 = &DAT_00059ae5;\n        }\n        puVar14 = DAT_00083e98;\n        if (DAT_00083e98 == (undefined *)0x0) {\n          puVar14 = PTR_s_i386_0007b71c;\n        }\n        uVar5 = dcgettext(0,"`%s\' is not supported on `%s%s\'",5);\n        FUN_0002a980(uVar5,uVar6,puVar14,puVar12);\n      }\n      return (byte *)0x0;\n    }\n    if (DAT_00083f40 == (int *)0x0) {\nLAB_00045540:\n      if ((pcVar10 == pcVar15 + -2) && (pcVar10[1] == 's')) {\n        DAT_00084094 = 2;\nLAB_00045660:\n        *pcVar10 = '\0';\n        piVar9 = (int *)FUN_00024180(DAT_00083e60,param_2);\n        DAT_00083f40 = piVar9;\n        if (piVar9 == (int *)0x0) {\n          cVar4 = pcVar10[-1];\n          DAT_00083f40 = (int *)0x0;\n          pcVar15 = pcVar10;\n          piVar2 = (int *)0x0;\n          switch(cVar4) {\n          case 'b':\n          case 'q':\n            goto code_r0x000455ae;\n          default:\n            goto LAB_000451c0;\n          case 'd':\n            goto code_r0x000455fd;\n          case 'l':\n          case 's':\n            goto code_r0x000455e9;\n          case 'w':\n            goto code_r0x00045581;\n          }\n        }\n      }\n      else {\n        if (pcVar10 == pcVar15 + -3) {\n          if (pcVar10[1] == 'd') {\n            if (pcVar10[2] == '8') {\n              DAT_00084098 = 1;\n              goto LAB_00045660;\n            }\n            if (pcVar10 == pcVar15 + -4) goto LAB_000456b1;\n          }\n        }\n        else if ((pcVar10 == pcVar15 + -4) && (pcVar10[1] == 'd')) {\nLAB_000456b1:\n          if ((pcVar10[2] == '3') && (pcVar10[3] == '2')) {\n            DAT_00084098 = 2;\n            goto LAB_00045660;\n          }\n        }\n        cVar4 = pcVar15[-1];\n        piVar2 = DAT_00083f40;\n        piVar9 = DAT_00083f40;\n        switch(cVar4) {\n        case 'b':\n        case 'q':\n          break;\n        default:\n          goto LAB_000451c0;\n        case 'd':\ncode_r0x000455fd:\n          DAT_00083f40 = piVar9;\n          if (DAT_00083ed0 != 0) {\n            cVar4 = 'l';\n            if ((*param_2 == 'f') && (iVar8 = FUN_00043060(), iVar8 == 1)) {\n              cVar4 = 's';\n            }\n            break;\n          }\n          goto code_r0x000455d5;\n        case 'l':\n        case 's':\ncode_r0x000455e9:\n          DAT_00083f40 = piVar9;\n          if (DAT_00083ed0 != 0) goto code_r0x000455d5;\n          break;\n        case 'w':\ncode_r0x00045581:\n          cVar4 = 'w';\n          if ((DAT_00083ed0 != 0) && (*param_2 == 'f')) {\n            uVar11 = FUN_00043060();\n            cVar4 = (-((uVar11 & 2) == 0) & 4U) + 0x73;\n          }\n        }\ncode_r0x000455ae:\n        DAT_00083fb8 = cVar4;\n        pcVar15[-1] = '\0';\n        DAT_00083f40 = (int *)FUN_00024180(DAT_00083e60,param_2);\ncode_r0x000455d5:\n        piVar2 = DAT_00083f40;\n        if (DAT_00083f40 == (int *)0x0) {\nLAB_000451c0:\n          DAT_00083f40 = piVar2;\n          uVar6 = dcgettext(0,"no such instruction: `%s\'",5);\n          FUN_0002a980(uVar6,local_38);\n          return (byte *)0x0;\n        }\n      }\n      puVar16 = (undefined4 *)*DAT_00083f40;\n      bVar3 = *pbVar13;\nLAB_000454eb:\n      if ((*(byte *)(puVar16 + 9) & 0xa0) == 0) {\nLAB_00045532:\n        if (bVar3 != 0x2c) goto LAB_00045264;\n      }\n      else {\n        if (bVar3 != 0x2c) goto LAB_0004526c;\n        if (pbVar13[1] == 0x70) {\n          if (pbVar13[2] == 0x74) {\n            iVar8 = FUN_0003fd30();\n          }\n          else {\n            if (pbVar13[2] != 0x6e) goto LAB_00045222;\n            iVar8 = FUN_0003fd30();\n          }\n          if (iVar8 == 0) {\n            return (byte *)0x0;\n          }\n          bVar3 = pbVar13[3];\n          pbVar13 = pbVar13 + 3;\n          goto LAB_00045532;\n        }\n      }\nLAB_00045222:\n      uVar6 = FUN_00043af0();\n      uVar5 = dcgettext(0,"invalid character %s in mnemonic",5);\n      goto LAB_000451a1;\n    }\n    puVar16 = (undefined4 *)*DAT_00083f40;\n    if ((*(byte *)(puVar16 + 10) & 0x10) == 0) goto LAB_000454eb;\n    local_20 = (char)puVar16[8];\n    if (DAT_00083ee8 == 2) {\n      if (local_20 < '\0') {\n        uVar6 = *puVar16;\n        goto LAB_00045352;\n      }\n    }\n    else {\n      if ((puVar16[8] & 0x40) != 0) {\n        uVar6 = *puVar16;\n        goto LAB_00045188;\n      }\n      if (((*(byte *)((int)puVar16 + 0x25) & 0x18) != 0) &&\n         ((bool)(*(byte *)((int)puVar16 + 0x25) >> 4 & 1) != (DAT_00083ee8 == 1))) {\n        uVar6 = *puVar16;\n        uVar5 = dcgettext(0,"redundant %s prefix",5);\n        FUN_0002a980(uVar5,uVar6);\n        return (byte *)0x0;\n      }\n    }\n    if (*(char *)(puVar16 + 4) == '\0') {\n      uVar6 = DAT_000840a8;\n      uVar5 = DAT_000840ac;\n      switch(puVar16[2]) {\n      case 0:\n        DAT_00084098 = 1;\n        break;\n      case 1:\n        DAT_00084098 = 2;\n        break;\n      case 2:\n        DAT_00084094 = 1;\n        break;\n      case 3:\n        DAT_00084094 = 2;\n        break;\n      case 4:\n        DAT_000840a4 = 1;\n        break;\n      case 5:\n        DAT_000840a4 = 2;\n        break;\n      case 6:\n        DAT_000840a4 = 3;\n        break;\n      case 7:\n        uRam0008409c = 1;\n        break;\n      case 8:\n        uRam000840a0 = 1;\n        break;\n      default:\n                    \n        FUN_0002aaa0("../../gas/config/tc-i386.c",0x1127,"parse_insn",pbVar13);\n      }\n    }\n    else {\n      iVar8 = FUN_0003fd30();\n      uVar6 = DAT_000840a8;\n      uVar5 = DAT_000840ac;\n      if (iVar8 == 2) {\n        puVar16 = (undefined4 *)*DAT_00083f40;\n        uVar1 = *puVar16;\n        uVar5 = uVar1;\n        if (((*(byte *)((int)puVar16 + 0x1b) & 0x10) == 0) &&\n           (uVar6 = uVar1, uVar5 = DAT_000840ac, (*(byte *)(puVar16 + 7) & 1) != 0)) {\n          uVar6 = DAT_000840a8;\n          DAT_000840b0 = uVar1;\n        }\n      }\n      else if (iVar8 == 3) {\n        if ((*(byte *)(*DAT_00083f40 + 0x1f) & 8) != 0) {\n          DAT_000840b4 = *(undefined4 *)*DAT_00083f40;\n        }\n      }\n      else if (iVar8 == 0) {\n        return (byte *)0x0;\n      }\n    }\n    DAT_000840ac = uVar5;\n    DAT_000840a8 = uVar6;\n    local_38 = pbVar13 + 1;\n  }" ({ "{") (expression_statement "cVar4 = (&DAT_000844e0)[*local_38];" (assignment_expression "cVar4 = (&DAT_000844e0)[*local_38]" (identifier "cVar4") (= "=") (subscript_expression "(&DAT_000844e0)[*local_38]" (parenthesized_expression "(&DAT_000844e0)" (( "(") (pointer_expression "&DAT_000844e0" (& "&") (identifier "DAT_000844e0")) () ")")) ([ "[") (pointer_expression "*local_38" (* "*") (identifier "local_38")) (] "]"))) (; ";")) (expression_statement "*param_2 = cVar4;" (assignment_expression "*param_2 = cVar4" (pointer_expression "*param_2" (* "*") (identifier "param_2")) (= "=") (identifier "cVar4")) (; ";")) (expression_statement "pcVar15 = param_2;" (assignment_expression "pcVar15 = param_2" (identifier "pcVar15") (= "=") (identifier "param_2")) (; ";")) (expression_statement "pbVar13 = local_38;" (assignment_expression "pbVar13 = local_38" (identifier "pbVar13") (= "=") (identifier "local_38")) (; ";")) (if_statement "if (cVar4 == '\0') {\n      bVar3 = *local_38;\n      if ((bVar3 & 0xdf) == 0) goto LAB_000454ae;\nLAB_00045208:\n      if ((DAT_00083ed0 == 0) && ((bVar3 == 0x2f || (bVar3 == 0x2c)))) goto LAB_000450fb;\n      goto LAB_00045222;\n    }" (if "if") (parenthesized_expression "(cVar4 == '\0')" (( "(") (binary_expression "cVar4 == '\0'" (identifier "cVar4") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n      bVar3 = *local_38;\n      if ((bVar3 & 0xdf) == 0) goto LAB_000454ae;\nLAB_00045208:\n      if ((DAT_00083ed0 == 0) && ((bVar3 == 0x2f || (bVar3 == 0x2c)))) goto LAB_000450fb;\n      goto LAB_00045222;\n    }" ({ "{") (expression_statement "bVar3 = *local_38;" (assignment_expression "bVar3 = *local_38" (identifier "bVar3") (= "=") (pointer_expression "*local_38" (* "*") (identifier "local_38"))) (; ";")) (if_statement "if ((bVar3 & 0xdf) == 0) goto LAB_000454ae;" (if "if") (parenthesized_expression "((bVar3 & 0xdf) == 0)" (( "(") (binary_expression "(bVar3 & 0xdf) == 0" (parenthesized_expression "(bVar3 & 0xdf)" (( "(") (binary_expression "bVar3 & 0xdf" (identifier "bVar3") (& "&") (number_literal "0xdf")) () ")")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_000454ae;" (goto "goto") (statement_identifier "LAB_000454ae") (; ";"))) (labeled_statement "LAB_00045208:\n      if ((DAT_00083ed0 == 0) && ((bVar3 == 0x2f || (bVar3 == 0x2c)))) goto LAB_000450fb;" (statement_identifier "LAB_00045208") (: ":") (if_statement "if ((DAT_00083ed0 == 0) && ((bVar3 == 0x2f || (bVar3 == 0x2c)))) goto LAB_000450fb;" (if "if") (parenthesized_expression "((DAT_00083ed0 == 0) && ((bVar3 == 0x2f || (bVar3 == 0x2c))))" (( "(") (binary_expression "(DAT_00083ed0 == 0) && ((bVar3 == 0x2f || (bVar3 == 0x2c)))" (parenthesized_expression "(DAT_00083ed0 == 0)" (( "(") (binary_expression "DAT_00083ed0 == 0" (identifier "DAT_00083ed0") (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "((bVar3 == 0x2f || (bVar3 == 0x2c)))" (( "(") (parenthesized_expression "(bVar3 == 0x2f || (bVar3 == 0x2c))" (( "(") (binary_expression "bVar3 == 0x2f || (bVar3 == 0x2c)" (binary_expression "bVar3 == 0x2f" (identifier "bVar3") (== "==") (number_literal "0x2f")) (|| "||") (parenthesized_expression "(bVar3 == 0x2c)" (( "(") (binary_expression "bVar3 == 0x2c" (identifier "bVar3") (== "==") (number_literal "0x2c")) () ")"))) () ")")) () ")"))) () ")")) (goto_statement "goto LAB_000450fb;" (goto "goto") (statement_identifier "LAB_000450fb") (; ";")))) (goto_statement "goto LAB_00045222;" (goto "goto") (statement_identifier "LAB_00045222") (; ";")) (} "}"))) (do_statement "do {\n      if (cVar4 == '.') {\n        pcVar10 = pcVar15;\n      }\n      pcVar15 = pcVar15 + 1;\n      piVar2 = DAT_00083f40;\n      if (pbVar13 == local_38 + 0x13) goto LAB_000451c0;\n      pbVar13 = pbVar13 + 1;\n      cVar4 = (&DAT_000844e0)[*pbVar13];\n      *pcVar15 = cVar4;\n    } while (cVar4 != '\0');" (do "do") (compound_statement "{\n      if (cVar4 == '.') {\n        pcVar10 = pcVar15;\n      }\n      pcVar15 = pcVar15 + 1;\n      piVar2 = DAT_00083f40;\n      if (pbVar13 == local_38 + 0x13) goto LAB_000451c0;\n      pbVar13 = pbVar13 + 1;\n      cVar4 = (&DAT_000844e0)[*pbVar13];\n      *pcVar15 = cVar4;\n    }" ({ "{") (if_statement "if (cVar4 == '.') {\n        pcVar10 = pcVar15;\n      }" (if "if") (parenthesized_expression "(cVar4 == '.')" (( "(") (binary_expression "cVar4 == '.'" (identifier "cVar4") (== "==") (char_literal "'.'" (' "'") (character ".") (' "'"))) () ")")) (compound_statement "{\n        pcVar10 = pcVar15;\n      }" ({ "{") (expression_statement "pcVar10 = pcVar15;" (assignment_expression "pcVar10 = pcVar15" (identifier "pcVar10") (= "=") (identifier "pcVar15")) (; ";")) (} "}"))) (expression_statement "pcVar15 = pcVar15 + 1;" (assignment_expression "pcVar15 = pcVar15 + 1" (identifier "pcVar15") (= "=") (binary_expression "pcVar15 + 1" (identifier "pcVar15") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "piVar2 = DAT_00083f40;" (assignment_expression "piVar2 = DAT_00083f40" (identifier "piVar2") (= "=") (identifier "DAT_00083f40")) (; ";")) (if_statement "if (pbVar13 == local_38 + 0x13) goto LAB_000451c0;" (if "if") (parenthesized_expression "(pbVar13 == local_38 + 0x13)" (( "(") (binary_expression "pbVar13 == local_38 + 0x13" (identifier "pbVar13") (== "==") (binary_expression "local_38 + 0x13" (identifier "local_38") (+ "+") (number_literal "0x13"))) () ")")) (goto_statement "goto LAB_000451c0;" (goto "goto") (statement_identifier "LAB_000451c0") (; ";"))) (expression_statement "pbVar13 = pbVar13 + 1;" (assignment_expression "pbVar13 = pbVar13 + 1" (identifier "pbVar13") (= "=") (binary_expression "pbVar13 + 1" (identifier "pbVar13") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "cVar4 = (&DAT_000844e0)[*pbVar13];" (assignment_expression "cVar4 = (&DAT_000844e0)[*pbVar13]" (identifier "cVar4") (= "=") (subscript_expression "(&DAT_000844e0)[*pbVar13]" (parenthesized_expression "(&DAT_000844e0)" (( "(") (pointer_expression "&DAT_000844e0" (& "&") (identifier "DAT_000844e0")) () ")")) ([ "[") (pointer_expression "*pbVar13" (* "*") (identifier "pbVar13")) (] "]"))) (; ";")) (expression_statement "*pcVar15 = cVar4;" (assignment_expression "*pcVar15 = cVar4" (pointer_expression "*pcVar15" (* "*") (identifier "pcVar15")) (= "=") (identifier "cVar4")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(cVar4 != '\0')" (( "(") (binary_expression "cVar4 != '\0'" (identifier "cVar4") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (; ";")) (expression_statement "bVar3 = *pbVar13;" (assignment_expression "bVar3 = *pbVar13" (identifier "bVar3") (= "=") (pointer_expression "*pbVar13" (* "*") (identifier "pbVar13"))) (; ";")) (if_statement "if ((bVar3 & 0xdf) != 0) goto LAB_00045208;" (if "if") (parenthesized_expression "((bVar3 & 0xdf) != 0)" (( "(") (binary_expression "(bVar3 & 0xdf) != 0" (parenthesized_expression "(bVar3 & 0xdf)" (( "(") (binary_expression "bVar3 & 0xdf" (identifier "bVar3") (& "&") (number_literal "0xdf")) () ")")) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00045208;" (goto "goto") (statement_identifier "LAB_00045208") (; ";"))) (labeled_statement "LAB_000450fb:\n    if (pbVar13 == local_38) {\nLAB_000454ae:\n      if ((DAT_00083ed0 == 0) && (bVar3 == 0x2f)) {\n        pcVar10 = "expecting prefix; got nothing";\n      }\n      else {\n        pcVar10 = "expecting mnemonic; got nothing";\n      }\n      uVar6 = dcgettext(0,pcVar10,5);\n      FUN_0002a980(uVar6);\n      return (byte *)0x0;\n    }" (statement_identifier "LAB_000450fb") (: ":") (if_statement "if (pbVar13 == local_38) {\nLAB_000454ae:\n      if ((DAT_00083ed0 == 0) && (bVar3 == 0x2f)) {\n        pcVar10 = "expecting prefix; got nothing";\n      }\n      else {\n        pcVar10 = "expecting mnemonic; got nothing";\n      }\n      uVar6 = dcgettext(0,pcVar10,5);\n      FUN_0002a980(uVar6);\n      return (byte *)0x0;\n    }" (if "if") (parenthesized_expression "(pbVar13 == local_38)" (( "(") (binary_expression "pbVar13 == local_38" (identifier "pbVar13") (== "==") (identifier "local_38")) () ")")) (compound_statement "{\nLAB_000454ae:\n      if ((DAT_00083ed0 == 0) && (bVar3 == 0x2f)) {\n        pcVar10 = "expecting prefix; got nothing";\n      }\n      else {\n        pcVar10 = "expecting mnemonic; got nothing";\n      }\n      uVar6 = dcgettext(0,pcVar10,5);\n      FUN_0002a980(uVar6);\n      return (byte *)0x0;\n    }" ({ "{") (labeled_statement "LAB_000454ae:\n      if ((DAT_00083ed0 == 0) && (bVar3 == 0x2f)) {\n        pcVar10 = "expecting prefix; got nothing";\n      }\n      else {\n        pcVar10 = "expecting mnemonic; got nothing";\n      }" (statement_identifier "LAB_000454ae") (: ":") (if_statement "if ((DAT_00083ed0 == 0) && (bVar3 == 0x2f)) {\n        pcVar10 = "expecting prefix; got nothing";\n      }\n      else {\n        pcVar10 = "expecting mnemonic; got nothing";\n      }" (if "if") (parenthesized_expression "((DAT_00083ed0 == 0) && (bVar3 == 0x2f))" (( "(") (binary_expression "(DAT_00083ed0 == 0) && (bVar3 == 0x2f)" (parenthesized_expression "(DAT_00083ed0 == 0)" (( "(") (binary_expression "DAT_00083ed0 == 0" (identifier "DAT_00083ed0") (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(bVar3 == 0x2f)" (( "(") (binary_expression "bVar3 == 0x2f" (identifier "bVar3") (== "==") (number_literal "0x2f")) () ")"))) () ")")) (compound_statement "{\n        pcVar10 = "expecting prefix; got nothing";\n      }" ({ "{") (expression_statement "pcVar10 = "expecting prefix; got nothing";" (assignment_expression "pcVar10 = "expecting prefix; got nothing"" (identifier "pcVar10") (= "=") (string_literal ""expecting prefix; got nothing"" (" """) (string_content "expecting prefix; got nothing") (" """))) (; ";")) (} "}")) (else_clause "else {\n        pcVar10 = "expecting mnemonic; got nothing";\n      }" (else "else") (compound_statement "{\n        pcVar10 = "expecting mnemonic; got nothing";\n      }" ({ "{") (expression_statement "pcVar10 = "expecting mnemonic; got nothing";" (assignment_expression "pcVar10 = "expecting mnemonic; got nothing"" (identifier "pcVar10") (= "=") (string_literal ""expecting mnemonic; got nothing"" (" """) (string_content "expecting mnemonic; got nothing") (" """))) (; ";")) (} "}"))))) (expression_statement "uVar6 = dcgettext(0,pcVar10,5);" (assignment_expression "uVar6 = dcgettext(0,pcVar10,5)" (identifier "uVar6") (= "=") (call_expression "dcgettext(0,pcVar10,5)" (identifier "dcgettext") (argument_list "(0,pcVar10,5)" (( "(") (number_literal "0") (, ",") (identifier "pcVar10") (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_0002a980(uVar6);" (call_expression "FUN_0002a980(uVar6)" (identifier "FUN_0002a980") (argument_list "(uVar6)" (( "(") (identifier "uVar6") () ")"))) (; ";")) (return_statement "return (byte *)0x0;" (return "return") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")) (; ";")) (} "}")))) (expression_statement "DAT_00083f40 = (int *)FUN_00024180(DAT_00083e60,param_2);" (assignment_expression "DAT_00083f40 = (int *)FUN_00024180(DAT_00083e60,param_2)" (identifier "DAT_00083f40") (= "=") (cast_expression "(int *)FUN_00024180(DAT_00083e60,param_2)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00024180(DAT_00083e60,param_2)" (identifier "FUN_00024180") (argument_list "(DAT_00083e60,param_2)" (( "(") (identifier "DAT_00083e60") (, ",") (identifier "param_2") () ")"))))) (; ";")) (expression_statement "bVar3 = *pbVar13;" (assignment_expression "bVar3 = *pbVar13" (identifier "bVar3") (= "=") (pointer_expression "*pbVar13" (* "*") (identifier "pbVar13"))) (; ";")) (if_statement "if ((bVar3 == 0) || ((bVar3 == 0x20 && (pbVar13[1] == 0)))) {\n      if (DAT_00083f40 == (int *)0x0) goto LAB_00045540;\n      puVar16 = (undefined4 *)*DAT_00083f40;\n      if ((*(byte *)(puVar16 + 9) & 0xa0) == 0) {\nLAB_00045264:\n        puVar16 = (undefined4 *)*DAT_00083f40;\n      }\nLAB_0004526c:\n      piVar2 = DAT_00083f40;\n      if ((undefined4 *)DAT_00083f40[1] <= puVar16) goto LAB_0004562d;\n      uVar11 = 0;\n      do {\n        uVar7 = FUN_00044e30();\n        uVar11 = uVar11 | uVar7;\n        if (uVar11 == 3) {\n          if (((DAT_0007b53c & 4) == 0) && (DAT_00083ee8 != 1)) {\n            uVar6 = dcgettext(0,"use .code16 to ensure correct addressing mode",5);\n            FUN_0002a8a0(uVar6);\n          }\n          return pbVar13;\n        }\n        puVar16 = puVar16 + 0x16;\n      } while (puVar16 < (undefined4 *)piVar2[1]);\n      puVar16 = (undefined4 *)*piVar2;\n      if ((uVar11 & 2) == 0) {\nLAB_0004562d:\n        uVar6 = *puVar16;\n        if (DAT_00083ee8 == 2) {\nLAB_00045352:\n          uVar5 = dcgettext(0,"`%s\' is not supported in 64-bit mode",5);\n        }\n        else {\nLAB_00045188:\n          uVar5 = dcgettext(0,"`%s\' is only supported in 64-bit mode",5);\n        }\nLAB_000451a1:\n        FUN_0002a980(uVar5,uVar6);\n      }\n      else {\n        uVar6 = *puVar16;\n        puVar12 = DAT_00083e94;\n        if (DAT_00083e94 == (undefined *)0x0) {\n          puVar12 = &DAT_00059ae5;\n        }\n        puVar14 = DAT_00083e98;\n        if (DAT_00083e98 == (undefined *)0x0) {\n          puVar14 = PTR_s_i386_0007b71c;\n        }\n        uVar5 = dcgettext(0,"`%s\' is not supported on `%s%s\'",5);\n        FUN_0002a980(uVar5,uVar6,puVar14,puVar12);\n      }\n      return (byte *)0x0;\n    }" (if "if") (parenthesized_expression "((bVar3 == 0) || ((bVar3 == 0x20 && (pbVar13[1] == 0))))" (( "(") (binary_expression "(bVar3 == 0) || ((bVar3 == 0x20 && (pbVar13[1] == 0)))" (parenthesized_expression "(bVar3 == 0)" (( "(") (binary_expression "bVar3 == 0" (identifier "bVar3") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "((bVar3 == 0x20 && (pbVar13[1] == 0)))" (( "(") (parenthesized_expression "(bVar3 == 0x20 && (pbVar13[1] == 0))" (( "(") (binary_expression "bVar3 == 0x20 && (pbVar13[1] == 0)" (binary_expression "bVar3 == 0x20" (identifier "bVar3") (== "==") (number_literal "0x20")) (&& "&&") (parenthesized_expression "(pbVar13[1] == 0)" (( "(") (binary_expression "pbVar13[1] == 0" (subscript_expression "pbVar13[1]" (identifier "pbVar13") ([ "[") (number_literal "1") (] "]")) (== "==") (number_literal "0")) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n      if (DAT_00083f40 == (int *)0x0) goto LAB_00045540;\n      puVar16 = (undefined4 *)*DAT_00083f40;\n      if ((*(byte *)(puVar16 + 9) & 0xa0) == 0) {\nLAB_00045264:\n        puVar16 = (undefined4 *)*DAT_00083f40;\n      }\nLAB_0004526c:\n      piVar2 = DAT_00083f40;\n      if ((undefined4 *)DAT_00083f40[1] <= puVar16) goto LAB_0004562d;\n      uVar11 = 0;\n      do {\n        uVar7 = FUN_00044e30();\n        uVar11 = uVar11 | uVar7;\n        if (uVar11 == 3) {\n          if (((DAT_0007b53c & 4) == 0) && (DAT_00083ee8 != 1)) {\n            uVar6 = dcgettext(0,"use .code16 to ensure correct addressing mode",5);\n            FUN_0002a8a0(uVar6);\n          }\n          return pbVar13;\n        }\n        puVar16 = puVar16 + 0x16;\n      } while (puVar16 < (undefined4 *)piVar2[1]);\n      puVar16 = (undefined4 *)*piVar2;\n      if ((uVar11 & 2) == 0) {\nLAB_0004562d:\n        uVar6 = *puVar16;\n        if (DAT_00083ee8 == 2) {\nLAB_00045352:\n          uVar5 = dcgettext(0,"`%s\' is not supported in 64-bit mode",5);\n        }\n        else {\nLAB_00045188:\n          uVar5 = dcgettext(0,"`%s\' is only supported in 64-bit mode",5);\n        }\nLAB_000451a1:\n        FUN_0002a980(uVar5,uVar6);\n      }\n      else {\n        uVar6 = *puVar16;\n        puVar12 = DAT_00083e94;\n        if (DAT_00083e94 == (undefined *)0x0) {\n          puVar12 = &DAT_00059ae5;\n        }\n        puVar14 = DAT_00083e98;\n        if (DAT_00083e98 == (undefined *)0x0) {\n          puVar14 = PTR_s_i386_0007b71c;\n        }\n        uVar5 = dcgettext(0,"`%s\' is not supported on `%s%s\'",5);\n        FUN_0002a980(uVar5,uVar6,puVar14,puVar12);\n      }\n      return (byte *)0x0;\n    }" ({ "{") (if_statement "if (DAT_00083f40 == (int *)0x0) goto LAB_00045540;" (if "if") (parenthesized_expression "(DAT_00083f40 == (int *)0x0)" (( "(") (binary_expression "DAT_00083f40 == (int *)0x0" (identifier "DAT_00083f40") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_00045540;" (goto "goto") (statement_identifier "LAB_00045540") (; ";"))) (expression_statement "puVar16 = (undefined4 *)*DAT_00083f40;" (assignment_expression "puVar16 = (undefined4 *)*DAT_00083f40" (identifier "puVar16") (= "=") (cast_expression "(undefined4 *)*DAT_00083f40" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*DAT_00083f40" (* "*") (identifier "DAT_00083f40")))) (; ";")) (if_statement "if ((*(byte *)(puVar16 + 9) & 0xa0) == 0) {\nLAB_00045264:\n        puVar16 = (undefined4 *)*DAT_00083f40;\n      }" (if "if") (parenthesized_expression "((*(byte *)(puVar16 + 9) & 0xa0) == 0)" (( "(") (binary_expression "(*(byte *)(puVar16 + 9) & 0xa0) == 0" (parenthesized_expression "(*(byte *)(puVar16 + 9) & 0xa0)" (( "(") (binary_expression "*(byte *)(puVar16 + 9) & 0xa0" (pointer_expression "*(byte *)(puVar16 + 9)" (* "*") (cast_expression "(byte *)(puVar16 + 9)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + 9)" (( "(") (binary_expression "puVar16 + 9" (identifier "puVar16") (+ "+") (number_literal "9")) () ")")))) (& "&") (number_literal "0xa0")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_00045264:\n        puVar16 = (undefined4 *)*DAT_00083f40;\n      }" ({ "{") (labeled_statement "LAB_00045264:\n        puVar16 = (undefined4 *)*DAT_00083f40;" (statement_identifier "LAB_00045264") (: ":") (expression_statement "puVar16 = (undefined4 *)*DAT_00083f40;" (assignment_expression "puVar16 = (undefined4 *)*DAT_00083f40" (identifier "puVar16") (= "=") (cast_expression "(undefined4 *)*DAT_00083f40" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*DAT_00083f40" (* "*") (identifier "DAT_00083f40")))) (; ";"))) (} "}"))) (labeled_statement "LAB_0004526c:\n      piVar2 = DAT_00083f40;" (statement_identifier "LAB_0004526c") (: ":") (expression_statement "piVar2 = DAT_00083f40;" (assignment_expression "piVar2 = DAT_00083f40" (identifier "piVar2") (= "=") (identifier "DAT_00083f40")) (; ";"))) (if_statement "if ((undefined4 *)DAT_00083f40[1] <= puVar16) goto LAB_0004562d;" (if "if") (parenthesized_expression "((undefined4 *)DAT_00083f40[1] <= puVar16)" (( "(") (binary_expression "(undefined4 *)DAT_00083f40[1] <= puVar16" (cast_expression "(undefined4 *)DAT_00083f40[1]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "DAT_00083f40[1]" (identifier "DAT_00083f40") ([ "[") (number_literal "1") (] "]"))) (<= "<=") (identifier "puVar16")) () ")")) (goto_statement "goto LAB_0004562d;" (goto "goto") (statement_identifier "LAB_0004562d") (; ";"))) (expression_statement "uVar11 = 0;" (assignment_expression "uVar11 = 0" (identifier "uVar11") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n        uVar7 = FUN_00044e30();\n        uVar11 = uVar11 | uVar7;\n        if (uVar11 == 3) {\n          if (((DAT_0007b53c & 4) == 0) && (DAT_00083ee8 != 1)) {\n            uVar6 = dcgettext(0,"use .code16 to ensure correct addressing mode",5);\n            FUN_0002a8a0(uVar6);\n          }\n          return pbVar13;\n        }\n        puVar16 = puVar16 + 0x16;\n      } while (puVar16 < (undefined4 *)piVar2[1]);" (do "do") (compound_statement "{\n        uVar7 = FUN_00044e30();\n        uVar11 = uVar11 | uVar7;\n        if (uVar11 == 3) {\n          if (((DAT_0007b53c & 4) == 0) && (DAT_00083ee8 != 1)) {\n            uVar6 = dcgettext(0,"use .code16 to ensure correct addressing mode",5);\n            FUN_0002a8a0(uVar6);\n          }\n          return pbVar13;\n        }\n        puVar16 = puVar16 + 0x16;\n      }" ({ "{") (expression_statement "uVar7 = FUN_00044e30();" (assignment_expression "uVar7 = FUN_00044e30()" (identifier "uVar7") (= "=") (call_expression "FUN_00044e30()" (identifier "FUN_00044e30") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "uVar11 = uVar11 | uVar7;" (assignment_expression "uVar11 = uVar11 | uVar7" (identifier "uVar11") (= "=") (binary_expression "uVar11 | uVar7" (identifier "uVar11") (| "|") (identifier "uVar7"))) (; ";")) (if_statement "if (uVar11 == 3) {\n          if (((DAT_0007b53c & 4) == 0) && (DAT_00083ee8 != 1)) {\n            uVar6 = dcgettext(0,"use .code16 to ensure correct addressing mode",5);\n            FUN_0002a8a0(uVar6);\n          }\n          return pbVar13;\n        }" (if "if") (parenthesized_expression "(uVar11 == 3)" (( "(") (binary_expression "uVar11 == 3" (identifier "uVar11") (== "==") (number_literal "3")) () ")")) (compound_statement "{\n          if (((DAT_0007b53c & 4) == 0) && (DAT_00083ee8 != 1)) {\n            uVar6 = dcgettext(0,"use .code16 to ensure correct addressing mode",5);\n            FUN_0002a8a0(uVar6);\n          }\n          return pbVar13;\n        }" ({ "{") (if_statement "if (((DAT_0007b53c & 4) == 0) && (DAT_00083ee8 != 1)) {\n            uVar6 = dcgettext(0,"use .code16 to ensure correct addressing mode",5);\n            FUN_0002a8a0(uVar6);\n          }" (if "if") (parenthesized_expression "(((DAT_0007b53c & 4) == 0) && (DAT_00083ee8 != 1))" (( "(") (binary_expression "((DAT_0007b53c & 4) == 0) && (DAT_00083ee8 != 1)" (parenthesized_expression "((DAT_0007b53c & 4) == 0)" (( "(") (binary_expression "(DAT_0007b53c & 4) == 0" (parenthesized_expression "(DAT_0007b53c & 4)" (( "(") (binary_expression "DAT_0007b53c & 4" (identifier "DAT_0007b53c") (& "&") (number_literal "4")) () ")")) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(DAT_00083ee8 != 1)" (( "(") (binary_expression "DAT_00083ee8 != 1" (identifier "DAT_00083ee8") (!= "!=") (number_literal "1")) () ")"))) () ")")) (compound_statement "{\n            uVar6 = dcgettext(0,"use .code16 to ensure correct addressing mode",5);\n            FUN_0002a8a0(uVar6);\n          }" ({ "{") (expression_statement "uVar6 = dcgettext(0,"use .code16 to ensure correct addressing mode",5);" (assignment_expression "uVar6 = dcgettext(0,"use .code16 to ensure correct addressing mode",5)" (identifier "uVar6") (= "=") (call_expression "dcgettext(0,"use .code16 to ensure correct addressing mode",5)" (identifier "dcgettext") (argument_list "(0,"use .code16 to ensure correct addressing mode",5)" (( "(") (number_literal "0") (, ",") (string_literal ""use .code16 to ensure correct addressing mode"" (" """) (string_content "use .code16 to ensure correct addressing mode") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_0002a8a0(uVar6);" (call_expression "FUN_0002a8a0(uVar6)" (identifier "FUN_0002a8a0") (argument_list "(uVar6)" (( "(") (identifier "uVar6") () ")"))) (; ";")) (} "}"))) (return_statement "return pbVar13;" (return "return") (identifier "pbVar13") (; ";")) (} "}"))) (expression_statement "puVar16 = puVar16 + 0x16;" (assignment_expression "puVar16 = puVar16 + 0x16" (identifier "puVar16") (= "=") (binary_expression "puVar16 + 0x16" (identifier "puVar16") (+ "+") (number_literal "0x16"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(puVar16 < (undefined4 *)piVar2[1])" (( "(") (binary_expression "puVar16 < (undefined4 *)piVar2[1]" (identifier "puVar16") (< "<") (cast_expression "(undefined4 *)piVar2[1]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar2[1]" (identifier "piVar2") ([ "[") (number_literal "1") (] "]")))) () ")")) (; ";")) (expression_statement "puVar16 = (undefined4 *)*piVar2;" (assignment_expression "puVar16 = (undefined4 *)*piVar2" (identifier "puVar16") (= "=") (cast_expression "(undefined4 *)*piVar2" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar2" (* "*") (identifier "piVar2")))) (; ";")) (if_statement "if ((uVar11 & 2) == 0) {\nLAB_0004562d:\n        uVar6 = *puVar16;\n        if (DAT_00083ee8 == 2) {\nLAB_00045352:\n          uVar5 = dcgettext(0,"`%s\' is not supported in 64-bit mode",5);\n        }\n        else {\nLAB_00045188:\n          uVar5 = dcgettext(0,"`%s\' is only supported in 64-bit mode",5);\n        }\nLAB_000451a1:\n        FUN_0002a980(uVar5,uVar6);\n      }\n      else {\n        uVar6 = *puVar16;\n        puVar12 = DAT_00083e94;\n        if (DAT_00083e94 == (undefined *)0x0) {\n          puVar12 = &DAT_00059ae5;\n        }\n        puVar14 = DAT_00083e98;\n        if (DAT_00083e98 == (undefined *)0x0) {\n          puVar14 = PTR_s_i386_0007b71c;\n        }\n        uVar5 = dcgettext(0,"`%s\' is not supported on `%s%s\'",5);\n        FUN_0002a980(uVar5,uVar6,puVar14,puVar12);\n      }" (if "if") (parenthesized_expression "((uVar11 & 2) == 0)" (( "(") (binary_expression "(uVar11 & 2) == 0" (parenthesized_expression "(uVar11 & 2)" (( "(") (binary_expression "uVar11 & 2" (identifier "uVar11") (& "&") (number_literal "2")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_0004562d:\n        uVar6 = *puVar16;\n        if (DAT_00083ee8 == 2) {\nLAB_00045352:\n          uVar5 = dcgettext(0,"`%s\' is not supported in 64-bit mode",5);\n        }\n        else {\nLAB_00045188:\n          uVar5 = dcgettext(0,"`%s\' is only supported in 64-bit mode",5);\n        }\nLAB_000451a1:\n        FUN_0002a980(uVar5,uVar6);\n      }" ({ "{") (labeled_statement "LAB_0004562d:\n        uVar6 = *puVar16;" (statement_identifier "LAB_0004562d") (: ":") (expression_statement "uVar6 = *puVar16;" (assignment_expression "uVar6 = *puVar16" (identifier "uVar6") (= "=") (pointer_expression "*puVar16" (* "*") (identifier "puVar16"))) (; ";"))) (if_statement "if (DAT_00083ee8 == 2) {\nLAB_00045352:\n          uVar5 = dcgettext(0,"`%s\' is not supported in 64-bit mode",5);\n        }\n        else {\nLAB_00045188:\n          uVar5 = dcgettext(0,"`%s\' is only supported in 64-bit mode",5);\n        }" (if "if") (parenthesized_expression "(DAT_00083ee8 == 2)" (( "(") (binary_expression "DAT_00083ee8 == 2" (identifier "DAT_00083ee8") (== "==") (number_literal "2")) () ")")) (compound_statement "{\nLAB_00045352:\n          uVar5 = dcgettext(0,"`%s\' is not supported in 64-bit mode",5);\n        }" ({ "{") (labeled_statement "LAB_00045352:\n          uVar5 = dcgettext(0,"`%s\' is not supported in 64-bit mode",5);" (statement_identifier "LAB_00045352") (: ":") (expression_statement "uVar5 = dcgettext(0,"`%s\' is not supported in 64-bit mode",5);" (assignment_expression "uVar5 = dcgettext(0,"`%s\' is not supported in 64-bit mode",5)" (identifier "uVar5") (= "=") (call_expression "dcgettext(0,"`%s\' is not supported in 64-bit mode",5)" (identifier "dcgettext") (argument_list "(0,"`%s\' is not supported in 64-bit mode",5)" (( "(") (number_literal "0") (, ",") (string_literal ""`%s\' is not supported in 64-bit mode"" (" """) (string_content "`%s") (escape_sequence "\'") (string_content " is not supported in 64-bit mode") (" """)) (, ",") (number_literal "5") () ")")))) (; ";"))) (} "}")) (else_clause "else {\nLAB_00045188:\n          uVar5 = dcgettext(0,"`%s\' is only supported in 64-bit mode",5);\n        }" (else "else") (compound_statement "{\nLAB_00045188:\n          uVar5 = dcgettext(0,"`%s\' is only supported in 64-bit mode",5);\n        }" ({ "{") (labeled_statement "LAB_00045188:\n          uVar5 = dcgettext(0,"`%s\' is only supported in 64-bit mode",5);" (statement_identifier "LAB_00045188") (: ":") (expression_statement "uVar5 = dcgettext(0,"`%s\' is only supported in 64-bit mode",5);" (assignment_expression "uVar5 = dcgettext(0,"`%s\' is only supported in 64-bit mode",5)" (identifier "uVar5") (= "=") (call_expression "dcgettext(0,"`%s\' is only supported in 64-bit mode",5)" (identifier "dcgettext") (argument_list "(0,"`%s\' is only supported in 64-bit mode",5)" (( "(") (number_literal "0") (, ",") (string_literal ""`%s\' is only supported in 64-bit mode"" (" """) (string_content "`%s") (escape_sequence "\'") (string_content " is only supported in 64-bit mode") (" """)) (, ",") (number_literal "5") () ")")))) (; ";"))) (} "}")))) (labeled_statement "LAB_000451a1:\n        FUN_0002a980(uVar5,uVar6);" (statement_identifier "LAB_000451a1") (: ":") (expression_statement "FUN_0002a980(uVar5,uVar6);" (call_expression "FUN_0002a980(uVar5,uVar6)" (identifier "FUN_0002a980") (argument_list "(uVar5,uVar6)" (( "(") (identifier "uVar5") (, ",") (identifier "uVar6") () ")"))) (; ";"))) (} "}")) (else_clause "else {\n        uVar6 = *puVar16;\n        puVar12 = DAT_00083e94;\n        if (DAT_00083e94 == (undefined *)0x0) {\n          puVar12 = &DAT_00059ae5;\n        }\n        puVar14 = DAT_00083e98;\n        if (DAT_00083e98 == (undefined *)0x0) {\n          puVar14 = PTR_s_i386_0007b71c;\n        }\n        uVar5 = dcgettext(0,"`%s\' is not supported on `%s%s\'",5);\n        FUN_0002a980(uVar5,uVar6,puVar14,puVar12);\n      }" (else "else") (compound_statement "{\n        uVar6 = *puVar16;\n        puVar12 = DAT_00083e94;\n        if (DAT_00083e94 == (undefined *)0x0) {\n          puVar12 = &DAT_00059ae5;\n        }\n        puVar14 = DAT_00083e98;\n        if (DAT_00083e98 == (undefined *)0x0) {\n          puVar14 = PTR_s_i386_0007b71c;\n        }\n        uVar5 = dcgettext(0,"`%s\' is not supported on `%s%s\'",5);\n        FUN_0002a980(uVar5,uVar6,puVar14,puVar12);\n      }" ({ "{") (expression_statement "uVar6 = *puVar16;" (assignment_expression "uVar6 = *puVar16" (identifier "uVar6") (= "=") (pointer_expression "*puVar16" (* "*") (identifier "puVar16"))) (; ";")) (expression_statement "puVar12 = DAT_00083e94;" (assignment_expression "puVar12 = DAT_00083e94" (identifier "puVar12") (= "=") (identifier "DAT_00083e94")) (; ";")) (if_statement "if (DAT_00083e94 == (undefined *)0x0) {\n          puVar12 = &DAT_00059ae5;\n        }" (if "if") (parenthesized_expression "(DAT_00083e94 == (undefined *)0x0)" (( "(") (binary_expression "DAT_00083e94 == (undefined *)0x0" (identifier "DAT_00083e94") (== "==") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          puVar12 = &DAT_00059ae5;\n        }" ({ "{") (expression_statement "puVar12 = &DAT_00059ae5;" (assignment_expression "puVar12 = &DAT_00059ae5" (identifier "puVar12") (= "=") (pointer_expression "&DAT_00059ae5" (& "&") (identifier "DAT_00059ae5"))) (; ";")) (} "}"))) (expression_statement "puVar14 = DAT_00083e98;" (assignment_expression "puVar14 = DAT_00083e98" (identifier "puVar14") (= "=") (identifier "DAT_00083e98")) (; ";")) (if_statement "if (DAT_00083e98 == (undefined *)0x0) {\n          puVar14 = PTR_s_i386_0007b71c;\n        }" (if "if") (parenthesized_expression "(DAT_00083e98 == (undefined *)0x0)" (( "(") (binary_expression "DAT_00083e98 == (undefined *)0x0" (identifier "DAT_00083e98") (== "==") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          puVar14 = PTR_s_i386_0007b71c;\n        }" ({ "{") (expression_statement "puVar14 = PTR_s_i386_0007b71c;" (assignment_expression "puVar14 = PTR_s_i386_0007b71c" (identifier "puVar14") (= "=") (identifier "PTR_s_i386_0007b71c")) (; ";")) (} "}"))) (expression_statement "uVar5 = dcgettext(0,"`%s\' is not supported on `%s%s\'",5);" (assignment_expression "uVar5 = dcgettext(0,"`%s\' is not supported on `%s%s\'",5)" (identifier "uVar5") (= "=") (call_expression "dcgettext(0,"`%s\' is not supported on `%s%s\'",5)" (identifier "dcgettext") (argument_list "(0,"`%s\' is not supported on `%s%s\'",5)" (( "(") (number_literal "0") (, ",") (string_literal ""`%s\' is not supported on `%s%s\'"" (" """) (string_content "`%s") (escape_sequence "\'") (string_content " is not supported on `%s%s") (escape_sequence "\'") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_0002a980(uVar5,uVar6,puVar14,puVar12);" (call_expression "FUN_0002a980(uVar5,uVar6,puVar14,puVar12)" (identifier "FUN_0002a980") (argument_list "(uVar5,uVar6,puVar14,puVar12)" (( "(") (identifier "uVar5") (, ",") (identifier "uVar6") (, ",") (identifier "puVar14") (, ",") (identifier "puVar12") () ")"))) (; ";")) (} "}")))) (return_statement "return (byte *)0x0;" (return "return") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")) (; ";")) (} "}"))) (if_statement "if (DAT_00083f40 == (int *)0x0) {\nLAB_00045540:\n      if ((pcVar10 == pcVar15 + -2) && (pcVar10[1] == 's')) {\n        DAT_00084094 = 2;\nLAB_00045660:\n        *pcVar10 = '\0';\n        piVar9 = (int *)FUN_00024180(DAT_00083e60,param_2);\n        DAT_00083f40 = piVar9;\n        if (piVar9 == (int *)0x0) {\n          cVar4 = pcVar10[-1];\n          DAT_00083f40 = (int *)0x0;\n          pcVar15 = pcVar10;\n          piVar2 = (int *)0x0;\n          switch(cVar4) {\n          case 'b':\n          case 'q':\n            goto code_r0x000455ae;\n          default:\n            goto LAB_000451c0;\n          case 'd':\n            goto code_r0x000455fd;\n          case 'l':\n          case 's':\n            goto code_r0x000455e9;\n          case 'w':\n            goto code_r0x00045581;\n          }\n        }\n      }\n      else {\n        if (pcVar10 == pcVar15 + -3) {\n          if (pcVar10[1] == 'd') {\n            if (pcVar10[2] == '8') {\n              DAT_00084098 = 1;\n              goto LAB_00045660;\n            }\n            if (pcVar10 == pcVar15 + -4) goto LAB_000456b1;\n          }\n        }\n        else if ((pcVar10 == pcVar15 + -4) && (pcVar10[1] == 'd')) {\nLAB_000456b1:\n          if ((pcVar10[2] == '3') && (pcVar10[3] == '2')) {\n            DAT_00084098 = 2;\n            goto LAB_00045660;\n          }\n        }\n        cVar4 = pcVar15[-1];\n        piVar2 = DAT_00083f40;\n        piVar9 = DAT_00083f40;\n        switch(cVar4) {\n        case 'b':\n        case 'q':\n          break;\n        default:\n          goto LAB_000451c0;\n        case 'd':\ncode_r0x000455fd:\n          DAT_00083f40 = piVar9;\n          if (DAT_00083ed0 != 0) {\n            cVar4 = 'l';\n            if ((*param_2 == 'f') && (iVar8 = FUN_00043060(), iVar8 == 1)) {\n              cVar4 = 's';\n            }\n            break;\n          }\n          goto code_r0x000455d5;\n        case 'l':\n        case 's':\ncode_r0x000455e9:\n          DAT_00083f40 = piVar9;\n          if (DAT_00083ed0 != 0) goto code_r0x000455d5;\n          break;\n        case 'w':\ncode_r0x00045581:\n          cVar4 = 'w';\n          if ((DAT_00083ed0 != 0) && (*param_2 == 'f')) {\n            uVar11 = FUN_00043060();\n            cVar4 = (-((uVar11 & 2) == 0) & 4U) + 0x73;\n          }\n        }\ncode_r0x000455ae:\n        DAT_00083fb8 = cVar4;\n        pcVar15[-1] = '\0';\n        DAT_00083f40 = (int *)FUN_00024180(DAT_00083e60,param_2);\ncode_r0x000455d5:\n        piVar2 = DAT_00083f40;\n        if (DAT_00083f40 == (int *)0x0) {\nLAB_000451c0:\n          DAT_00083f40 = piVar2;\n          uVar6 = dcgettext(0,"no such instruction: `%s\'",5);\n          FUN_0002a980(uVar6,local_38);\n          return (byte *)0x0;\n        }\n      }\n      puVar16 = (undefined4 *)*DAT_00083f40;\n      bVar3 = *pbVar13;\nLAB_000454eb:\n      if ((*(byte *)(puVar16 + 9) & 0xa0) == 0) {\nLAB_00045532:\n        if (bVar3 != 0x2c) goto LAB_00045264;\n      }\n      else {\n        if (bVar3 != 0x2c) goto LAB_0004526c;\n        if (pbVar13[1] == 0x70) {\n          if (pbVar13[2] == 0x74) {\n            iVar8 = FUN_0003fd30();\n          }\n          else {\n            if (pbVar13[2] != 0x6e) goto LAB_00045222;\n            iVar8 = FUN_0003fd30();\n          }\n          if (iVar8 == 0) {\n            return (byte *)0x0;\n          }\n          bVar3 = pbVar13[3];\n          pbVar13 = pbVar13 + 3;\n          goto LAB_00045532;\n        }\n      }\nLAB_00045222:\n      uVar6 = FUN_00043af0();\n      uVar5 = dcgettext(0,"invalid character %s in mnemonic",5);\n      goto LAB_000451a1;\n    }" (if "if") (parenthesized_expression "(DAT_00083f40 == (int *)0x0)" (( "(") (binary_expression "DAT_00083f40 == (int *)0x0" (identifier "DAT_00083f40") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\nLAB_00045540:\n      if ((pcVar10 == pcVar15 + -2) && (pcVar10[1] == 's')) {\n        DAT_00084094 = 2;\nLAB_00045660:\n        *pcVar10 = '\0';\n        piVar9 = (int *)FUN_00024180(DAT_00083e60,param_2);\n        DAT_00083f40 = piVar9;\n        if (piVar9 == (int *)0x0) {\n          cVar4 = pcVar10[-1];\n          DAT_00083f40 = (int *)0x0;\n          pcVar15 = pcVar10;\n          piVar2 = (int *)0x0;\n          switch(cVar4) {\n          case 'b':\n          case 'q':\n            goto code_r0x000455ae;\n          default:\n            goto LAB_000451c0;\n          case 'd':\n            goto code_r0x000455fd;\n          case 'l':\n          case 's':\n            goto code_r0x000455e9;\n          case 'w':\n            goto code_r0x00045581;\n          }\n        }\n      }\n      else {\n        if (pcVar10 == pcVar15 + -3) {\n          if (pcVar10[1] == 'd') {\n            if (pcVar10[2] == '8') {\n              DAT_00084098 = 1;\n              goto LAB_00045660;\n            }\n            if (pcVar10 == pcVar15 + -4) goto LAB_000456b1;\n          }\n        }\n        else if ((pcVar10 == pcVar15 + -4) && (pcVar10[1] == 'd')) {\nLAB_000456b1:\n          if ((pcVar10[2] == '3') && (pcVar10[3] == '2')) {\n            DAT_00084098 = 2;\n            goto LAB_00045660;\n          }\n        }\n        cVar4 = pcVar15[-1];\n        piVar2 = DAT_00083f40;\n        piVar9 = DAT_00083f40;\n        switch(cVar4) {\n        case 'b':\n        case 'q':\n          break;\n        default:\n          goto LAB_000451c0;\n        case 'd':\ncode_r0x000455fd:\n          DAT_00083f40 = piVar9;\n          if (DAT_00083ed0 != 0) {\n            cVar4 = 'l';\n            if ((*param_2 == 'f') && (iVar8 = FUN_00043060(), iVar8 == 1)) {\n              cVar4 = 's';\n            }\n            break;\n          }\n          goto code_r0x000455d5;\n        case 'l':\n        case 's':\ncode_r0x000455e9:\n          DAT_00083f40 = piVar9;\n          if (DAT_00083ed0 != 0) goto code_r0x000455d5;\n          break;\n        case 'w':\ncode_r0x00045581:\n          cVar4 = 'w';\n          if ((DAT_00083ed0 != 0) && (*param_2 == 'f')) {\n            uVar11 = FUN_00043060();\n            cVar4 = (-((uVar11 & 2) == 0) & 4U) + 0x73;\n          }\n        }\ncode_r0x000455ae:\n        DAT_00083fb8 = cVar4;\n        pcVar15[-1] = '\0';\n        DAT_00083f40 = (int *)FUN_00024180(DAT_00083e60,param_2);\ncode_r0x000455d5:\n        piVar2 = DAT_00083f40;\n        if (DAT_00083f40 == (int *)0x0) {\nLAB_000451c0:\n          DAT_00083f40 = piVar2;\n          uVar6 = dcgettext(0,"no such instruction: `%s\'",5);\n          FUN_0002a980(uVar6,local_38);\n          return (byte *)0x0;\n        }\n      }\n      puVar16 = (undefined4 *)*DAT_00083f40;\n      bVar3 = *pbVar13;\nLAB_000454eb:\n      if ((*(byte *)(puVar16 + 9) & 0xa0) == 0) {\nLAB_00045532:\n        if (bVar3 != 0x2c) goto LAB_00045264;\n      }\n      else {\n        if (bVar3 != 0x2c) goto LAB_0004526c;\n        if (pbVar13[1] == 0x70) {\n          if (pbVar13[2] == 0x74) {\n            iVar8 = FUN_0003fd30();\n          }\n          else {\n            if (pbVar13[2] != 0x6e) goto LAB_00045222;\n            iVar8 = FUN_0003fd30();\n          }\n          if (iVar8 == 0) {\n            return (byte *)0x0;\n          }\n          bVar3 = pbVar13[3];\n          pbVar13 = pbVar13 + 3;\n          goto LAB_00045532;\n        }\n      }\nLAB_00045222:\n      uVar6 = FUN_00043af0();\n      uVar5 = dcgettext(0,"invalid character %s in mnemonic",5);\n      goto LAB_000451a1;\n    }" ({ "{") (labeled_statement "LAB_00045540:\n      if ((pcVar10 == pcVar15 + -2) && (pcVar10[1] == 's')) {\n        DAT_00084094 = 2;\nLAB_00045660:\n        *pcVar10 = '\0';\n        piVar9 = (int *)FUN_00024180(DAT_00083e60,param_2);\n        DAT_00083f40 = piVar9;\n        if (piVar9 == (int *)0x0) {\n          cVar4 = pcVar10[-1];\n          DAT_00083f40 = (int *)0x0;\n          pcVar15 = pcVar10;\n          piVar2 = (int *)0x0;\n          switch(cVar4) {\n          case 'b':\n          case 'q':\n            goto code_r0x000455ae;\n          default:\n            goto LAB_000451c0;\n          case 'd':\n            goto code_r0x000455fd;\n          case 'l':\n          case 's':\n            goto code_r0x000455e9;\n          case 'w':\n            goto code_r0x00045581;\n          }\n        }\n      }\n      else {\n        if (pcVar10 == pcVar15 + -3) {\n          if (pcVar10[1] == 'd') {\n            if (pcVar10[2] == '8') {\n              DAT_00084098 = 1;\n              goto LAB_00045660;\n            }\n            if (pcVar10 == pcVar15 + -4) goto LAB_000456b1;\n          }\n        }\n        else if ((pcVar10 == pcVar15 + -4) && (pcVar10[1] == 'd')) {\nLAB_000456b1:\n          if ((pcVar10[2] == '3') && (pcVar10[3] == '2')) {\n            DAT_00084098 = 2;\n            goto LAB_00045660;\n          }\n        }\n        cVar4 = pcVar15[-1];\n        piVar2 = DAT_00083f40;\n        piVar9 = DAT_00083f40;\n        switch(cVar4) {\n        case 'b':\n        case 'q':\n          break;\n        default:\n          goto LAB_000451c0;\n        case 'd':\ncode_r0x000455fd:\n          DAT_00083f40 = piVar9;\n          if (DAT_00083ed0 != 0) {\n            cVar4 = 'l';\n            if ((*param_2 == 'f') && (iVar8 = FUN_00043060(), iVar8 == 1)) {\n              cVar4 = 's';\n            }\n            break;\n          }\n          goto code_r0x000455d5;\n        case 'l':\n        case 's':\ncode_r0x000455e9:\n          DAT_00083f40 = piVar9;\n          if (DAT_00083ed0 != 0) goto code_r0x000455d5;\n          break;\n        case 'w':\ncode_r0x00045581:\n          cVar4 = 'w';\n          if ((DAT_00083ed0 != 0) && (*param_2 == 'f')) {\n            uVar11 = FUN_00043060();\n            cVar4 = (-((uVar11 & 2) == 0) & 4U) + 0x73;\n          }\n        }\ncode_r0x000455ae:\n        DAT_00083fb8 = cVar4;\n        pcVar15[-1] = '\0';\n        DAT_00083f40 = (int *)FUN_00024180(DAT_00083e60,param_2);\ncode_r0x000455d5:\n        piVar2 = DAT_00083f40;\n        if (DAT_00083f40 == (int *)0x0) {\nLAB_000451c0:\n          DAT_00083f40 = piVar2;\n          uVar6 = dcgettext(0,"no such instruction: `%s\'",5);\n          FUN_0002a980(uVar6,local_38);\n          return (byte *)0x0;\n        }\n      }" (statement_identifier "LAB_00045540") (: ":") (if_statement "if ((pcVar10 == pcVar15 + -2) && (pcVar10[1] == 's')) {\n        DAT_00084094 = 2;\nLAB_00045660:\n        *pcVar10 = '\0';\n        piVar9 = (int *)FUN_00024180(DAT_00083e60,param_2);\n        DAT_00083f40 = piVar9;\n        if (piVar9 == (int *)0x0) {\n          cVar4 = pcVar10[-1];\n          DAT_00083f40 = (int *)0x0;\n          pcVar15 = pcVar10;\n          piVar2 = (int *)0x0;\n          switch(cVar4) {\n          case 'b':\n          case 'q':\n            goto code_r0x000455ae;\n          default:\n            goto LAB_000451c0;\n          case 'd':\n            goto code_r0x000455fd;\n          case 'l':\n          case 's':\n            goto code_r0x000455e9;\n          case 'w':\n            goto code_r0x00045581;\n          }\n        }\n      }\n      else {\n        if (pcVar10 == pcVar15 + -3) {\n          if (pcVar10[1] == 'd') {\n            if (pcVar10[2] == '8') {\n              DAT_00084098 = 1;\n              goto LAB_00045660;\n            }\n            if (pcVar10 == pcVar15 + -4) goto LAB_000456b1;\n          }\n        }\n        else if ((pcVar10 == pcVar15 + -4) && (pcVar10[1] == 'd')) {\nLAB_000456b1:\n          if ((pcVar10[2] == '3') && (pcVar10[3] == '2')) {\n            DAT_00084098 = 2;\n            goto LAB_00045660;\n          }\n        }\n        cVar4 = pcVar15[-1];\n        piVar2 = DAT_00083f40;\n        piVar9 = DAT_00083f40;\n        switch(cVar4) {\n        case 'b':\n        case 'q':\n          break;\n        default:\n          goto LAB_000451c0;\n        case 'd':\ncode_r0x000455fd:\n          DAT_00083f40 = piVar9;\n          if (DAT_00083ed0 != 0) {\n            cVar4 = 'l';\n            if ((*param_2 == 'f') && (iVar8 = FUN_00043060(), iVar8 == 1)) {\n              cVar4 = 's';\n            }\n            break;\n          }\n          goto code_r0x000455d5;\n        case 'l':\n        case 's':\ncode_r0x000455e9:\n          DAT_00083f40 = piVar9;\n          if (DAT_00083ed0 != 0) goto code_r0x000455d5;\n          break;\n        case 'w':\ncode_r0x00045581:\n          cVar4 = 'w';\n          if ((DAT_00083ed0 != 0) && (*param_2 == 'f')) {\n            uVar11 = FUN_00043060();\n            cVar4 = (-((uVar11 & 2) == 0) & 4U) + 0x73;\n          }\n        }\ncode_r0x000455ae:\n        DAT_00083fb8 = cVar4;\n        pcVar15[-1] = '\0';\n        DAT_00083f40 = (int *)FUN_00024180(DAT_00083e60,param_2);\ncode_r0x000455d5:\n        piVar2 = DAT_00083f40;\n        if (DAT_00083f40 == (int *)0x0) {\nLAB_000451c0:\n          DAT_00083f40 = piVar2;\n          uVar6 = dcgettext(0,"no such instruction: `%s\'",5);\n          FUN_0002a980(uVar6,local_38);\n          return (byte *)0x0;\n        }\n      }" (if "if") (parenthesized_expression "((pcVar10 == pcVar15 + -2) && (pcVar10[1] == 's'))" (( "(") (binary_expression "(pcVar10 == pcVar15 + -2) && (pcVar10[1] == 's')" (parenthesized_expression "(pcVar10 == pcVar15 + -2)" (( "(") (binary_expression "pcVar10 == pcVar15 + -2" (identifier "pcVar10") (== "==") (binary_expression "pcVar15 + -2" (identifier "pcVar15") (+ "+") (number_literal "-2"))) () ")")) (&& "&&") (parenthesized_expression "(pcVar10[1] == 's')" (( "(") (binary_expression "pcVar10[1] == 's'" (subscript_expression "pcVar10[1]" (identifier "pcVar10") ([ "[") (number_literal "1") (] "]")) (== "==") (char_literal "'s'" (' "'") (character "s") (' "'"))) () ")"))) () ")")) (compound_statement "{\n        DAT_00084094 = 2;\nLAB_00045660:\n        *pcVar10 = '\0';\n        piVar9 = (int *)FUN_00024180(DAT_00083e60,param_2);\n        DAT_00083f40 = piVar9;\n        if (piVar9 == (int *)0x0) {\n          cVar4 = pcVar10[-1];\n          DAT_00083f40 = (int *)0x0;\n          pcVar15 = pcVar10;\n          piVar2 = (int *)0x0;\n          switch(cVar4) {\n          case 'b':\n          case 'q':\n            goto code_r0x000455ae;\n          default:\n            goto LAB_000451c0;\n          case 'd':\n            goto code_r0x000455fd;\n          case 'l':\n          case 's':\n            goto code_r0x000455e9;\n          case 'w':\n            goto code_r0x00045581;\n          }\n        }\n      }" ({ "{") (expression_statement "DAT_00084094 = 2;" (assignment_expression "DAT_00084094 = 2" (identifier "DAT_00084094") (= "=") (number_literal "2")) (; ";")) (labeled_statement "LAB_00045660:\n        *pcVar10 = '\0';" (statement_identifier "LAB_00045660") (: ":") (expression_statement "*pcVar10 = '\0';" (assignment_expression "*pcVar10 = '\0'" (pointer_expression "*pcVar10" (* "*") (identifier "pcVar10")) (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";"))) (expression_statement "piVar9 = (int *)FUN_00024180(DAT_00083e60,param_2);" (assignment_expression "piVar9 = (int *)FUN_00024180(DAT_00083e60,param_2)" (identifier "piVar9") (= "=") (cast_expression "(int *)FUN_00024180(DAT_00083e60,param_2)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00024180(DAT_00083e60,param_2)" (identifier "FUN_00024180") (argument_list "(DAT_00083e60,param_2)" (( "(") (identifier "DAT_00083e60") (, ",") (identifier "param_2") () ")"))))) (; ";")) (expression_statement "DAT_00083f40 = piVar9;" (assignment_expression "DAT_00083f40 = piVar9" (identifier "DAT_00083f40") (= "=") (identifier "piVar9")) (; ";")) (if_statement "if (piVar9 == (int *)0x0) {\n          cVar4 = pcVar10[-1];\n          DAT_00083f40 = (int *)0x0;\n          pcVar15 = pcVar10;\n          piVar2 = (int *)0x0;\n          switch(cVar4) {\n          case 'b':\n          case 'q':\n            goto code_r0x000455ae;\n          default:\n            goto LAB_000451c0;\n          case 'd':\n            goto code_r0x000455fd;\n          case 'l':\n          case 's':\n            goto code_r0x000455e9;\n          case 'w':\n            goto code_r0x00045581;\n          }\n        }" (if "if") (parenthesized_expression "(piVar9 == (int *)0x0)" (( "(") (binary_expression "piVar9 == (int *)0x0" (identifier "piVar9") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          cVar4 = pcVar10[-1];\n          DAT_00083f40 = (int *)0x0;\n          pcVar15 = pcVar10;\n          piVar2 = (int *)0x0;\n          switch(cVar4) {\n          case 'b':\n          case 'q':\n            goto code_r0x000455ae;\n          default:\n            goto LAB_000451c0;\n          case 'd':\n            goto code_r0x000455fd;\n          case 'l':\n          case 's':\n            goto code_r0x000455e9;\n          case 'w':\n            goto code_r0x00045581;\n          }\n        }" ({ "{") (expression_statement "cVar4 = pcVar10[-1];" (assignment_expression "cVar4 = pcVar10[-1]" (identifier "cVar4") (= "=") (subscript_expression "pcVar10[-1]" (identifier "pcVar10") ([ "[") (number_literal "-1") (] "]"))) (; ";")) (expression_statement "DAT_00083f40 = (int *)0x0;" (assignment_expression "DAT_00083f40 = (int *)0x0" (identifier "DAT_00083f40") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "pcVar15 = pcVar10;" (assignment_expression "pcVar15 = pcVar10" (identifier "pcVar15") (= "=") (identifier "pcVar10")) (; ";")) (expression_statement "piVar2 = (int *)0x0;" (assignment_expression "piVar2 = (int *)0x0" (identifier "piVar2") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (switch_statement "switch(cVar4) {\n          case 'b':\n          case 'q':\n            goto code_r0x000455ae;\n          default:\n            goto LAB_000451c0;\n          case 'd':\n            goto code_r0x000455fd;\n          case 'l':\n          case 's':\n            goto code_r0x000455e9;\n          case 'w':\n            goto code_r0x00045581;\n          }" (switch "switch") (parenthesized_expression "(cVar4)" (( "(") (identifier "cVar4") () ")")) (compound_statement "{\n          case 'b':\n          case 'q':\n            goto code_r0x000455ae;\n          default:\n            goto LAB_000451c0;\n          case 'd':\n            goto code_r0x000455fd;\n          case 'l':\n          case 's':\n            goto code_r0x000455e9;\n          case 'w':\n            goto code_r0x00045581;\n          }" ({ "{") (case_statement "case 'b':" (case "case") (char_literal "'b'" (' "'") (character "b") (' "'")) (: ":")) (case_statement "case 'q':\n            goto code_r0x000455ae;" (case "case") (char_literal "'q'" (' "'") (character "q") (' "'")) (: ":") (goto_statement "goto code_r0x000455ae;" (goto "goto") (statement_identifier "code_r0x000455ae") (; ";"))) (case_statement "default:\n            goto LAB_000451c0;" (default "default") (: ":") (goto_statement "goto LAB_000451c0;" (goto "goto") (statement_identifier "LAB_000451c0") (; ";"))) (case_statement "case 'd':\n            goto code_r0x000455fd;" (case "case") (char_literal "'d'" (' "'") (character "d") (' "'")) (: ":") (goto_statement "goto code_r0x000455fd;" (goto "goto") (statement_identifier "code_r0x000455fd") (; ";"))) (case_statement "case 'l':" (case "case") (char_literal "'l'" (' "'") (character "l") (' "'")) (: ":")) (case_statement "case 's':\n            goto code_r0x000455e9;" (case "case") (char_literal "'s'" (' "'") (character "s") (' "'")) (: ":") (goto_statement "goto code_r0x000455e9;" (goto "goto") (statement_identifier "code_r0x000455e9") (; ";"))) (case_statement "case 'w':\n            goto code_r0x00045581;" (case "case") (char_literal "'w'" (' "'") (character "w") (' "'")) (: ":") (goto_statement "goto code_r0x00045581;" (goto "goto") (statement_identifier "code_r0x00045581") (; ";"))) (} "}"))) (} "}"))) (} "}")) (else_clause "else {\n        if (pcVar10 == pcVar15 + -3) {\n          if (pcVar10[1] == 'd') {\n            if (pcVar10[2] == '8') {\n              DAT_00084098 = 1;\n              goto LAB_00045660;\n            }\n            if (pcVar10 == pcVar15 + -4) goto LAB_000456b1;\n          }\n        }\n        else if ((pcVar10 == pcVar15 + -4) && (pcVar10[1] == 'd')) {\nLAB_000456b1:\n          if ((pcVar10[2] == '3') && (pcVar10[3] == '2')) {\n            DAT_00084098 = 2;\n            goto LAB_00045660;\n          }\n        }\n        cVar4 = pcVar15[-1];\n        piVar2 = DAT_00083f40;\n        piVar9 = DAT_00083f40;\n        switch(cVar4) {\n        case 'b':\n        case 'q':\n          break;\n        default:\n          goto LAB_000451c0;\n        case 'd':\ncode_r0x000455fd:\n          DAT_00083f40 = piVar9;\n          if (DAT_00083ed0 != 0) {\n            cVar4 = 'l';\n            if ((*param_2 == 'f') && (iVar8 = FUN_00043060(), iVar8 == 1)) {\n              cVar4 = 's';\n            }\n            break;\n          }\n          goto code_r0x000455d5;\n        case 'l':\n        case 's':\ncode_r0x000455e9:\n          DAT_00083f40 = piVar9;\n          if (DAT_00083ed0 != 0) goto code_r0x000455d5;\n          break;\n        case 'w':\ncode_r0x00045581:\n          cVar4 = 'w';\n          if ((DAT_00083ed0 != 0) && (*param_2 == 'f')) {\n            uVar11 = FUN_00043060();\n            cVar4 = (-((uVar11 & 2) == 0) & 4U) + 0x73;\n          }\n        }\ncode_r0x000455ae:\n        DAT_00083fb8 = cVar4;\n        pcVar15[-1] = '\0';\n        DAT_00083f40 = (int *)FUN_00024180(DAT_00083e60,param_2);\ncode_r0x000455d5:\n        piVar2 = DAT_00083f40;\n        if (DAT_00083f40 == (int *)0x0) {\nLAB_000451c0:\n          DAT_00083f40 = piVar2;\n          uVar6 = dcgettext(0,"no such instruction: `%s\'",5);\n          FUN_0002a980(uVar6,local_38);\n          return (byte *)0x0;\n        }\n      }" (else "else") (compound_statement "{\n        if (pcVar10 == pcVar15 + -3) {\n          if (pcVar10[1] == 'd') {\n            if (pcVar10[2] == '8') {\n              DAT_00084098 = 1;\n              goto LAB_00045660;\n            }\n            if (pcVar10 == pcVar15 + -4) goto LAB_000456b1;\n          }\n        }\n        else if ((pcVar10 == pcVar15 + -4) && (pcVar10[1] == 'd')) {\nLAB_000456b1:\n          if ((pcVar10[2] == '3') && (pcVar10[3] == '2')) {\n            DAT_00084098 = 2;\n            goto LAB_00045660;\n          }\n        }\n        cVar4 = pcVar15[-1];\n        piVar2 = DAT_00083f40;\n        piVar9 = DAT_00083f40;\n        switch(cVar4) {\n        case 'b':\n        case 'q':\n          break;\n        default:\n          goto LAB_000451c0;\n        case 'd':\ncode_r0x000455fd:\n          DAT_00083f40 = piVar9;\n          if (DAT_00083ed0 != 0) {\n            cVar4 = 'l';\n            if ((*param_2 == 'f') && (iVar8 = FUN_00043060(), iVar8 == 1)) {\n              cVar4 = 's';\n            }\n            break;\n          }\n          goto code_r0x000455d5;\n        case 'l':\n        case 's':\ncode_r0x000455e9:\n          DAT_00083f40 = piVar9;\n          if (DAT_00083ed0 != 0) goto code_r0x000455d5;\n          break;\n        case 'w':\ncode_r0x00045581:\n          cVar4 = 'w';\n          if ((DAT_00083ed0 != 0) && (*param_2 == 'f')) {\n            uVar11 = FUN_00043060();\n            cVar4 = (-((uVar11 & 2) == 0) & 4U) + 0x73;\n          }\n        }\ncode_r0x000455ae:\n        DAT_00083fb8 = cVar4;\n        pcVar15[-1] = '\0';\n        DAT_00083f40 = (int *)FUN_00024180(DAT_00083e60,param_2);\ncode_r0x000455d5:\n        piVar2 = DAT_00083f40;\n        if (DAT_00083f40 == (int *)0x0) {\nLAB_000451c0:\n          DAT_00083f40 = piVar2;\n          uVar6 = dcgettext(0,"no such instruction: `%s\'",5);\n          FUN_0002a980(uVar6,local_38);\n          return (byte *)0x0;\n        }\n      }" ({ "{") (if_statement "if (pcVar10 == pcVar15 + -3) {\n          if (pcVar10[1] == 'd') {\n            if (pcVar10[2] == '8') {\n              DAT_00084098 = 1;\n              goto LAB_00045660;\n            }\n            if (pcVar10 == pcVar15 + -4) goto LAB_000456b1;\n          }\n        }\n        else if ((pcVar10 == pcVar15 + -4) && (pcVar10[1] == 'd')) {\nLAB_000456b1:\n          if ((pcVar10[2] == '3') && (pcVar10[3] == '2')) {\n            DAT_00084098 = 2;\n            goto LAB_00045660;\n          }\n        }" (if "if") (parenthesized_expression "(pcVar10 == pcVar15 + -3)" (( "(") (binary_expression "pcVar10 == pcVar15 + -3" (identifier "pcVar10") (== "==") (binary_expression "pcVar15 + -3" (identifier "pcVar15") (+ "+") (number_literal "-3"))) () ")")) (compound_statement "{\n          if (pcVar10[1] == 'd') {\n            if (pcVar10[2] == '8') {\n              DAT_00084098 = 1;\n              goto LAB_00045660;\n            }\n            if (pcVar10 == pcVar15 + -4) goto LAB_000456b1;\n          }\n        }" ({ "{") (if_statement "if (pcVar10[1] == 'd') {\n            if (pcVar10[2] == '8') {\n              DAT_00084098 = 1;\n              goto LAB_00045660;\n            }\n            if (pcVar10 == pcVar15 + -4) goto LAB_000456b1;\n          }" (if "if") (parenthesized_expression "(pcVar10[1] == 'd')" (( "(") (binary_expression "pcVar10[1] == 'd'" (subscript_expression "pcVar10[1]" (identifier "pcVar10") ([ "[") (number_literal "1") (] "]")) (== "==") (char_literal "'d'" (' "'") (character "d") (' "'"))) () ")")) (compound_statement "{\n            if (pcVar10[2] == '8') {\n              DAT_00084098 = 1;\n              goto LAB_00045660;\n            }\n            if (pcVar10 == pcVar15 + -4) goto LAB_000456b1;\n          }" ({ "{") (if_statement "if (pcVar10[2] == '8') {\n              DAT_00084098 = 1;\n              goto LAB_00045660;\n            }" (if "if") (parenthesized_expression "(pcVar10[2] == '8')" (( "(") (binary_expression "pcVar10[2] == '8'" (subscript_expression "pcVar10[2]" (identifier "pcVar10") ([ "[") (number_literal "2") (] "]")) (== "==") (char_literal "'8'" (' "'") (character "8") (' "'"))) () ")")) (compound_statement "{\n              DAT_00084098 = 1;\n              goto LAB_00045660;\n            }" ({ "{") (expression_statement "DAT_00084098 = 1;" (assignment_expression "DAT_00084098 = 1" (identifier "DAT_00084098") (= "=") (number_literal "1")) (; ";")) (goto_statement "goto LAB_00045660;" (goto "goto") (statement_identifier "LAB_00045660") (; ";")) (} "}"))) (if_statement "if (pcVar10 == pcVar15 + -4) goto LAB_000456b1;" (if "if") (parenthesized_expression "(pcVar10 == pcVar15 + -4)" (( "(") (binary_expression "pcVar10 == pcVar15 + -4" (identifier "pcVar10") (== "==") (binary_expression "pcVar15 + -4" (identifier "pcVar15") (+ "+") (number_literal "-4"))) () ")")) (goto_statement "goto LAB_000456b1;" (goto "goto") (statement_identifier "LAB_000456b1") (; ";"))) (} "}"))) (} "}")) (else_clause "else if ((pcVar10 == pcVar15 + -4) && (pcVar10[1] == 'd')) {\nLAB_000456b1:\n          if ((pcVar10[2] == '3') && (pcVar10[3] == '2')) {\n            DAT_00084098 = 2;\n            goto LAB_00045660;\n          }\n        }" (else "else") (if_statement "if ((pcVar10 == pcVar15 + -4) && (pcVar10[1] == 'd')) {\nLAB_000456b1:\n          if ((pcVar10[2] == '3') && (pcVar10[3] == '2')) {\n            DAT_00084098 = 2;\n            goto LAB_00045660;\n          }\n        }" (if "if") (parenthesized_expression "((pcVar10 == pcVar15 + -4) && (pcVar10[1] == 'd'))" (( "(") (binary_expression "(pcVar10 == pcVar15 + -4) && (pcVar10[1] == 'd')" (parenthesized_expression "(pcVar10 == pcVar15 + -4)" (( "(") (binary_expression "pcVar10 == pcVar15 + -4" (identifier "pcVar10") (== "==") (binary_expression "pcVar15 + -4" (identifier "pcVar15") (+ "+") (number_literal "-4"))) () ")")) (&& "&&") (parenthesized_expression "(pcVar10[1] == 'd')" (( "(") (binary_expression "pcVar10[1] == 'd'" (subscript_expression "pcVar10[1]" (identifier "pcVar10") ([ "[") (number_literal "1") (] "]")) (== "==") (char_literal "'d'" (' "'") (character "d") (' "'"))) () ")"))) () ")")) (compound_statement "{\nLAB_000456b1:\n          if ((pcVar10[2] == '3') && (pcVar10[3] == '2')) {\n            DAT_00084098 = 2;\n            goto LAB_00045660;\n          }\n        }" ({ "{") (labeled_statement "LAB_000456b1:\n          if ((pcVar10[2] == '3') && (pcVar10[3] == '2')) {\n            DAT_00084098 = 2;\n            goto LAB_00045660;\n          }" (statement_identifier "LAB_000456b1") (: ":") (if_statement "if ((pcVar10[2] == '3') && (pcVar10[3] == '2')) {\n            DAT_00084098 = 2;\n            goto LAB_00045660;\n          }" (if "if") (parenthesized_expression "((pcVar10[2] == '3') && (pcVar10[3] == '2'))" (( "(") (binary_expression "(pcVar10[2] == '3') && (pcVar10[3] == '2')" (parenthesized_expression "(pcVar10[2] == '3')" (( "(") (binary_expression "pcVar10[2] == '3'" (subscript_expression "pcVar10[2]" (identifier "pcVar10") ([ "[") (number_literal "2") (] "]")) (== "==") (char_literal "'3'" (' "'") (character "3") (' "'"))) () ")")) (&& "&&") (parenthesized_expression "(pcVar10[3] == '2')" (( "(") (binary_expression "pcVar10[3] == '2'" (subscript_expression "pcVar10[3]" (identifier "pcVar10") ([ "[") (number_literal "3") (] "]")) (== "==") (char_literal "'2'" (' "'") (character "2") (' "'"))) () ")"))) () ")")) (compound_statement "{\n            DAT_00084098 = 2;\n            goto LAB_00045660;\n          }" ({ "{") (expression_statement "DAT_00084098 = 2;" (assignment_expression "DAT_00084098 = 2" (identifier "DAT_00084098") (= "=") (number_literal "2")) (; ";")) (goto_statement "goto LAB_00045660;" (goto "goto") (statement_identifier "LAB_00045660") (; ";")) (} "}")))) (} "}"))))) (expression_statement "cVar4 = pcVar15[-1];" (assignment_expression "cVar4 = pcVar15[-1]" (identifier "cVar4") (= "=") (subscript_expression "pcVar15[-1]" (identifier "pcVar15") ([ "[") (number_literal "-1") (] "]"))) (; ";")) (expression_statement "piVar2 = DAT_00083f40;" (assignment_expression "piVar2 = DAT_00083f40" (identifier "piVar2") (= "=") (identifier "DAT_00083f40")) (; ";")) (expression_statement "piVar9 = DAT_00083f40;" (assignment_expression "piVar9 = DAT_00083f40" (identifier "piVar9") (= "=") (identifier "DAT_00083f40")) (; ";")) (switch_statement "switch(cVar4) {\n        case 'b':\n        case 'q':\n          break;\n        default:\n          goto LAB_000451c0;\n        case 'd':\ncode_r0x000455fd:\n          DAT_00083f40 = piVar9;\n          if (DAT_00083ed0 != 0) {\n            cVar4 = 'l';\n            if ((*param_2 == 'f') && (iVar8 = FUN_00043060(), iVar8 == 1)) {\n              cVar4 = 's';\n            }\n            break;\n          }\n          goto code_r0x000455d5;\n        case 'l':\n        case 's':\ncode_r0x000455e9:\n          DAT_00083f40 = piVar9;\n          if (DAT_00083ed0 != 0) goto code_r0x000455d5;\n          break;\n        case 'w':\ncode_r0x00045581:\n          cVar4 = 'w';\n          if ((DAT_00083ed0 != 0) && (*param_2 == 'f')) {\n            uVar11 = FUN_00043060();\n            cVar4 = (-((uVar11 & 2) == 0) & 4U) + 0x73;\n          }\n        }" (switch "switch") (parenthesized_expression "(cVar4)" (( "(") (identifier "cVar4") () ")")) (compound_statement "{\n        case 'b':\n        case 'q':\n          break;\n        default:\n          goto LAB_000451c0;\n        case 'd':\ncode_r0x000455fd:\n          DAT_00083f40 = piVar9;\n          if (DAT_00083ed0 != 0) {\n            cVar4 = 'l';\n            if ((*param_2 == 'f') && (iVar8 = FUN_00043060(), iVar8 == 1)) {\n              cVar4 = 's';\n            }\n            break;\n          }\n          goto code_r0x000455d5;\n        case 'l':\n        case 's':\ncode_r0x000455e9:\n          DAT_00083f40 = piVar9;\n          if (DAT_00083ed0 != 0) goto code_r0x000455d5;\n          break;\n        case 'w':\ncode_r0x00045581:\n          cVar4 = 'w';\n          if ((DAT_00083ed0 != 0) && (*param_2 == 'f')) {\n            uVar11 = FUN_00043060();\n            cVar4 = (-((uVar11 & 2) == 0) & 4U) + 0x73;\n          }\n        }" ({ "{") (case_statement "case 'b':" (case "case") (char_literal "'b'" (' "'") (character "b") (' "'")) (: ":")) (case_statement "case 'q':\n          break;" (case "case") (char_literal "'q'" (' "'") (character "q") (' "'")) (: ":") (break_statement "break;" (break "break") (; ";"))) (case_statement "default:\n          goto LAB_000451c0;" (default "default") (: ":") (goto_statement "goto LAB_000451c0;" (goto "goto") (statement_identifier "LAB_000451c0") (; ";"))) (case_statement "case 'd':\ncode_r0x000455fd:\n          DAT_00083f40 = piVar9;\n          if (DAT_00083ed0 != 0) {\n            cVar4 = 'l';\n            if ((*param_2 == 'f') && (iVar8 = FUN_00043060(), iVar8 == 1)) {\n              cVar4 = 's';\n            }\n            break;\n          }\n          goto code_r0x000455d5;" (case "case") (char_literal "'d'" (' "'") (character "d") (' "'")) (: ":") (labeled_statement "code_r0x000455fd:\n          DAT_00083f40 = piVar9;" (statement_identifier "code_r0x000455fd") (: ":") (expression_statement "DAT_00083f40 = piVar9;" (assignment_expression "DAT_00083f40 = piVar9" (identifier "DAT_00083f40") (= "=") (identifier "piVar9")) (; ";"))) (if_statement "if (DAT_00083ed0 != 0) {\n            cVar4 = 'l';\n            if ((*param_2 == 'f') && (iVar8 = FUN_00043060(), iVar8 == 1)) {\n              cVar4 = 's';\n            }\n            break;\n          }" (if "if") (parenthesized_expression "(DAT_00083ed0 != 0)" (( "(") (binary_expression "DAT_00083ed0 != 0" (identifier "DAT_00083ed0") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            cVar4 = 'l';\n            if ((*param_2 == 'f') && (iVar8 = FUN_00043060(), iVar8 == 1)) {\n              cVar4 = 's';\n            }\n            break;\n          }" ({ "{") (expression_statement "cVar4 = 'l';" (assignment_expression "cVar4 = 'l'" (identifier "cVar4") (= "=") (char_literal "'l'" (' "'") (character "l") (' "'"))) (; ";")) (if_statement "if ((*param_2 == 'f') && (iVar8 = FUN_00043060(), iVar8 == 1)) {\n              cVar4 = 's';\n            }" (if "if") (parenthesized_expression "((*param_2 == 'f') && (iVar8 = FUN_00043060(), iVar8 == 1))" (( "(") (binary_expression "(*param_2 == 'f') && (iVar8 = FUN_00043060(), iVar8 == 1)" (parenthesized_expression "(*param_2 == 'f')" (( "(") (binary_expression "*param_2 == 'f'" (pointer_expression "*param_2" (* "*") (identifier "param_2")) (== "==") (char_literal "'f'" (' "'") (character "f") (' "'"))) () ")")) (&& "&&") (parenthesized_expression "(iVar8 = FUN_00043060(), iVar8 == 1)" (( "(") (comma_expression "iVar8 = FUN_00043060(), iVar8 == 1" (assignment_expression "iVar8 = FUN_00043060()" (identifier "iVar8") (= "=") (call_expression "FUN_00043060()" (identifier "FUN_00043060") (argument_list "()" (( "(") () ")")))) (, ",") (binary_expression "iVar8 == 1" (identifier "iVar8") (== "==") (number_literal "1"))) () ")"))) () ")")) (compound_statement "{\n              cVar4 = 's';\n            }" ({ "{") (expression_statement "cVar4 = 's';" (assignment_expression "cVar4 = 's'" (identifier "cVar4") (= "=") (char_literal "'s'" (' "'") (character "s") (' "'"))) (; ";")) (} "}"))) (break_statement "break;" (break "break") (; ";")) (} "}"))) (goto_statement "goto code_r0x000455d5;" (goto "goto") (statement_identifier "code_r0x000455d5") (; ";"))) (case_statement "case 'l':" (case "case") (char_literal "'l'" (' "'") (character "l") (' "'")) (: ":")) (case_statement "case 's':\ncode_r0x000455e9:\n          DAT_00083f40 = piVar9;\n          if (DAT_00083ed0 != 0) goto code_r0x000455d5;\n          break;" (case "case") (char_literal "'s'" (' "'") (character "s") (' "'")) (: ":") (labeled_statement "code_r0x000455e9:\n          DAT_00083f40 = piVar9;" (statement_identifier "code_r0x000455e9") (: ":") (expression_statement "DAT_00083f40 = piVar9;" (assignment_expression "DAT_00083f40 = piVar9" (identifier "DAT_00083f40") (= "=") (identifier "piVar9")) (; ";"))) (if_statement "if (DAT_00083ed0 != 0) goto code_r0x000455d5;" (if "if") (parenthesized_expression "(DAT_00083ed0 != 0)" (( "(") (binary_expression "DAT_00083ed0 != 0" (identifier "DAT_00083ed0") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto code_r0x000455d5;" (goto "goto") (statement_identifier "code_r0x000455d5") (; ";"))) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 'w':\ncode_r0x00045581:\n          cVar4 = 'w';\n          if ((DAT_00083ed0 != 0) && (*param_2 == 'f')) {\n            uVar11 = FUN_00043060();\n            cVar4 = (-((uVar11 & 2) == 0) & 4U) + 0x73;\n          }" (case "case") (char_literal "'w'" (' "'") (character "w") (' "'")) (: ":") (labeled_statement "code_r0x00045581:\n          cVar4 = 'w';" (statement_identifier "code_r0x00045581") (: ":") (expression_statement "cVar4 = 'w';" (assignment_expression "cVar4 = 'w'" (identifier "cVar4") (= "=") (char_literal "'w'" (' "'") (character "w") (' "'"))) (; ";"))) (if_statement "if ((DAT_00083ed0 != 0) && (*param_2 == 'f')) {\n            uVar11 = FUN_00043060();\n            cVar4 = (-((uVar11 & 2) == 0) & 4U) + 0x73;\n          }" (if "if") (parenthesized_expression "((DAT_00083ed0 != 0) && (*param_2 == 'f'))" (( "(") (binary_expression "(DAT_00083ed0 != 0) && (*param_2 == 'f')" (parenthesized_expression "(DAT_00083ed0 != 0)" (( "(") (binary_expression "DAT_00083ed0 != 0" (identifier "DAT_00083ed0") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(*param_2 == 'f')" (( "(") (binary_expression "*param_2 == 'f'" (pointer_expression "*param_2" (* "*") (identifier "param_2")) (== "==") (char_literal "'f'" (' "'") (character "f") (' "'"))) () ")"))) () ")")) (compound_statement "{\n            uVar11 = FUN_00043060();\n            cVar4 = (-((uVar11 & 2) == 0) & 4U) + 0x73;\n          }" ({ "{") (expression_statement "uVar11 = FUN_00043060();" (assignment_expression "uVar11 = FUN_00043060()" (identifier "uVar11") (= "=") (call_expression "FUN_00043060()" (identifier "FUN_00043060") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "cVar4 = (-((uVar11 & 2) == 0) & 4U) + 0x73;" (assignment_expression "cVar4 = (-((uVar11 & 2) == 0) & 4U) + 0x73" (identifier "cVar4") (= "=") (binary_expression "(-((uVar11 & 2) == 0) & 4U) + 0x73" (parenthesized_expression "(-((uVar11 & 2) == 0) & 4U)" (( "(") (binary_expression "-((uVar11 & 2) == 0) & 4U" (unary_expression "-((uVar11 & 2) == 0)" (- "-") (parenthesized_expression "((uVar11 & 2) == 0)" (( "(") (binary_expression "(uVar11 & 2) == 0" (parenthesized_expression "(uVar11 & 2)" (( "(") (binary_expression "uVar11 & 2" (identifier "uVar11") (& "&") (number_literal "2")) () ")")) (== "==") (number_literal "0")) () ")"))) (& "&") (number_literal "4U")) () ")")) (+ "+") (number_literal "0x73"))) (; ";")) (} "}")))) (} "}"))) (labeled_statement "code_r0x000455ae:\n        DAT_00083fb8 = cVar4;" (statement_identifier "code_r0x000455ae") (: ":") (expression_statement "DAT_00083fb8 = cVar4;" (assignment_expression "DAT_00083fb8 = cVar4" (identifier "DAT_00083fb8") (= "=") (identifier "cVar4")) (; ";"))) (expression_statement "pcVar15[-1] = '\0';" (assignment_expression "pcVar15[-1] = '\0'" (subscript_expression "pcVar15[-1]" (identifier "pcVar15") ([ "[") (number_literal "-1") (] "]")) (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (expression_statement "DAT_00083f40 = (int *)FUN_00024180(DAT_00083e60,param_2);" (assignment_expression "DAT_00083f40 = (int *)FUN_00024180(DAT_00083e60,param_2)" (identifier "DAT_00083f40") (= "=") (cast_expression "(int *)FUN_00024180(DAT_00083e60,param_2)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00024180(DAT_00083e60,param_2)" (identifier "FUN_00024180") (argument_list "(DAT_00083e60,param_2)" (( "(") (identifier "DAT_00083e60") (, ",") (identifier "param_2") () ")"))))) (; ";")) (labeled_statement "code_r0x000455d5:\n        piVar2 = DAT_00083f40;" (statement_identifier "code_r0x000455d5") (: ":") (expression_statement "piVar2 = DAT_00083f40;" (assignment_expression "piVar2 = DAT_00083f40" (identifier "piVar2") (= "=") (identifier "DAT_00083f40")) (; ";"))) (if_statement "if (DAT_00083f40 == (int *)0x0) {\nLAB_000451c0:\n          DAT_00083f40 = piVar2;\n          uVar6 = dcgettext(0,"no such instruction: `%s\'",5);\n          FUN_0002a980(uVar6,local_38);\n          return (byte *)0x0;\n        }" (if "if") (parenthesized_expression "(DAT_00083f40 == (int *)0x0)" (( "(") (binary_expression "DAT_00083f40 == (int *)0x0" (identifier "DAT_00083f40") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\nLAB_000451c0:\n          DAT_00083f40 = piVar2;\n          uVar6 = dcgettext(0,"no such instruction: `%s\'",5);\n          FUN_0002a980(uVar6,local_38);\n          return (byte *)0x0;\n        }" ({ "{") (labeled_statement "LAB_000451c0:\n          DAT_00083f40 = piVar2;" (statement_identifier "LAB_000451c0") (: ":") (expression_statement "DAT_00083f40 = piVar2;" (assignment_expression "DAT_00083f40 = piVar2" (identifier "DAT_00083f40") (= "=") (identifier "piVar2")) (; ";"))) (expression_statement "uVar6 = dcgettext(0,"no such instruction: `%s\'",5);" (assignment_expression "uVar6 = dcgettext(0,"no such instruction: `%s\'",5)" (identifier "uVar6") (= "=") (call_expression "dcgettext(0,"no such instruction: `%s\'",5)" (identifier "dcgettext") (argument_list "(0,"no such instruction: `%s\'",5)" (( "(") (number_literal "0") (, ",") (string_literal ""no such instruction: `%s\'"" (" """) (string_content "no such instruction: `%s") (escape_sequence "\'") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_0002a980(uVar6,local_38);" (call_expression "FUN_0002a980(uVar6,local_38)" (identifier "FUN_0002a980") (argument_list "(uVar6,local_38)" (( "(") (identifier "uVar6") (, ",") (identifier "local_38") () ")"))) (; ";")) (return_statement "return (byte *)0x0;" (return "return") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")) (; ";")) (} "}"))) (} "}"))))) (expression_statement "puVar16 = (undefined4 *)*DAT_00083f40;" (assignment_expression "puVar16 = (undefined4 *)*DAT_00083f40" (identifier "puVar16") (= "=") (cast_expression "(undefined4 *)*DAT_00083f40" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*DAT_00083f40" (* "*") (identifier "DAT_00083f40")))) (; ";")) (expression_statement "bVar3 = *pbVar13;" (assignment_expression "bVar3 = *pbVar13" (identifier "bVar3") (= "=") (pointer_expression "*pbVar13" (* "*") (identifier "pbVar13"))) (; ";")) (labeled_statement "LAB_000454eb:\n      if ((*(byte *)(puVar16 + 9) & 0xa0) == 0) {\nLAB_00045532:\n        if (bVar3 != 0x2c) goto LAB_00045264;\n      }\n      else {\n        if (bVar3 != 0x2c) goto LAB_0004526c;\n        if (pbVar13[1] == 0x70) {\n          if (pbVar13[2] == 0x74) {\n            iVar8 = FUN_0003fd30();\n          }\n          else {\n            if (pbVar13[2] != 0x6e) goto LAB_00045222;\n            iVar8 = FUN_0003fd30();\n          }\n          if (iVar8 == 0) {\n            return (byte *)0x0;\n          }\n          bVar3 = pbVar13[3];\n          pbVar13 = pbVar13 + 3;\n          goto LAB_00045532;\n        }\n      }" (statement_identifier "LAB_000454eb") (: ":") (if_statement "if ((*(byte *)(puVar16 + 9) & 0xa0) == 0) {\nLAB_00045532:\n        if (bVar3 != 0x2c) goto LAB_00045264;\n      }\n      else {\n        if (bVar3 != 0x2c) goto LAB_0004526c;\n        if (pbVar13[1] == 0x70) {\n          if (pbVar13[2] == 0x74) {\n            iVar8 = FUN_0003fd30();\n          }\n          else {\n            if (pbVar13[2] != 0x6e) goto LAB_00045222;\n            iVar8 = FUN_0003fd30();\n          }\n          if (iVar8 == 0) {\n            return (byte *)0x0;\n          }\n          bVar3 = pbVar13[3];\n          pbVar13 = pbVar13 + 3;\n          goto LAB_00045532;\n        }\n      }" (if "if") (parenthesized_expression "((*(byte *)(puVar16 + 9) & 0xa0) == 0)" (( "(") (binary_expression "(*(byte *)(puVar16 + 9) & 0xa0) == 0" (parenthesized_expression "(*(byte *)(puVar16 + 9) & 0xa0)" (( "(") (binary_expression "*(byte *)(puVar16 + 9) & 0xa0" (pointer_expression "*(byte *)(puVar16 + 9)" (* "*") (cast_expression "(byte *)(puVar16 + 9)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + 9)" (( "(") (binary_expression "puVar16 + 9" (identifier "puVar16") (+ "+") (number_literal "9")) () ")")))) (& "&") (number_literal "0xa0")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_00045532:\n        if (bVar3 != 0x2c) goto LAB_00045264;\n      }" ({ "{") (labeled_statement "LAB_00045532:\n        if (bVar3 != 0x2c) goto LAB_00045264;" (statement_identifier "LAB_00045532") (: ":") (if_statement "if (bVar3 != 0x2c) goto LAB_00045264;" (if "if") (parenthesized_expression "(bVar3 != 0x2c)" (( "(") (binary_expression "bVar3 != 0x2c" (identifier "bVar3") (!= "!=") (number_literal "0x2c")) () ")")) (goto_statement "goto LAB_00045264;" (goto "goto") (statement_identifier "LAB_00045264") (; ";")))) (} "}")) (else_clause "else {\n        if (bVar3 != 0x2c) goto LAB_0004526c;\n        if (pbVar13[1] == 0x70) {\n          if (pbVar13[2] == 0x74) {\n            iVar8 = FUN_0003fd30();\n          }\n          else {\n            if (pbVar13[2] != 0x6e) goto LAB_00045222;\n            iVar8 = FUN_0003fd30();\n          }\n          if (iVar8 == 0) {\n            return (byte *)0x0;\n          }\n          bVar3 = pbVar13[3];\n          pbVar13 = pbVar13 + 3;\n          goto LAB_00045532;\n        }\n      }" (else "else") (compound_statement "{\n        if (bVar3 != 0x2c) goto LAB_0004526c;\n        if (pbVar13[1] == 0x70) {\n          if (pbVar13[2] == 0x74) {\n            iVar8 = FUN_0003fd30();\n          }\n          else {\n            if (pbVar13[2] != 0x6e) goto LAB_00045222;\n            iVar8 = FUN_0003fd30();\n          }\n          if (iVar8 == 0) {\n            return (byte *)0x0;\n          }\n          bVar3 = pbVar13[3];\n          pbVar13 = pbVar13 + 3;\n          goto LAB_00045532;\n        }\n      }" ({ "{") (if_statement "if (bVar3 != 0x2c) goto LAB_0004526c;" (if "if") (parenthesized_expression "(bVar3 != 0x2c)" (( "(") (binary_expression "bVar3 != 0x2c" (identifier "bVar3") (!= "!=") (number_literal "0x2c")) () ")")) (goto_statement "goto LAB_0004526c;" (goto "goto") (statement_identifier "LAB_0004526c") (; ";"))) (if_statement "if (pbVar13[1] == 0x70) {\n          if (pbVar13[2] == 0x74) {\n            iVar8 = FUN_0003fd30();\n          }\n          else {\n            if (pbVar13[2] != 0x6e) goto LAB_00045222;\n            iVar8 = FUN_0003fd30();\n          }\n          if (iVar8 == 0) {\n            return (byte *)0x0;\n          }\n          bVar3 = pbVar13[3];\n          pbVar13 = pbVar13 + 3;\n          goto LAB_00045532;\n        }" (if "if") (parenthesized_expression "(pbVar13[1] == 0x70)" (( "(") (binary_expression "pbVar13[1] == 0x70" (subscript_expression "pbVar13[1]" (identifier "pbVar13") ([ "[") (number_literal "1") (] "]")) (== "==") (number_literal "0x70")) () ")")) (compound_statement "{\n          if (pbVar13[2] == 0x74) {\n            iVar8 = FUN_0003fd30();\n          }\n          else {\n            if (pbVar13[2] != 0x6e) goto LAB_00045222;\n            iVar8 = FUN_0003fd30();\n          }\n          if (iVar8 == 0) {\n            return (byte *)0x0;\n          }\n          bVar3 = pbVar13[3];\n          pbVar13 = pbVar13 + 3;\n          goto LAB_00045532;\n        }" ({ "{") (if_statement "if (pbVar13[2] == 0x74) {\n            iVar8 = FUN_0003fd30();\n          }\n          else {\n            if (pbVar13[2] != 0x6e) goto LAB_00045222;\n            iVar8 = FUN_0003fd30();\n          }" (if "if") (parenthesized_expression "(pbVar13[2] == 0x74)" (( "(") (binary_expression "pbVar13[2] == 0x74" (subscript_expression "pbVar13[2]" (identifier "pbVar13") ([ "[") (number_literal "2") (] "]")) (== "==") (number_literal "0x74")) () ")")) (compound_statement "{\n            iVar8 = FUN_0003fd30();\n          }" ({ "{") (expression_statement "iVar8 = FUN_0003fd30();" (assignment_expression "iVar8 = FUN_0003fd30()" (identifier "iVar8") (= "=") (call_expression "FUN_0003fd30()" (identifier "FUN_0003fd30") (argument_list "()" (( "(") () ")")))) (; ";")) (} "}")) (else_clause "else {\n            if (pbVar13[2] != 0x6e) goto LAB_00045222;\n            iVar8 = FUN_0003fd30();\n          }" (else "else") (compound_statement "{\n            if (pbVar13[2] != 0x6e) goto LAB_00045222;\n            iVar8 = FUN_0003fd30();\n          }" ({ "{") (if_statement "if (pbVar13[2] != 0x6e) goto LAB_00045222;" (if "if") (parenthesized_expression "(pbVar13[2] != 0x6e)" (( "(") (binary_expression "pbVar13[2] != 0x6e" (subscript_expression "pbVar13[2]" (identifier "pbVar13") ([ "[") (number_literal "2") (] "]")) (!= "!=") (number_literal "0x6e")) () ")")) (goto_statement "goto LAB_00045222;" (goto "goto") (statement_identifier "LAB_00045222") (; ";"))) (expression_statement "iVar8 = FUN_0003fd30();" (assignment_expression "iVar8 = FUN_0003fd30()" (identifier "iVar8") (= "=") (call_expression "FUN_0003fd30()" (identifier "FUN_0003fd30") (argument_list "()" (( "(") () ")")))) (; ";")) (} "}")))) (if_statement "if (iVar8 == 0) {\n            return (byte *)0x0;\n          }" (if "if") (parenthesized_expression "(iVar8 == 0)" (( "(") (binary_expression "iVar8 == 0" (identifier "iVar8") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            return (byte *)0x0;\n          }" ({ "{") (return_statement "return (byte *)0x0;" (return "return") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")) (; ";")) (} "}"))) (expression_statement "bVar3 = pbVar13[3];" (assignment_expression "bVar3 = pbVar13[3]" (identifier "bVar3") (= "=") (subscript_expression "pbVar13[3]" (identifier "pbVar13") ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "pbVar13 = pbVar13 + 3;" (assignment_expression "pbVar13 = pbVar13 + 3" (identifier "pbVar13") (= "=") (binary_expression "pbVar13 + 3" (identifier "pbVar13") (+ "+") (number_literal "3"))) (; ";")) (goto_statement "goto LAB_00045532;" (goto "goto") (statement_identifier "LAB_00045532") (; ";")) (} "}"))) (} "}"))))) (labeled_statement "LAB_00045222:\n      uVar6 = FUN_00043af0();" (statement_identifier "LAB_00045222") (: ":") (expression_statement "uVar6 = FUN_00043af0();" (assignment_expression "uVar6 = FUN_00043af0()" (identifier "uVar6") (= "=") (call_expression "FUN_00043af0()" (identifier "FUN_00043af0") (argument_list "()" (( "(") () ")")))) (; ";"))) (expression_statement "uVar5 = dcgettext(0,"invalid character %s in mnemonic",5);" (assignment_expression "uVar5 = dcgettext(0,"invalid character %s in mnemonic",5)" (identifier "uVar5") (= "=") (call_expression "dcgettext(0,"invalid character %s in mnemonic",5)" (identifier "dcgettext") (argument_list "(0,"invalid character %s in mnemonic",5)" (( "(") (number_literal "0") (, ",") (string_literal ""invalid character %s in mnemonic"" (" """) (string_content "invalid character %s in mnemonic") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (goto_statement "goto LAB_000451a1;" (goto "goto") (statement_identifier "LAB_000451a1") (; ";")) (} "}"))) (expression_statement "puVar16 = (undefined4 *)*DAT_00083f40;" (assignment_expression "puVar16 = (undefined4 *)*DAT_00083f40" (identifier "puVar16") (= "=") (cast_expression "(undefined4 *)*DAT_00083f40" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*DAT_00083f40" (* "*") (identifier "DAT_00083f40")))) (; ";")) (if_statement "if ((*(byte *)(puVar16 + 10) & 0x10) == 0) goto LAB_000454eb;" (if "if") (parenthesized_expression "((*(byte *)(puVar16 + 10) & 0x10) == 0)" (( "(") (binary_expression "(*(byte *)(puVar16 + 10) & 0x10) == 0" (parenthesized_expression "(*(byte *)(puVar16 + 10) & 0x10)" (( "(") (binary_expression "*(byte *)(puVar16 + 10) & 0x10" (pointer_expression "*(byte *)(puVar16 + 10)" (* "*") (cast_expression "(byte *)(puVar16 + 10)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + 10)" (( "(") (binary_expression "puVar16 + 10" (identifier "puVar16") (+ "+") (number_literal "10")) () ")")))) (& "&") (number_literal "0x10")) () ")")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_000454eb;" (goto "goto") (statement_identifier "LAB_000454eb") (; ";"))) (expression_statement "local_20 = (char)puVar16[8];" (assignment_expression "local_20 = (char)puVar16[8]" (identifier "local_20") (= "=") (cast_expression "(char)puVar16[8]" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (subscript_expression "puVar16[8]" (identifier "puVar16") ([ "[") (number_literal "8") (] "]")))) (; ";")) (if_statement "if (DAT_00083ee8 == 2) {\n      if (local_20 < '\0') {\n        uVar6 = *puVar16;\n        goto LAB_00045352;\n      }\n    }\n    else {\n      if ((puVar16[8] & 0x40) != 0) {\n        uVar6 = *puVar16;\n        goto LAB_00045188;\n      }\n      if (((*(byte *)((int)puVar16 + 0x25) & 0x18) != 0) &&\n         ((bool)(*(byte *)((int)puVar16 + 0x25) >> 4 & 1) != (DAT_00083ee8 == 1))) {\n        uVar6 = *puVar16;\n        uVar5 = dcgettext(0,"redundant %s prefix",5);\n        FUN_0002a980(uVar5,uVar6);\n        return (byte *)0x0;\n      }\n    }" (if "if") (parenthesized_expression "(DAT_00083ee8 == 2)" (( "(") (binary_expression "DAT_00083ee8 == 2" (identifier "DAT_00083ee8") (== "==") (number_literal "2")) () ")")) (compound_statement "{\n      if (local_20 < '\0') {\n        uVar6 = *puVar16;\n        goto LAB_00045352;\n      }\n    }" ({ "{") (if_statement "if (local_20 < '\0') {\n        uVar6 = *puVar16;\n        goto LAB_00045352;\n      }" (if "if") (parenthesized_expression "(local_20 < '\0')" (( "(") (binary_expression "local_20 < '\0'" (identifier "local_20") (< "<") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n        uVar6 = *puVar16;\n        goto LAB_00045352;\n      }" ({ "{") (expression_statement "uVar6 = *puVar16;" (assignment_expression "uVar6 = *puVar16" (identifier "uVar6") (= "=") (pointer_expression "*puVar16" (* "*") (identifier "puVar16"))) (; ";")) (goto_statement "goto LAB_00045352;" (goto "goto") (statement_identifier "LAB_00045352") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n      if ((puVar16[8] & 0x40) != 0) {\n        uVar6 = *puVar16;\n        goto LAB_00045188;\n      }\n      if (((*(byte *)((int)puVar16 + 0x25) & 0x18) != 0) &&\n         ((bool)(*(byte *)((int)puVar16 + 0x25) >> 4 & 1) != (DAT_00083ee8 == 1))) {\n        uVar6 = *puVar16;\n        uVar5 = dcgettext(0,"redundant %s prefix",5);\n        FUN_0002a980(uVar5,uVar6);\n        return (byte *)0x0;\n      }\n    }" (else "else") (compound_statement "{\n      if ((puVar16[8] & 0x40) != 0) {\n        uVar6 = *puVar16;\n        goto LAB_00045188;\n      }\n      if (((*(byte *)((int)puVar16 + 0x25) & 0x18) != 0) &&\n         ((bool)(*(byte *)((int)puVar16 + 0x25) >> 4 & 1) != (DAT_00083ee8 == 1))) {\n        uVar6 = *puVar16;\n        uVar5 = dcgettext(0,"redundant %s prefix",5);\n        FUN_0002a980(uVar5,uVar6);\n        return (byte *)0x0;\n      }\n    }" ({ "{") (if_statement "if ((puVar16[8] & 0x40) != 0) {\n        uVar6 = *puVar16;\n        goto LAB_00045188;\n      }" (if "if") (parenthesized_expression "((puVar16[8] & 0x40) != 0)" (( "(") (binary_expression "(puVar16[8] & 0x40) != 0" (parenthesized_expression "(puVar16[8] & 0x40)" (( "(") (binary_expression "puVar16[8] & 0x40" (subscript_expression "puVar16[8]" (identifier "puVar16") ([ "[") (number_literal "8") (] "]")) (& "&") (number_literal "0x40")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        uVar6 = *puVar16;\n        goto LAB_00045188;\n      }" ({ "{") (expression_statement "uVar6 = *puVar16;" (assignment_expression "uVar6 = *puVar16" (identifier "uVar6") (= "=") (pointer_expression "*puVar16" (* "*") (identifier "puVar16"))) (; ";")) (goto_statement "goto LAB_00045188;" (goto "goto") (statement_identifier "LAB_00045188") (; ";")) (} "}"))) (if_statement "if (((*(byte *)((int)puVar16 + 0x25) & 0x18) != 0) &&\n         ((bool)(*(byte *)((int)puVar16 + 0x25) >> 4 & 1) != (DAT_00083ee8 == 1))) {\n        uVar6 = *puVar16;\n        uVar5 = dcgettext(0,"redundant %s prefix",5);\n        FUN_0002a980(uVar5,uVar6);\n        return (byte *)0x0;\n      }" (if "if") (parenthesized_expression "(((*(byte *)((int)puVar16 + 0x25) & 0x18) != 0) &&\n         ((bool)(*(byte *)((int)puVar16 + 0x25) >> 4 & 1) != (DAT_00083ee8 == 1)))" (( "(") (binary_expression "((*(byte *)((int)puVar16 + 0x25) & 0x18) != 0) &&\n         ((bool)(*(byte *)((int)puVar16 + 0x25) >> 4 & 1) != (DAT_00083ee8 == 1))" (parenthesized_expression "((*(byte *)((int)puVar16 + 0x25) & 0x18) != 0)" (( "(") (binary_expression "(*(byte *)((int)puVar16 + 0x25) & 0x18) != 0" (parenthesized_expression "(*(byte *)((int)puVar16 + 0x25) & 0x18)" (( "(") (binary_expression "*(byte *)((int)puVar16 + 0x25) & 0x18" (pointer_expression "*(byte *)((int)puVar16 + 0x25)" (* "*") (cast_expression "(byte *)((int)puVar16 + 0x25)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar16 + 0x25)" (( "(") (binary_expression "(int)puVar16 + 0x25" (cast_expression "(int)puVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar16")) (+ "+") (number_literal "0x25")) () ")")))) (& "&") (number_literal "0x18")) () ")")) (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "((bool)(*(byte *)((int)puVar16 + 0x25) >> 4 & 1) != (DAT_00083ee8 == 1))" (( "(") (binary_expression "(bool)(*(byte *)((int)puVar16 + 0x25) >> 4 & 1) != (DAT_00083ee8 == 1)" (cast_expression "(bool)(*(byte *)((int)puVar16 + 0x25) >> 4 & 1)" (( "(") (type_descriptor "bool" (primitive_type "bool")) () ")") (parenthesized_expression "(*(byte *)((int)puVar16 + 0x25) >> 4 & 1)" (( "(") (binary_expression "*(byte *)((int)puVar16 + 0x25) >> 4 & 1" (binary_expression "*(byte *)((int)puVar16 + 0x25) >> 4" (pointer_expression "*(byte *)((int)puVar16 + 0x25)" (* "*") (cast_expression "(byte *)((int)puVar16 + 0x25)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar16 + 0x25)" (( "(") (binary_expression "(int)puVar16 + 0x25" (cast_expression "(int)puVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar16")) (+ "+") (number_literal "0x25")) () ")")))) (>> ">>") (number_literal "4")) (& "&") (number_literal "1")) () ")"))) (!= "!=") (parenthesized_expression "(DAT_00083ee8 == 1)" (( "(") (binary_expression "DAT_00083ee8 == 1" (identifier "DAT_00083ee8") (== "==") (number_literal "1")) () ")"))) () ")"))) () ")")) (compound_statement "{\n        uVar6 = *puVar16;\n        uVar5 = dcgettext(0,"redundant %s prefix",5);\n        FUN_0002a980(uVar5,uVar6);\n        return (byte *)0x0;\n      }" ({ "{") (expression_statement "uVar6 = *puVar16;" (assignment_expression "uVar6 = *puVar16" (identifier "uVar6") (= "=") (pointer_expression "*puVar16" (* "*") (identifier "puVar16"))) (; ";")) (expression_statement "uVar5 = dcgettext(0,"redundant %s prefix",5);" (assignment_expression "uVar5 = dcgettext(0,"redundant %s prefix",5)" (identifier "uVar5") (= "=") (call_expression "dcgettext(0,"redundant %s prefix",5)" (identifier "dcgettext") (argument_list "(0,"redundant %s prefix",5)" (( "(") (number_literal "0") (, ",") (string_literal ""redundant %s prefix"" (" """) (string_content "redundant %s prefix") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_0002a980(uVar5,uVar6);" (call_expression "FUN_0002a980(uVar5,uVar6)" (identifier "FUN_0002a980") (argument_list "(uVar5,uVar6)" (( "(") (identifier "uVar5") (, ",") (identifier "uVar6") () ")"))) (; ";")) (return_statement "return (byte *)0x0;" (return "return") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")) (; ";")) (} "}"))) (} "}")))) (if_statement "if (*(char *)(puVar16 + 4) == '\0') {\n      uVar6 = DAT_000840a8;\n      uVar5 = DAT_000840ac;\n      switch(puVar16[2]) {\n      case 0:\n        DAT_00084098 = 1;\n        break;\n      case 1:\n        DAT_00084098 = 2;\n        break;\n      case 2:\n        DAT_00084094 = 1;\n        break;\n      case 3:\n        DAT_00084094 = 2;\n        break;\n      case 4:\n        DAT_000840a4 = 1;\n        break;\n      case 5:\n        DAT_000840a4 = 2;\n        break;\n      case 6:\n        DAT_000840a4 = 3;\n        break;\n      case 7:\n        uRam0008409c = 1;\n        break;\n      case 8:\n        uRam000840a0 = 1;\n        break;\n      default:\n                    \n        FUN_0002aaa0("../../gas/config/tc-i386.c",0x1127,"parse_insn",pbVar13);\n      }\n    }\n    else {\n      iVar8 = FUN_0003fd30();\n      uVar6 = DAT_000840a8;\n      uVar5 = DAT_000840ac;\n      if (iVar8 == 2) {\n        puVar16 = (undefined4 *)*DAT_00083f40;\n        uVar1 = *puVar16;\n        uVar5 = uVar1;\n        if (((*(byte *)((int)puVar16 + 0x1b) & 0x10) == 0) &&\n           (uVar6 = uVar1, uVar5 = DAT_000840ac, (*(byte *)(puVar16 + 7) & 1) != 0)) {\n          uVar6 = DAT_000840a8;\n          DAT_000840b0 = uVar1;\n        }\n      }\n      else if (iVar8 == 3) {\n        if ((*(byte *)(*DAT_00083f40 + 0x1f) & 8) != 0) {\n          DAT_000840b4 = *(undefined4 *)*DAT_00083f40;\n        }\n      }\n      else if (iVar8 == 0) {\n        return (byte *)0x0;\n      }\n    }" (if "if") (parenthesized_expression "(*(char *)(puVar16 + 4) == '\0')" (( "(") (binary_expression "*(char *)(puVar16 + 4) == '\0'" (pointer_expression "*(char *)(puVar16 + 4)" (* "*") (cast_expression "(char *)(puVar16 + 4)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + 4)" (( "(") (binary_expression "puVar16 + 4" (identifier "puVar16") (+ "+") (number_literal "4")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n      uVar6 = DAT_000840a8;\n      uVar5 = DAT_000840ac;\n      switch(puVar16[2]) {\n      case 0:\n        DAT_00084098 = 1;\n        break;\n      case 1:\n        DAT_00084098 = 2;\n        break;\n      case 2:\n        DAT_00084094 = 1;\n        break;\n      case 3:\n        DAT_00084094 = 2;\n        break;\n      case 4:\n        DAT_000840a4 = 1;\n        break;\n      case 5:\n        DAT_000840a4 = 2;\n        break;\n      case 6:\n        DAT_000840a4 = 3;\n        break;\n      case 7:\n        uRam0008409c = 1;\n        break;\n      case 8:\n        uRam000840a0 = 1;\n        break;\n      default:\n                    \n        FUN_0002aaa0("../../gas/config/tc-i386.c",0x1127,"parse_insn",pbVar13);\n      }\n    }" ({ "{") (expression_statement "uVar6 = DAT_000840a8;" (assignment_expression "uVar6 = DAT_000840a8" (identifier "uVar6") (= "=") (identifier "DAT_000840a8")) (; ";")) (expression_statement "uVar5 = DAT_000840ac;" (assignment_expression "uVar5 = DAT_000840ac" (identifier "uVar5") (= "=") (identifier "DAT_000840ac")) (; ";")) (switch_statement "switch(puVar16[2]) {\n      case 0:\n        DAT_00084098 = 1;\n        break;\n      case 1:\n        DAT_00084098 = 2;\n        break;\n      case 2:\n        DAT_00084094 = 1;\n        break;\n      case 3:\n        DAT_00084094 = 2;\n        break;\n      case 4:\n        DAT_000840a4 = 1;\n        break;\n      case 5:\n        DAT_000840a4 = 2;\n        break;\n      case 6:\n        DAT_000840a4 = 3;\n        break;\n      case 7:\n        uRam0008409c = 1;\n        break;\n      case 8:\n        uRam000840a0 = 1;\n        break;\n      default:\n                    \n        FUN_0002aaa0("../../gas/config/tc-i386.c",0x1127,"parse_insn",pbVar13);\n      }" (switch "switch") (parenthesized_expression "(puVar16[2])" (( "(") (subscript_expression "puVar16[2]" (identifier "puVar16") ([ "[") (number_literal "2") (] "]")) () ")")) (compound_statement "{\n      case 0:\n        DAT_00084098 = 1;\n        break;\n      case 1:\n        DAT_00084098 = 2;\n        break;\n      case 2:\n        DAT_00084094 = 1;\n        break;\n      case 3:\n        DAT_00084094 = 2;\n        break;\n      case 4:\n        DAT_000840a4 = 1;\n        break;\n      case 5:\n        DAT_000840a4 = 2;\n        break;\n      case 6:\n        DAT_000840a4 = 3;\n        break;\n      case 7:\n        uRam0008409c = 1;\n        break;\n      case 8:\n        uRam000840a0 = 1;\n        break;\n      default:\n                    \n        FUN_0002aaa0("../../gas/config/tc-i386.c",0x1127,"parse_insn",pbVar13);\n      }" ({ "{") (case_statement "case 0:\n        DAT_00084098 = 1;\n        break;" (case "case") (number_literal "0") (: ":") (expression_statement "DAT_00084098 = 1;" (assignment_expression "DAT_00084098 = 1" (identifier "DAT_00084098") (= "=") (number_literal "1")) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 1:\n        DAT_00084098 = 2;\n        break;" (case "case") (number_literal "1") (: ":") (expression_statement "DAT_00084098 = 2;" (assignment_expression "DAT_00084098 = 2" (identifier "DAT_00084098") (= "=") (number_literal "2")) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 2:\n        DAT_00084094 = 1;\n        break;" (case "case") (number_literal "2") (: ":") (expression_statement "DAT_00084094 = 1;" (assignment_expression "DAT_00084094 = 1" (identifier "DAT_00084094") (= "=") (number_literal "1")) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 3:\n        DAT_00084094 = 2;\n        break;" (case "case") (number_literal "3") (: ":") (expression_statement "DAT_00084094 = 2;" (assignment_expression "DAT_00084094 = 2" (identifier "DAT_00084094") (= "=") (number_literal "2")) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 4:\n        DAT_000840a4 = 1;\n        break;" (case "case") (number_literal "4") (: ":") (expression_statement "DAT_000840a4 = 1;" (assignment_expression "DAT_000840a4 = 1" (identifier "DAT_000840a4") (= "=") (number_literal "1")) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 5:\n        DAT_000840a4 = 2;\n        break;" (case "case") (number_literal "5") (: ":") (expression_statement "DAT_000840a4 = 2;" (assignment_expression "DAT_000840a4 = 2" (identifier "DAT_000840a4") (= "=") (number_literal "2")) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 6:\n        DAT_000840a4 = 3;\n        break;" (case "case") (number_literal "6") (: ":") (expression_statement "DAT_000840a4 = 3;" (assignment_expression "DAT_000840a4 = 3" (identifier "DAT_000840a4") (= "=") (number_literal "3")) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 7:\n        uRam0008409c = 1;\n        break;" (case "case") (number_literal "7") (: ":") (expression_statement "uRam0008409c = 1;" (assignment_expression "uRam0008409c = 1" (identifier "uRam0008409c") (= "=") (number_literal "1")) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 8:\n        uRam000840a0 = 1;\n        break;" (case "case") (number_literal "8") (: ":") (expression_statement "uRam000840a0 = 1;" (assignment_expression "uRam000840a0 = 1" (identifier "uRam000840a0") (= "=") (number_literal "1")) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "default:\n                    \n        FUN_0002aaa0("../../gas/config/tc-i386.c",0x1127,"parse_insn",pbVar13);" (default "default") (: ":") (expression_statement "FUN_0002aaa0("../../gas/config/tc-i386.c",0x1127,"parse_insn",pbVar13);" (call_expression "FUN_0002aaa0("../../gas/config/tc-i386.c",0x1127,"parse_insn",pbVar13)" (identifier "FUN_0002aaa0") (argument_list "("../../gas/config/tc-i386.c",0x1127,"parse_insn",pbVar13)" (( "(") (string_literal ""../../gas/config/tc-i386.c"" (" """) (string_content "../../gas/config/tc-i386.c") (" """)) (, ",") (number_literal "0x1127") (, ",") (string_literal ""parse_insn"" (" """) (string_content "parse_insn") (" """)) (, ",") (identifier "pbVar13") () ")"))) (; ";"))) (} "}"))) (} "}")) (else_clause "else {\n      iVar8 = FUN_0003fd30();\n      uVar6 = DAT_000840a8;\n      uVar5 = DAT_000840ac;\n      if (iVar8 == 2) {\n        puVar16 = (undefined4 *)*DAT_00083f40;\n        uVar1 = *puVar16;\n        uVar5 = uVar1;\n        if (((*(byte *)((int)puVar16 + 0x1b) & 0x10) == 0) &&\n           (uVar6 = uVar1, uVar5 = DAT_000840ac, (*(byte *)(puVar16 + 7) & 1) != 0)) {\n          uVar6 = DAT_000840a8;\n          DAT_000840b0 = uVar1;\n        }\n      }\n      else if (iVar8 == 3) {\n        if ((*(byte *)(*DAT_00083f40 + 0x1f) & 8) != 0) {\n          DAT_000840b4 = *(undefined4 *)*DAT_00083f40;\n        }\n      }\n      else if (iVar8 == 0) {\n        return (byte *)0x0;\n      }\n    }" (else "else") (compound_statement "{\n      iVar8 = FUN_0003fd30();\n      uVar6 = DAT_000840a8;\n      uVar5 = DAT_000840ac;\n      if (iVar8 == 2) {\n        puVar16 = (undefined4 *)*DAT_00083f40;\n        uVar1 = *puVar16;\n        uVar5 = uVar1;\n        if (((*(byte *)((int)puVar16 + 0x1b) & 0x10) == 0) &&\n           (uVar6 = uVar1, uVar5 = DAT_000840ac, (*(byte *)(puVar16 + 7) & 1) != 0)) {\n          uVar6 = DAT_000840a8;\n          DAT_000840b0 = uVar1;\n        }\n      }\n      else if (iVar8 == 3) {\n        if ((*(byte *)(*DAT_00083f40 + 0x1f) & 8) != 0) {\n          DAT_000840b4 = *(undefined4 *)*DAT_00083f40;\n        }\n      }\n      else if (iVar8 == 0) {\n        return (byte *)0x0;\n      }\n    }" ({ "{") (expression_statement "iVar8 = FUN_0003fd30();" (assignment_expression "iVar8 = FUN_0003fd30()" (identifier "iVar8") (= "=") (call_expression "FUN_0003fd30()" (identifier "FUN_0003fd30") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "uVar6 = DAT_000840a8;" (assignment_expression "uVar6 = DAT_000840a8" (identifier "uVar6") (= "=") (identifier "DAT_000840a8")) (; ";")) (expression_statement "uVar5 = DAT_000840ac;" (assignment_expression "uVar5 = DAT_000840ac" (identifier "uVar5") (= "=") (identifier "DAT_000840ac")) (; ";")) (if_statement "if (iVar8 == 2) {\n        puVar16 = (undefined4 *)*DAT_00083f40;\n        uVar1 = *puVar16;\n        uVar5 = uVar1;\n        if (((*(byte *)((int)puVar16 + 0x1b) & 0x10) == 0) &&\n           (uVar6 = uVar1, uVar5 = DAT_000840ac, (*(byte *)(puVar16 + 7) & 1) != 0)) {\n          uVar6 = DAT_000840a8;\n          DAT_000840b0 = uVar1;\n        }\n      }\n      else if (iVar8 == 3) {\n        if ((*(byte *)(*DAT_00083f40 + 0x1f) & 8) != 0) {\n          DAT_000840b4 = *(undefined4 *)*DAT_00083f40;\n        }\n      }\n      else if (iVar8 == 0) {\n        return (byte *)0x0;\n      }" (if "if") (parenthesized_expression "(iVar8 == 2)" (( "(") (binary_expression "iVar8 == 2" (identifier "iVar8") (== "==") (number_literal "2")) () ")")) (compound_statement "{\n        puVar16 = (undefined4 *)*DAT_00083f40;\n        uVar1 = *puVar16;\n        uVar5 = uVar1;\n        if (((*(byte *)((int)puVar16 + 0x1b) & 0x10) == 0) &&\n           (uVar6 = uVar1, uVar5 = DAT_000840ac, (*(byte *)(puVar16 + 7) & 1) != 0)) {\n          uVar6 = DAT_000840a8;\n          DAT_000840b0 = uVar1;\n        }\n      }" ({ "{") (expression_statement "puVar16 = (undefined4 *)*DAT_00083f40;" (assignment_expression "puVar16 = (undefined4 *)*DAT_00083f40" (identifier "puVar16") (= "=") (cast_expression "(undefined4 *)*DAT_00083f40" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*DAT_00083f40" (* "*") (identifier "DAT_00083f40")))) (; ";")) (expression_statement "uVar1 = *puVar16;" (assignment_expression "uVar1 = *puVar16" (identifier "uVar1") (= "=") (pointer_expression "*puVar16" (* "*") (identifier "puVar16"))) (; ";")) (expression_statement "uVar5 = uVar1;" (assignment_expression "uVar5 = uVar1" (identifier "uVar5") (= "=") (identifier "uVar1")) (; ";")) (if_statement "if (((*(byte *)((int)puVar16 + 0x1b) & 0x10) == 0) &&\n           (uVar6 = uVar1, uVar5 = DAT_000840ac, (*(byte *)(puVar16 + 7) & 1) != 0)) {\n          uVar6 = DAT_000840a8;\n          DAT_000840b0 = uVar1;\n        }" (if "if") (parenthesized_expression "(((*(byte *)((int)puVar16 + 0x1b) & 0x10) == 0) &&\n           (uVar6 = uVar1, uVar5 = DAT_000840ac, (*(byte *)(puVar16 + 7) & 1) != 0))" (( "(") (binary_expression "((*(byte *)((int)puVar16 + 0x1b) & 0x10) == 0) &&\n           (uVar6 = uVar1, uVar5 = DAT_000840ac, (*(byte *)(puVar16 + 7) & 1) != 0)" (parenthesized_expression "((*(byte *)((int)puVar16 + 0x1b) & 0x10) == 0)" (( "(") (binary_expression "(*(byte *)((int)puVar16 + 0x1b) & 0x10) == 0" (parenthesized_expression "(*(byte *)((int)puVar16 + 0x1b) & 0x10)" (( "(") (binary_expression "*(byte *)((int)puVar16 + 0x1b) & 0x10" (pointer_expression "*(byte *)((int)puVar16 + 0x1b)" (* "*") (cast_expression "(byte *)((int)puVar16 + 0x1b)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar16 + 0x1b)" (( "(") (binary_expression "(int)puVar16 + 0x1b" (cast_expression "(int)puVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar16")) (+ "+") (number_literal "0x1b")) () ")")))) (& "&") (number_literal "0x10")) () ")")) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(uVar6 = uVar1, uVar5 = DAT_000840ac, (*(byte *)(puVar16 + 7) & 1) != 0)" (( "(") (comma_expression "uVar6 = uVar1, uVar5 = DAT_000840ac, (*(byte *)(puVar16 + 7) & 1) != 0" (assignment_expression "uVar6 = uVar1" (identifier "uVar6") (= "=") (identifier "uVar1")) (, ",") (comma_expression "uVar5 = DAT_000840ac, (*(byte *)(puVar16 + 7) & 1) != 0" (assignment_expression "uVar5 = DAT_000840ac" (identifier "uVar5") (= "=") (identifier "DAT_000840ac")) (, ",") (binary_expression "(*(byte *)(puVar16 + 7) & 1) != 0" (parenthesized_expression "(*(byte *)(puVar16 + 7) & 1)" (( "(") (binary_expression "*(byte *)(puVar16 + 7) & 1" (pointer_expression "*(byte *)(puVar16 + 7)" (* "*") (cast_expression "(byte *)(puVar16 + 7)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + 7)" (( "(") (binary_expression "puVar16 + 7" (identifier "puVar16") (+ "+") (number_literal "7")) () ")")))) (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")))) () ")"))) () ")")) (compound_statement "{\n          uVar6 = DAT_000840a8;\n          DAT_000840b0 = uVar1;\n        }" ({ "{") (expression_statement "uVar6 = DAT_000840a8;" (assignment_expression "uVar6 = DAT_000840a8" (identifier "uVar6") (= "=") (identifier "DAT_000840a8")) (; ";")) (expression_statement "DAT_000840b0 = uVar1;" (assignment_expression "DAT_000840b0 = uVar1" (identifier "DAT_000840b0") (= "=") (identifier "uVar1")) (; ";")) (} "}"))) (} "}")) (else_clause "else if (iVar8 == 3) {\n        if ((*(byte *)(*DAT_00083f40 + 0x1f) & 8) != 0) {\n          DAT_000840b4 = *(undefined4 *)*DAT_00083f40;\n        }\n      }\n      else if (iVar8 == 0) {\n        return (byte *)0x0;\n      }" (else "else") (if_statement "if (iVar8 == 3) {\n        if ((*(byte *)(*DAT_00083f40 + 0x1f) & 8) != 0) {\n          DAT_000840b4 = *(undefined4 *)*DAT_00083f40;\n        }\n      }\n      else if (iVar8 == 0) {\n        return (byte *)0x0;\n      }" (if "if") (parenthesized_expression "(iVar8 == 3)" (( "(") (binary_expression "iVar8 == 3" (identifier "iVar8") (== "==") (number_literal "3")) () ")")) (compound_statement "{\n        if ((*(byte *)(*DAT_00083f40 + 0x1f) & 8) != 0) {\n          DAT_000840b4 = *(undefined4 *)*DAT_00083f40;\n        }\n      }" ({ "{") (if_statement "if ((*(byte *)(*DAT_00083f40 + 0x1f) & 8) != 0) {\n          DAT_000840b4 = *(undefined4 *)*DAT_00083f40;\n        }" (if "if") (parenthesized_expression "((*(byte *)(*DAT_00083f40 + 0x1f) & 8) != 0)" (( "(") (binary_expression "(*(byte *)(*DAT_00083f40 + 0x1f) & 8) != 0" (parenthesized_expression "(*(byte *)(*DAT_00083f40 + 0x1f) & 8)" (( "(") (binary_expression "*(byte *)(*DAT_00083f40 + 0x1f) & 8" (pointer_expression "*(byte *)(*DAT_00083f40 + 0x1f)" (* "*") (cast_expression "(byte *)(*DAT_00083f40 + 0x1f)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*DAT_00083f40 + 0x1f)" (( "(") (binary_expression "*DAT_00083f40 + 0x1f" (pointer_expression "*DAT_00083f40" (* "*") (identifier "DAT_00083f40")) (+ "+") (number_literal "0x1f")) () ")")))) (& "&") (number_literal "8")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          DAT_000840b4 = *(undefined4 *)*DAT_00083f40;\n        }" ({ "{") (expression_statement "DAT_000840b4 = *(undefined4 *)*DAT_00083f40;" (assignment_expression "DAT_000840b4 = *(undefined4 *)*DAT_00083f40" (identifier "DAT_000840b4") (= "=") (pointer_expression "*(undefined4 *)*DAT_00083f40" (* "*") (cast_expression "(undefined4 *)*DAT_00083f40" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*DAT_00083f40" (* "*") (identifier "DAT_00083f40"))))) (; ";")) (} "}"))) (} "}")) (else_clause "else if (iVar8 == 0) {\n        return (byte *)0x0;\n      }" (else "else") (if_statement "if (iVar8 == 0) {\n        return (byte *)0x0;\n      }" (if "if") (parenthesized_expression "(iVar8 == 0)" (( "(") (binary_expression "iVar8 == 0" (identifier "iVar8") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        return (byte *)0x0;\n      }" ({ "{") (return_statement "return (byte *)0x0;" (return "return") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")) (; ";")) (} "}"))))))) (} "}")))) (expression_statement "DAT_000840ac = uVar5;" (assignment_expression "DAT_000840ac = uVar5" (identifier "DAT_000840ac") (= "=") (identifier "uVar5")) (; ";")) (expression_statement "DAT_000840a8 = uVar6;" (assignment_expression "DAT_000840a8 = uVar6" (identifier "DAT_000840a8") (= "=") (identifier "uVar6")) (; ";")) (expression_statement "local_38 = pbVar13 + 1;" (assignment_expression "local_38 = pbVar13 + 1" (identifier "local_38") (= "=") (binary_expression "pbVar13 + 1" (identifier "pbVar13") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (; ";")) (} "}"))

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

char * __regparm3 function_1(char *line,char *mnemonic)

{
  type_1 *ptVar1;
  type_2 var_9;
  char var_1;
  type_3 var_2;
  type_3 var_15;
  type_4 var_27;
  char *pcVar7;
  int var_25;
  type_1 *var_23;
  char *var_22;
  type_2 *var_7;
  char *pcVar12;
  char *var_6;
  type_5 *var_13;
  type_2 *var_8;
  char var_29;
  
  var_22 = (char *)0x0;
  var_8 = (type_2 *)line;
  do {
    var_1 = mnemonic_chars[*var_8];
    *mnemonic = var_1;
    var_6 = mnemonic;
    var_7 = var_8;
    if (var_1 == '\0') {
      var_9 = *var_8;
      var_2 = (type_3)(char)var_9;
      if ((var_2 & 0xdf) == 0) goto LAB_000454ae;
LAB_00045208:
      if ((var_3 == 0) && (((char)var_2 == '/' || ((char)var_2 == ',')))) goto LAB_000450fb;
LAB_00045222:
      var_22 = var_4(var_2);
      var_6 = (char *)var_5(0,"invalid character %s in mnemonic",5);
      goto LAB_000451a1;
    }
    do {
      if (var_1 == '.') {
        var_22 = var_6;
      }
      var_6 = var_6 + 1;
      ptVar1 = var_12;
      if (var_7 == var_8 + 0x13) goto _L1930;
      var_7 = var_7 + 1;
      var_1 = mnemonic_chars[*var_7];
      *var_6 = var_1;
    } while (var_1 != '\0');
    var_2 = (type_3)(char)*var_7;
    if ((var_2 & 0xdf) != 0) goto LAB_00045208;
LAB_000450fb:
    var_9 = (type_2)var_2;
    if (var_7 == var_8) {
LAB_000454ae:
      if ((var_3 == 0) && (var_9 == 0x2f)) {
        var_22 = "expecting prefix; got nothing";
      }
      else {
        var_22 = "expecting mnemonic; got nothing";
      }
      var_22 = (char *)var_5(0,var_22,5);
      var_10(var_22);
      return (char *)0x0;
    }
    var_12 = (type_1 *)var_11(op_hash,mnemonic);
    var_9 = *var_7;
    if ((var_9 == 0) || ((var_9 == 0x20 && (var_7[1] == 0)))) {
      if (var_12 == (type_1 *)0x0) goto LAB_00045540;
      var_13 = var_12->start;
      if ((type_6  [12])((type_6  [12])var_13->opcode_modifier & (type_6  [12])0xa0) ==
          (type_6  [12])0x0) {
LAB_00045264:
        var_13 = var_12->start;
      }
LAB_0004526c:
      ptVar1 = var_12;
      if (var_12->end <= var_13) goto LAB_0004562d;
      var_2 = 0;
      do {
        var_15 = var_14(var_13);
        var_2 = var_2 | var_15;
        if (var_2 == 3) {
          if (((cpu_arch_flags.array[0]._0_1_ & 4) == 0) && (var_16 != var_17)) {
            var_22 = (char *)var_5(0,"use .code16 to ensure correct addressing mode",5);
            var_18(var_22);
          }
          return (char *)var_7;
        }
        var_13 = var_13 + 1;
      } while (var_13 < ptVar1->end);
      var_13 = ptVar1->start;
      if ((var_2 & 2) == 0) {
LAB_0004562d:
        var_22 = var_13->name;
        if (var_16 == var_19) {
LAB_00045352:
          var_6 = (char *)var_5(0,"`%s\' is not supported in 64-bit mode",5);
        }
        else {
LAB_00045188:
          var_6 = (char *)var_5(0,"`%s\' is only supported in 64-bit mode",5);
        }
LAB_000451a1:
        var_10(var_6,var_22);
      }
      else {
        var_22 = var_13->name;
        var_6 = var_20;
        if (var_20 == (char *)0x0) {
          var_6 = "";
        }
        pcVar12 = var_21;
        if (var_21 == (char *)0x0) {
          pcVar12 = default_arch;
        }
        pcVar7 = (char *)var_5(0,"`%s\' is not supported on `%s%s\'",5);
        var_10(pcVar7,var_22,pcVar12,var_6);
      }
      return (char *)0x0;
    }
    if (var_12 == (type_1 *)0x0) {
LAB_00045540:
      if ((var_22 == var_6 + -2) && (var_22[1] == 's')) {
        i.dir_encoding = Cpu386;
LAB_00045660:
        *var_22 = '\0';
        var_23 = (type_1 *)var_11(op_hash,mnemonic);
        var_12 = var_23;
        if (var_23 == (type_1 *)0x0) {
          var_1 = var_22[-1];
          var_12 = (type_1 *)0x0;
          var_6 = var_22;
          ptVar1 = (type_1 *)0x0;
          switch(var_1) {
          case 'b':
          case 'q':
            goto _L2009;
          default:
            goto _L1930;
          case 'd':
            goto _L1927;
          case 'l':
          case 's':
            goto _L1925;
          case 'w':
            goto _L1921;
          }
        }
      }
      else {
        if (var_22 == var_6 + -3) {
          if (var_22[1] == 'd') {
            if (var_22[2] == '8') {
              i.disp_encoding = Cpu286;
              goto LAB_00045660;
            }
            if (var_22 == var_6 + -4) goto LAB_000456b1;
          }
        }
        else if ((var_22 == var_6 + -4) && (var_22[1] == 'd')) {
LAB_000456b1:
          if ((var_22[2] == '3') && (var_22[3] == '2')) {
            i.disp_encoding = Cpu386;
            goto LAB_00045660;
          }
        }
        var_1 = var_6[-1];
        ptVar1 = var_12;
        var_23 = var_12;
        switch(var_1) {
        case 'b':
        case 'q':
          break;
        default:
          goto _L1930;
        case 'd':
_L1927:
          var_12 = var_23;
          if (var_3 != 0) {
            var_1 = 'l';
            if ((*mnemonic == 'f') && (var_25 = var_24(mnemonic), var_25 == 1)) {
              var_1 = 's';
            }
            break;
          }
          goto LAB_000455d5;
        case 'l':
        case 's':
_L1925:
          var_12 = var_23;
          if (var_3 != 0) goto LAB_000455d5;
          break;
        case 'w':
_L1921:
          var_1 = 'w';
          if ((var_3 != 0) && (*mnemonic == 'f')) {
            var_2 = var_24(mnemonic);
            var_1 = (-((var_2 & 2) == 0) & 4U) + 0x73;
          }
        }
_L2009:
        i.suffix = var_1;
        var_6[-1] = '\0';
        var_12 = (type_1 *)var_11(op_hash,mnemonic);
LAB_000455d5:
        ptVar1 = var_12;
        if (var_12 == (type_1 *)0x0) {
_L1930:
          var_12 = ptVar1;
          var_22 = (char *)var_5(0,"no such instruction: `%s\'",5);
          var_10(var_22,var_8);
          return (char *)0x0;
        }
      }
      var_13 = var_12->start;
      var_9 = *var_7;
LAB_000454eb:
      if ((type_6  [12])((type_6  [12])var_13->opcode_modifier & (type_6  [12])0xa0) ==
          (type_6  [12])0x0) {
LAB_00045532:
        if (var_9 != 0x2c) goto LAB_00045264;
      }
      else {
        if (var_9 != 0x2c) goto LAB_0004526c;
        if (var_7[1] == 0x70) {
          if (var_7[2] == 0x74) {
            var_27 = var_26(0x3e);
          }
          else {
            if (var_7[2] != 0x6e) goto LAB_000454ff;
            var_27 = var_26(0x2e);
          }
          if (var_27 == var_28) {
            return (char *)0x0;
          }
          var_9 = var_7[3];
          var_7 = var_7 + 3;
          goto LAB_00045532;
        }
      }
LAB_000454ff:
      var_2 = 0x2c;
      goto LAB_00045222;
    }
    var_13 = var_12->start;
    if (((var_13->opcode_modifier).field_0x4 & 0x10) == 0) goto LAB_000454eb;
    var_29 = (char)(var_13->cpu_flags).array[3];
    if (var_16 == var_19) {
      if (var_29 < '\0') {
        var_22 = var_13->name;
        goto LAB_00045352;
      }
    }
    else {
      if (((var_13->cpu_flags).array[3] & 0x40) != 0) {
        var_22 = var_13->name;
        goto LAB_00045188;
      }
      var_9 = (var_13->opcode_modifier).field_0x1;
      if (((var_9 & 0x18) != 0) && ((bool)(var_9 >> 4 & 1) != (var_16 == var_17))) {
        var_22 = var_13->name;
        var_6 = (char *)var_5(0,"redundant %s prefix",5);
        var_10(var_6,var_22);
        return (char *)0x0;
      }
    }
    if (var_13->opcode_length == '\0') {
      var_6 = i.rep_prefix;
      pcVar12 = i.hle_prefix;
      switch(var_13->base_opcode) {
      case 0:
        i.disp_encoding = Cpu286;
        break;
      case 1:
        i.disp_encoding = Cpu386;
        break;
      case 2:
        i.dir_encoding = Cpu286;
        break;
      case 3:
        i.dir_encoding = Cpu386;
        break;
      case 4:
        i.vec_encoding = Cpu286;
        break;
      case 5:
        i.vec_encoding = Cpu386;
        break;
      case 6:
        i.vec_encoding = Cpu486;
        break;
      case 7:
        i.rex_encoding = 1;
        break;
      case 8:
        i.no_optimize = 1;
        break;
      default:
                    /* WARNING: Subroutine does not return */
        var_30("../../gas/config/tc-i386.c",0x1127,"parse_insn");
      }
    }
    else {
      var_27 = var_26(var_13->base_opcode);
      var_6 = i.rep_prefix;
      pcVar12 = i.hle_prefix;
      if (var_27 == var_31) {
        var_13 = var_12->start;
        pcVar7 = var_13->name;
        pcVar12 = pcVar7;
        if (((type_6  [16])
             ((type_6  [16])var_13->cpu_flags & (type_6  [16])0x1000000000000000) ==
             (type_6  [16])0x0) &&
           (var_6 = pcVar7, pcVar12 = i.hle_prefix,
           (type_6  [16])((type_6  [16])var_13->cpu_flags & (type_6  [16])0x1) !=
           (type_6  [16])0x0)) {
          var_6 = i.rep_prefix;
          i.bnd_prefix = pcVar7;
        }
      }
      else if (var_27 == var_32) {
        if ((type_6  [16])
            ((type_6  [16])var_12->start->cpu_flags & (type_6  [16])0x8000000) !=
            (type_6  [16])0x0) {
          i.notrack_prefix = var_12->start->name;
        }
      }
      else if (var_27 == var_28) {
        return (char *)0x0;
      }
    }
    i.hle_prefix = pcVar12;
    i.rep_prefix = var_6;
    var_8 = var_7 + 1;
  } while( true );
}


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

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

byte * __regparm3 MASKED(byte *param_1,char *param_2)

{
  undefined4 uVar1;
  int *piVar2;
  byte bVar3;
  char cVar4;
  undefined4 uVar5;
  undefined4 uVar6;
  uint uVar7;
  int iVar8;
  int *piVar9;
  char *pcVar10;
  uint uVar11;
  undefined *puVar12;
  byte *pbVar13;
  undefined *puVar14;
  char *pcVar15;
  undefined4 *puVar16;
  byte *local_38;
  char local_20;
  
  pcVar10 = (char *)0x0;
  local_38 = param_1;
  do {
    cVar4 = (&DAT_000844e0)[*local_38];
    *param_2 = cVar4;
    pcVar15 = param_2;
    pbVar13 = local_38;
    if (cVar4 == '\0') {
      bVar3 = *local_38;
      if ((bVar3 & 0xdf) == 0) goto LAB_000454ae;
LAB_00045208:
      if ((DAT_00083ed0 == 0) && ((bVar3 == 0x2f || (bVar3 == 0x2c)))) goto LAB_000450fb;
      goto LAB_00045222;
    }
    do {
      if (cVar4 == '.') {
        pcVar10 = pcVar15;
      }
      pcVar15 = pcVar15 + 1;
      piVar2 = DAT_00083f40;
      if (pbVar13 == local_38 + 0x13) goto LAB_000451c0;
      pbVar13 = pbVar13 + 1;
      cVar4 = (&DAT_000844e0)[*pbVar13];
      *pcVar15 = cVar4;
    } while (cVar4 != '\0');
    bVar3 = *pbVar13;
    if ((bVar3 & 0xdf) != 0) goto LAB_00045208;
LAB_000450fb:
    if (pbVar13 == local_38) {
LAB_000454ae:
      if ((DAT_00083ed0 == 0) && (bVar3 == 0x2f)) {
        pcVar10 = "expecting prefix; got nothing";
      }
      else {
        pcVar10 = "expecting mnemonic; got nothing";
      }
      uVar6 = dcgettext(0,pcVar10,5);
      FUN_0002a980(uVar6);
      return (byte *)0x0;
    }
    DAT_00083f40 = (int *)FUN_00024180(DAT_00083e60,param_2);
    bVar3 = *pbVar13;
    if ((bVar3 == 0) || ((bVar3 == 0x20 && (pbVar13[1] == 0)))) {
      if (DAT_00083f40 == (int *)0x0) goto LAB_00045540;
      puVar16 = (undefined4 *)*DAT_00083f40;
      if ((*(byte *)(puVar16 + 9) & 0xa0) == 0) {
LAB_00045264:
        puVar16 = (undefined4 *)*DAT_00083f40;
      }
LAB_0004526c:
      piVar2 = DAT_00083f40;
      if ((undefined4 *)DAT_00083f40[1] <= puVar16) goto LAB_0004562d;
      uVar11 = 0;
      do {
        uVar7 = FUN_00044e30();
        uVar11 = uVar11 | uVar7;
        if (uVar11 == 3) {
          if (((DAT_0007b53c & 4) == 0) && (DAT_00083ee8 != 1)) {
            uVar6 = dcgettext(0,"use .code16 to ensure correct addressing mode",5);
            FUN_0002a8a0(uVar6);
          }
          return pbVar13;
        }
        puVar16 = puVar16 + 0x16;
      } while (puVar16 < (undefined4 *)piVar2[1]);
      puVar16 = (undefined4 *)*piVar2;
      if ((uVar11 & 2) == 0) {
LAB_0004562d:
        uVar6 = *puVar16;
        if (DAT_00083ee8 == 2) {
LAB_00045352:
          uVar5 = dcgettext(0,"`%s\' is not supported in 64-bit mode",5);
        }
        else {
LAB_00045188:
          uVar5 = dcgettext(0,"`%s\' is only supported in 64-bit mode",5);
        }
LAB_000451a1:
        FUN_0002a980(uVar5,uVar6);
      }
      else {
        uVar6 = *puVar16;
        puVar12 = DAT_00083e94;
        if (DAT_00083e94 == (undefined *)0x0) {
          puVar12 = &DAT_00059ae5;
        }
        puVar14 = DAT_00083e98;
        if (DAT_00083e98 == (undefined *)0x0) {
          puVar14 = PTR_s_i386_0007b71c;
        }
        uVar5 = dcgettext(0,"`%s\' is not supported on `%s%s\'",5);
        FUN_0002a980(uVar5,uVar6,puVar14,puVar12);
      }
      return (byte *)0x0;
    }
    if (DAT_00083f40 == (int *)0x0) {
LAB_00045540:
      if ((pcVar10 == pcVar15 + -2) && (pcVar10[1] == 's')) {
        DAT_00084094 = 2;
LAB_00045660:
        *pcVar10 = '\0';
        piVar9 = (int *)FUN_00024180(DAT_00083e60,param_2);
        DAT_00083f40 = piVar9;
        if (piVar9 == (int *)0x0) {
          cVar4 = pcVar10[-1];
          DAT_00083f40 = (int *)0x0;
          pcVar15 = pcVar10;
          piVar2 = (int *)0x0;
          switch(cVar4) {
          case 'b':
          case 'q':
            goto code_r0x000455ae;
          default:
            goto LAB_000451c0;
          case 'd':
            goto code_r0x000455fd;
          case 'l':
          case 's':
            goto code_r0x000455e9;
          case 'w':
            goto code_r0x00045581;
          }
        }
      }
      else {
        if (pcVar10 == pcVar15 + -3) {
          if (pcVar10[1] == 'd') {
            if (pcVar10[2] == '8') {
              DAT_00084098 = 1;
              goto LAB_00045660;
            }
            if (pcVar10 == pcVar15 + -4) goto LAB_000456b1;
          }
        }
        else if ((pcVar10 == pcVar15 + -4) && (pcVar10[1] == 'd')) {
LAB_000456b1:
          if ((pcVar10[2] == '3') && (pcVar10[3] == '2')) {
            DAT_00084098 = 2;
            goto LAB_00045660;
          }
        }
        cVar4 = pcVar15[-1];
        piVar2 = DAT_00083f40;
        piVar9 = DAT_00083f40;
        switch(cVar4) {
        case 'b':
        case 'q':
          break;
        default:
          goto LAB_000451c0;
        case 'd':
code_r0x000455fd:
          DAT_00083f40 = piVar9;
          if (DAT_00083ed0 != 0) {
            cVar4 = 'l';
            if ((*param_2 == 'f') && (iVar8 = FUN_00043060(), iVar8 == 1)) {
              cVar4 = 's';
            }
            break;
          }
          goto code_r0x000455d5;
        case 'l':
        case 's':
code_r0x000455e9:
          DAT_00083f40 = piVar9;
          if (DAT_00083ed0 != 0) goto code_r0x000455d5;
          break;
        case 'w':
code_r0x00045581:
          cVar4 = 'w';
          if ((DAT_00083ed0 != 0) && (*param_2 == 'f')) {
            uVar11 = FUN_00043060();
            cVar4 = (-((uVar11 & 2) == 0) & 4U) + 0x73;
          }
        }
code_r0x000455ae:
        DAT_00083fb8 = cVar4;
        pcVar15[-1] = '\0';
        DAT_00083f40 = (int *)FUN_00024180(DAT_00083e60,param_2);
code_r0x000455d5:
        piVar2 = DAT_00083f40;
        if (DAT_00083f40 == (int *)0x0) {
LAB_000451c0:
          DAT_00083f40 = piVar2;
          uVar6 = dcgettext(0,"no such instruction: `%s\'",5);
          FUN_0002a980(uVar6,local_38);
          return (byte *)0x0;
        }
      }
      puVar16 = (undefined4 *)*DAT_00083f40;
      bVar3 = *pbVar13;
LAB_000454eb:
      if ((*(byte *)(puVar16 + 9) & 0xa0) == 0) {
LAB_00045532:
        if (bVar3 != 0x2c) goto LAB_00045264;
      }
      else {
        if (bVar3 != 0x2c) goto LAB_0004526c;
        if (pbVar13[1] == 0x70) {
          if (pbVar13[2] == 0x74) {
            iVar8 = FUN_0003fd30();
          }
          else {
            if (pbVar13[2] != 0x6e) goto LAB_00045222;
            iVar8 = FUN_0003fd30();
          }
          if (iVar8 == 0) {
            return (byte *)0x0;
          }
          bVar3 = pbVar13[3];
          pbVar13 = pbVar13 + 3;
          goto LAB_00045532;
        }
      }
LAB_00045222:
      uVar6 = FUN_00043af0();
      uVar5 = dcgettext(0,"invalid character %s in mnemonic",5);
      goto LAB_000451a1;
    }
    puVar16 = (undefined4 *)*DAT_00083f40;
    if ((*(byte *)(puVar16 + 10) & 0x10) == 0) goto LAB_000454eb;
    local_20 = (char)puVar16[8];
    if (DAT_00083ee8 == 2) {
      if (local_20 < '\0') {
        uVar6 = *puVar16;
        goto LAB_00045352;
      }
    }
    else {
      if ((puVar16[8] & 0x40) != 0) {
        uVar6 = *puVar16;
        goto LAB_00045188;
      }
      if (((*(byte *)((int)puVar16 + 0x25) & 0x18) != 0) &&
         ((bool)(*(byte *)((int)puVar16 + 0x25) >> 4 & 1) != (DAT_00083ee8 == 1))) {
        uVar6 = *puVar16;
        uVar5 = dcgettext(0,"redundant %s prefix",5);
        FUN_0002a980(uVar5,uVar6);
        return (byte *)0x0;
      }
    }
    if (*(char *)(puVar16 + 4) == '\0') {
      uVar6 = DAT_000840a8;
      uVar5 = DAT_000840ac;
      switch(puVar16[2]) {
      case 0:
        DAT_00084098 = 1;
        break;
      case 1:
        DAT_00084098 = 2;
        break;
      case 2:
        DAT_00084094 = 1;
        break;
      case 3:
        DAT_00084094 = 2;
        break;
      case 4:
        DAT_000840a4 = 1;
        break;
      case 5:
        DAT_000840a4 = 2;
        break;
      case 6:
        DAT_000840a4 = 3;
        break;
      case 7:
        uRam0008409c = 1;
        break;
      case 8:
        uRam000840a0 = 1;
        break;
      default:
                    /* WARNING: Subroutine does not return */
        FUN_0002aaa0("../../gas/config/tc-i386.c",0x1127,"parse_insn",pbVar13);
      }
    }
    else {
      iVar8 = FUN_0003fd30();
      uVar6 = DAT_000840a8;
      uVar5 = DAT_000840ac;
      if (iVar8 == 2) {
        puVar16 = (undefined4 *)*DAT_00083f40;
        uVar1 = *puVar16;
        uVar5 = uVar1;
        if (((*(byte *)((int)puVar16 + 0x1b) & 0x10) == 0) &&
           (uVar6 = uVar1, uVar5 = DAT_000840ac, (*(byte *)(puVar16 + 7) & 1) != 0)) {
          uVar6 = DAT_000840a8;
          DAT_000840b0 = uVar1;
        }
      }
      else if (iVar8 == 3) {
        if ((*(byte *)(*DAT_00083f40 + 0x1f) & 8) != 0) {
          DAT_000840b4 = *(undefined4 *)*DAT_00083f40;
        }
      }
      else if (iVar8 == 0) {
        return (byte *)0x0;
      }
    }
    DAT_000840ac = uVar5;
    DAT_000840a8 = uVar6;
    local_38 = pbVar13 + 1;
  } while( true );
}

