
/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Unknown calling convention -- yet parameter storage is locked */
/* WARNING: Enum "anon_enum_32": Some values do not have unique names */

void process_immext(void)

{
  byte *pbVar1;
  reg_entry *prVar2;
  symbolS *psVar3;
  char *pcVar4;
  char *pcVar5;
  uint uVar6;
  char *format;
  i386_op iVar7;
  char *pcVar8;
  uint uVar9;
  undefined4 uVar10;
  
  pcVar5 = i.tm.name;
  pcVar4 = register_prefix;
  if ((i.tm.cpu_flags.array[0]._2_1_ & 0x28) == 0) {
    if ((i.tm.cpu_flags.array[2]._2_1_ & 0x40) == 0) goto LAB_000425f0;
    if (i.operands == 0) goto LAB_000424b7;
    if (i.operands != 3) {
                    /* WARNING: Subroutine does not return */
      as_abort("../../gas/config/tc-i386.c",0xe74,"process_immext");
    }
    if ((((i.op[0].regs)->reg_flags & 1) == 0) &&
       (((i.op[0].regs)->reg_flags & 4) == 0 && (i.op[0].regs)->reg_num == '\0')) {
      if (((((i.op[1].regs)->reg_flags & 1) != 0) || ((i.op[1].regs)->reg_num != '\x01')) ||
         (((i.op[1].regs)->reg_flags & 4) != 0)) {
        uVar10 = 2;
        iVar7 = i.op[1];
        goto LAB_0004264d;
      }
      uVar10 = 3;
      iVar7 = i.op[2];
      if ((((i.op[2].regs)->reg_flags & 5) != 0) ||
         ((uchar)((i.tm.extension_opcode == 0xfb) + '\x02') != (i.op[2].regs)->reg_num))
      goto LAB_0004264d;
    }
    else {
      uVar10 = 1;
      iVar7 = i.op[0];
LAB_0004264d:
      psVar3 = (iVar7.disps)->X_add_symbol;
      pcVar8 = (char *)dcgettext(0,"can\'t use register \'%s%s\' as operand %d in \'%s\'.",5);
      as_bad(pcVar8,pcVar4,psVar3,uVar10,pcVar5);
    }
    i.operands = 0;
  }
  else {
    if (i.operands != 0) {
      uVar6 = 0;
      do {
        while( true ) {
          pcVar5 = i.tm.name;
          pcVar4 = register_prefix;
          prVar2 = i.op[uVar6].regs;
          uVar9 = uVar6 + 1;
          if ((((prVar2->reg_flags & 1) == 0) && (prVar2->reg_num == uVar6)) &&
             ((prVar2->reg_flags & 4) == 0)) break;
          pcVar8 = prVar2->reg_name;
          format = (char *)dcgettext(0,"can\'t use register \'%s%s\' as operand %d in \'%s\'.",5);
          as_bad(format,pcVar4,pcVar8,uVar9,pcVar5);
          uVar6 = uVar9;
          if (i.operands <= uVar9) goto LAB_000424a2;
        }
        uVar6 = uVar9;
      } while (uVar9 < i.operands);
LAB_000424a2:
      i.operands = 0;
    }
    if ((i.tm.cpu_flags.array[2]._2_1_ & 0x40) == 0) {
LAB_000425f0:
      if ((1 < i.imm_operands) ||
         ((uVar6 = i.operands, uVar9 = i.imm_operands, 2 < i.operands &&
          ((((i.tm.opcode_modifier._4_4_ & 0x38600) == 0 && (i.tm.opcode_modifier._7_1_ == '\0')) ||
           (4 < i.operands)))))) goto LAB_00042628;
      goto LAB_000424cc;
    }
  }
LAB_000424b7:
  uVar6 = i.operands;
  uVar9 = i.imm_operands;
  if (1 < i.imm_operands) {
LAB_00042628:
                    /* WARNING: Subroutine does not return */
    as_abort("../../gas/config/tc-i386.c",0xe94,"process_immext");
  }
LAB_000424cc:
  i.imm_operands = uVar9 + 1;
  i.types[uVar6].array[0] = 0;
  i.op[uVar6].disps = im_expressions + uVar9;
  i.operands = uVar6 + 1;
  im_expressions[uVar9].field_0x10 = 2;
  *(undefined4 *)((int)i.types + uVar6 * 8 + 4) = 0;
  pbVar1 = (byte *)((int)i.types + uVar6 * 8 + 1);
  *pbVar1 = *pbVar1 | 4;
  *(uint *)&im_expressions[uVar9].X_add_number = i.tm.extension_opcode;
  *(undefined4 *)((int)&im_expressions[uVar9].X_add_number + 4) = 0;
  i.tm.extension_opcode = 0xffff;
  return;
}



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

void __regparm3 FUN_000423f0(undefined4 *param_1,undefined4 param_2)

{
  int iVar1;
  byte *pbVar2;
  undefined4 *puVar3;
  undefined *puVar4;
  undefined4 uVar5;
  undefined4 uVar6;
  undefined4 *puVar7;
  undefined4 uVar8;
  uint uVar9;
  undefined4 uVar10;
  
  uVar5 = DAT_00088fa0;
  puVar4 = PTR_DAT_00080714;
  if ((DAT_00088fb6 & 0x28) == 0) {
    if ((DAT_00088fbe & 0x40) == 0) goto LAB_000425f0;
    if (DAT_00088ffc == (undefined4 *)0x0) goto LAB_000424b7;
    if (DAT_00088ffc != (undefined4 *)0x3) {
                    /* WARNING: Subroutine does not return */
      FUN_0002be80("../../gas/config/tc-i386.c",0xe74,"process_immext",param_2);
    }
    if (((*(byte *)(DAT_00089038 + 3) & 1) == 0) &&
       ((*(byte *)(DAT_00089038 + 3) & 4) == 0 && *(char *)((int)DAT_00089038 + 0xd) == '\0')) {
      if ((((*(byte *)(DAT_0008903c + 3) & 1) != 0) ||
          (*(char *)((int)DAT_0008903c + 0xd) != '\x01')) ||
         ((*(byte *)(DAT_0008903c + 3) & 4) != 0)) {
        uVar10 = 2;
        puVar7 = DAT_0008903c;
        goto LAB_0004264d;
      }
      uVar10 = 3;
      puVar7 = DAT_00089040;
      if (((*(byte *)(DAT_00089040 + 3) & 5) != 0) ||
         (param_1 = DAT_00089040,
         (char)((DAT_00088fac == 0xfb) + '\x02') != *(char *)((int)DAT_00089040 + 0xd)))
      goto LAB_0004264d;
    }
    else {
      uVar10 = 1;
      puVar7 = DAT_00089038;
LAB_0004264d:
      uVar6 = *puVar7;
      uVar8 = dcgettext(0,"can\'t use register \'%s%s\' as operand %d in \'%s\'.",5);
      param_1 = (undefined4 *)FUN_0002bd60(uVar8,puVar4,uVar6,uVar10,uVar5);
    }
    DAT_00088ffc = (undefined4 *)0x0;
  }
  else {
    if (DAT_00088ffc != (undefined4 *)0x0) {
      puVar7 = (undefined4 *)0x0;
      do {
        while( true ) {
          uVar5 = DAT_00088fa0;
          puVar4 = PTR_DAT_00080714;
          puVar3 = (&DAT_00089038)[(int)puVar7];
          param_1 = (undefined4 *)((int)puVar7 + 1);
          if ((((*(byte *)(puVar3 + 3) & 1) == 0) &&
              ((undefined4 *)(uint)*(byte *)((int)puVar3 + 0xd) == puVar7)) &&
             ((*(byte *)(puVar3 + 3) & 4) == 0)) break;
          uVar10 = *puVar3;
          uVar6 = dcgettext(0,"can\'t use register \'%s%s\' as operand %d in \'%s\'.",5);
          FUN_0002bd60(uVar6,puVar4,uVar10,param_1,uVar5);
          puVar7 = param_1;
          if (DAT_00088ffc <= param_1) goto LAB_000424a2;
        }
        puVar7 = param_1;
      } while (param_1 < DAT_00088ffc);
LAB_000424a2:
      DAT_00088ffc = (undefined4 *)0x0;
    }
    if ((DAT_00088fbe & 0x40) == 0) {
LAB_000425f0:
      if ((1 < DAT_0008900c) ||
         ((uVar9 = DAT_0008900c, (undefined4 *)0x2 < DAT_00088ffc &&
          (((param_1 = DAT_00088ffc, (DAT_00088fc8 & 0x38600) == 0 && (DAT_00088fc8._3_1_ == '\0'))
           || ((undefined4 *)0x4 < DAT_00088ffc)))))) goto LAB_00042628;
      goto LAB_000424cc;
    }
  }
LAB_000424b7:
  uVar9 = DAT_0008900c;
  if (1 < DAT_0008900c) {
LAB_00042628:
                    /* WARNING: Subroutine does not return */
    FUN_0002be80("../../gas/config/tc-i386.c",0xe94,"process_immext",param_1);
  }
LAB_000424cc:
  DAT_0008900c = uVar9 + 1;
  iVar1 = (int)DAT_00088ffc + 0xe;
  (&DAT_00088fa0)[iVar1 * 2] = 0;
  (&DAT_00089038)[(int)DAT_00088ffc] = &DAT_00088f20 + uVar9 * 5;
  DAT_00088ffc = (undefined4 *)((int)DAT_00088ffc + 1);
  (&DAT_00088f30)[uVar9 * 0x14] = 2;
  *(undefined4 *)(&DAT_00088fa4 + iVar1 * 8) = 0;
  pbVar2 = (byte *)((int)&DAT_00088fa0 + iVar1 * 8 + 1);
  *pbVar2 = *pbVar2 | 4;
  (&DAT_00088f28)[uVar9 * 5] = DAT_00088fac;
  (&DAT_00088f2c)[uVar9 * 5] = 0;
  DAT_00088fac = 0xffff;
  return;
}


PUSH EBP
PUSH EDI
PUSH ESI
PUSH EBX
CALL 0x00016000
ADD EBX,0x3dc07
SUB ESP,0x1c
TEST byte ptr [EBX + 0x8fb6],0x28
JZ 0x00042548
MOV ECX,dword ptr [EBX + 0x8ffc]
TEST ECX,ECX
JZ 0x000424aa
LEA ESI,[EBX + 0xfffe1fec]
XOR EAX,EAX
LEA EDI,[0x8fa0]
MOV dword ptr [ESP + 0xc],ESI
JMP 0x0004244d
MOVZX EBP,byte ptr [EDX + 0xd]
CMP EBP,EAX
JNZ 0x00042460
AND ECX,0x4
JNZ 0x00042460
MOV EAX,ESI
CMP dword ptr [EDI + EBX*0x1 + 0x5c],ESI
JBE 0x000424a2
MOV EDX,dword ptr [EBX + EAX*0x4 + 0x9038]
LEA ESI,[EAX + 0x1]
MOVZX ECX,byte ptr [EDX + 0xc]
TEST CL,0x1
JZ 0x00042438
MOV ECX,dword ptr [EDI + EBX*0x1]
MOV EDX,dword ptr [EDX]
SUB ESP,0x4
MOV EBP,dword ptr [EBX + 0x714]
MOV dword ptr [ESP + 0xc],ECX
MOV dword ptr [ESP + 0x8],EDX
PUSH 0x5
PUSH dword ptr [ESP + 0x14]
PUSH 0x0
CALL 0x000141a0
MOV ECX,dword ptr [ESP + 0x18]
MOV dword ptr [ESP],ECX
PUSH ESI
MOV EDX,dword ptr [ESP + 0x18]
PUSH EDX
PUSH EBP
PUSH EAX
CALL 0x0002bd60
ADD ESP,0x20
MOV EAX,ESI
CMP dword ptr [EDI + EBX*0x1 + 0x5c],ESI
JA 0x0004244d
MOV dword ptr [EDI + EBX*0x1 + 0x5c],0x0
TEST byte ptr [EBX + 0x8fbe],0x40
JZ 0x000425f0
MOV EDX,dword ptr [EBX + 0x900c]
CMP EDX,0x1
JA 0x00042628
MOV EAX,dword ptr [EBX + 0x8ffc]
LEA ECX,[EDX + 0x1]
LEA EDX,[EDX + EDX*0x4]
SHL EDX,0x2
MOV dword ptr [EBX + 0x900c],ECX
LEA ECX,[EAX + 0xe]
LEA ESI,[EBX + EDX*0x1 + 0x8f20]
MOV dword ptr [EBX + ECX*0x8 + 0x8fa0],0x0
MOV dword ptr [EBX + EAX*0x4 + 0x9038],ESI
ADD EAX,0x1
MOV dword ptr [EBX + 0x8ffc],EAX
MOV EAX,dword ptr [EBX + 0x8fac]
MOV byte ptr [ESI + 0x10],0x2
MOV dword ptr [EBX + ECX*0x8 + 0x8fa4],0x0
OR byte ptr [EBX + ECX*0x8 + 0x8fa1],0x4
MOV dword ptr [EBX + EDX*0x1 + 0x8f28],EAX
MOV dword ptr [EBX + EDX*0x1 + 0x8f2c],0x0
MOV dword ptr [EBX + 0x8fac],0xffff
ADD ESP,0x1c
POP EBX
POP ESI
POP EDI
POP EBP
RET
TEST byte ptr [EBX + 0x8fbe],0x40
JZ 0x000425f0
MOV ESI,dword ptr [EBX + 0x8ffc]
TEST ESI,ESI
JZ 0x000424b7
CMP ESI,0x3
JNZ 0x00042697
MOV EAX,dword ptr [EBX + 0x9038]
MOVZX EDX,byte ptr [EAX + 0xc]
TEST DL,0x1
JNZ 0x00042648
AND EDX,0x4
OR DL,byte ptr [EAX + 0xd]
JNZ 0x00042648
MOV EAX,dword ptr [EBX + 0x903c]
MOVZX EDX,byte ptr [EAX + 0xc]
TEST DL,0x1
JNZ 0x00042690
CMP byte ptr [EAX + 0xd],0x1
JNZ 0x00042690
AND EDX,0x4
JNZ 0x00042690
MOV EAX,dword ptr [EBX + 0x9040]
TEST byte ptr [EAX + 0xc],0x5
JNZ 0x0004264d
XOR EDX,EDX
MOVZX ECX,byte ptr [EAX + 0xd]
CMP dword ptr [EBX + 0x8fac],0xfb
SETZ DL
ADD EDX,0x2
CMP EDX,ECX
JNZ 0x0004264d
MOV dword ptr [EBX + 0x8ffc],0x0
JMP 0x000424b7
MOV EDX,dword ptr [EBX + 0x900c]
CMP EDX,0x1
JA 0x00042628
MOV EAX,dword ptr [EBX + 0x8ffc]
CMP EAX,0x2
JBE 0x000424cc
TEST dword ptr [EBX + 0x8fc8],0x38600
JNZ 0x0004261f
CMP byte ptr [EBX + 0x8fcb],0x0
JZ 0x00042628
CMP EAX,0x4
JBE 0x000424cc
PUSH EAX
LEA EAX,[EBX + 0xfffe5308]
PUSH EAX
LEA EAX,[EBX + 0xfffe3b52]
PUSH 0xe94
PUSH EAX
CALL 0x0002be80
MOV ESI,0x1
MOV EDX,dword ptr [EAX]
SUB ESP,0x4
LEA EAX,[EBX + 0xfffe1fec]
MOV EBP,dword ptr [EBX + 0x8fa0]
MOV EDI,dword ptr [EBX + 0x714]
MOV dword ptr [ESP + 0x8],EDX
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000141a0
MOV dword ptr [ESP],EBP
PUSH ESI
MOV EDX,dword ptr [ESP + 0x18]
PUSH EDX
PUSH EDI
PUSH EAX
CALL 0x0002bd60
ADD ESP,0x20
JMP 0x000425db
MOV ESI,0x2
JMP 0x0004264d
LEA EAX,[EBX + 0xfffe5308]
PUSH EDX
PUSH EAX
LEA EAX,[EBX + 0xfffe3b52]
PUSH 0xe74
PUSH EAX
CALL 0x0002be80
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nvoid __regparm3 FUN_000423f0(undefined4 *param_1,undefined4 param_2)\n\n{\n  int iVar1;\n  byte *pbVar2;\n  undefined4 *puVar3;\n  undefined *puVar4;\n  undefined4 uVar5;\n  undefined4 uVar6;\n  undefined4 *puVar7;\n  undefined4 uVar8;\n  uint uVar9;\n  undefined4 uVar10;\n  \n  uVar5 = DAT_00088fa0;\n  puVar4 = PTR_DAT_00080714;\n  if ((DAT_00088fb6 & 0x28) == 0) {\n    if ((DAT_00088fbe & 0x40) == 0) goto LAB_000425f0;\n    if (DAT_00088ffc == (undefined4 *)0x0) goto LAB_000424b7;\n    if (DAT_00088ffc != (undefined4 *)0x3) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0002be80("../../gas/config/tc-i386.c",0xe74,"process_immext",param_2);\n    }\n    if (((*(byte *)(DAT_00089038 + 3) & 1) == 0) &&\n       ((*(byte *)(DAT_00089038 + 3) & 4) == 0 && *(char *)((int)DAT_00089038 + 0xd) == '\0')) {\n      if ((((*(byte *)(DAT_0008903c + 3) & 1) != 0) ||\n          (*(char *)((int)DAT_0008903c + 0xd) != '\x01')) ||\n         ((*(byte *)(DAT_0008903c + 3) & 4) != 0)) {\n        uVar10 = 2;\n        puVar7 = DAT_0008903c;\n        goto LAB_0004264d;\n      }\n      uVar10 = 3;\n      puVar7 = DAT_00089040;\n      if (((*(byte *)(DAT_00089040 + 3) & 5) != 0) ||\n         (param_1 = DAT_00089040,\n         (char)((DAT_00088fac == 0xfb) + '\x02') != *(char *)((int)DAT_00089040 + 0xd)))\n      goto LAB_0004264d;\n    }\n    else {\n      uVar10 = 1;\n      puVar7 = DAT_00089038;\nLAB_0004264d:\n      uVar6 = *puVar7;\n      uVar8 = dcgettext(0,"can\'t use register \'%s%s\' as operand %d in \'%s\'.",5);\n      param_1 = (undefined4 *)FUN_0002bd60(uVar8,puVar4,uVar6,uVar10,uVar5);\n    }\n    DAT_00088ffc = (undefined4 *)0x0;\n  }\n  else {\n    if (DAT_00088ffc != (undefined4 *)0x0) {\n      puVar7 = (undefined4 *)0x0;\n      do {\n        while( true ) {\n          uVar5 = DAT_00088fa0;\n          puVar4 = PTR_DAT_00080714;\n          puVar3 = (&DAT_00089038)[(int)puVar7];\n          param_1 = (undefined4 *)((int)puVar7 + 1);\n          if ((((*(byte *)(puVar3 + 3) & 1) == 0) &&\n              ((undefined4 *)(uint)*(byte *)((int)puVar3 + 0xd) == puVar7)) &&\n             ((*(byte *)(puVar3 + 3) & 4) == 0)) break;\n          uVar10 = *puVar3;\n          uVar6 = dcgettext(0,"can\'t use register \'%s%s\' as operand %d in \'%s\'.",5);\n          FUN_0002bd60(uVar6,puVar4,uVar10,param_1,uVar5);\n          puVar7 = param_1;\n          if (DAT_00088ffc <= param_1) goto LAB_000424a2;\n        }\n        puVar7 = param_1;\n      } while (param_1 < DAT_00088ffc);\nLAB_000424a2:\n      DAT_00088ffc = (undefined4 *)0x0;\n    }\n    if ((DAT_00088fbe & 0x40) == 0) {\nLAB_000425f0:\n      if ((1 < DAT_0008900c) ||\n         ((uVar9 = DAT_0008900c, (undefined4 *)0x2 < DAT_00088ffc &&\n          (((param_1 = DAT_00088ffc, (DAT_00088fc8 & 0x38600) == 0 && (DAT_00088fc8._3_1_ == '\0'))\n           || ((undefined4 *)0x4 < DAT_00088ffc)))))) goto LAB_00042628;\n      goto LAB_000424cc;\n    }\n  }\nLAB_000424b7:\n  uVar9 = DAT_0008900c;\n  if (1 < DAT_0008900c) {\nLAB_00042628:\n                    /* WARNING: Subroutine does not return */\n    FUN_0002be80("../../gas/config/tc-i386.c",0xe94,"process_immext",param_1);\n  }\nLAB_000424cc:\n  DAT_0008900c = uVar9 + 1;\n  iVar1 = (int)DAT_00088ffc + 0xe;\n  (&DAT_00088fa0)[iVar1 * 2] = 0;\n  (&DAT_00089038)[(int)DAT_00088ffc] = &DAT_00088f20 + uVar9 * 5;\n  DAT_00088ffc = (undefined4 *)((int)DAT_00088ffc + 1);\n  (&DAT_00088f30)[uVar9 * 0x14] = 2;\n  *(undefined4 *)(&DAT_00088fa4 + iVar1 * 8) = 0;\n  pbVar2 = (byte *)((int)&DAT_00088fa0 + iVar1 * 8 + 1);\n  *pbVar2 = *pbVar2 | 4;\n  (&DAT_00088f28)[uVar9 * 5] = DAT_00088fac;\n  (&DAT_00088f2c)[uVar9 * 5] = 0;\n  DAT_00088fac = 0xffff;\n  return;\n}\n\n" comment (function_definition "void __regparm3 FUN_000423f0(undefined4 *param_1,undefined4 param_2)\n\n{\n  int iVar1;\n  byte *pbVar2;\n  undefined4 *puVar3;\n  undefined *puVar4;\n  undefined4 uVar5;\n  undefined4 uVar6;\n  undefined4 *puVar7;\n  undefined4 uVar8;\n  uint uVar9;\n  undefined4 uVar10;\n  \n  uVar5 = DAT_00088fa0;\n  puVar4 = PTR_DAT_00080714;\n  if ((DAT_00088fb6 & 0x28) == 0) {\n    if ((DAT_00088fbe & 0x40) == 0) goto LAB_000425f0;\n    if (DAT_00088ffc == (undefined4 *)0x0) goto LAB_000424b7;\n    if (DAT_00088ffc != (undefined4 *)0x3) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0002be80("../../gas/config/tc-i386.c",0xe74,"process_immext",param_2);\n    }\n    if (((*(byte *)(DAT_00089038 + 3) & 1) == 0) &&\n       ((*(byte *)(DAT_00089038 + 3) & 4) == 0 && *(char *)((int)DAT_00089038 + 0xd) == '\0')) {\n      if ((((*(byte *)(DAT_0008903c + 3) & 1) != 0) ||\n          (*(char *)((int)DAT_0008903c + 0xd) != '\x01')) ||\n         ((*(byte *)(DAT_0008903c + 3) & 4) != 0)) {\n        uVar10 = 2;\n        puVar7 = DAT_0008903c;\n        goto LAB_0004264d;\n      }\n      uVar10 = 3;\n      puVar7 = DAT_00089040;\n      if (((*(byte *)(DAT_00089040 + 3) & 5) != 0) ||\n         (param_1 = DAT_00089040,\n         (char)((DAT_00088fac == 0xfb) + '\x02') != *(char *)((int)DAT_00089040 + 0xd)))\n      goto LAB_0004264d;\n    }\n    else {\n      uVar10 = 1;\n      puVar7 = DAT_00089038;\nLAB_0004264d:\n      uVar6 = *puVar7;\n      uVar8 = dcgettext(0,"can\'t use register \'%s%s\' as operand %d in \'%s\'.",5);\n      param_1 = (undefined4 *)FUN_0002bd60(uVar8,puVar4,uVar6,uVar10,uVar5);\n    }\n    DAT_00088ffc = (undefined4 *)0x0;\n  }\n  else {\n    if (DAT_00088ffc != (undefined4 *)0x0) {\n      puVar7 = (undefined4 *)0x0;\n      do {\n        while( true ) {\n          uVar5 = DAT_00088fa0;\n          puVar4 = PTR_DAT_00080714;\n          puVar3 = (&DAT_00089038)[(int)puVar7];\n          param_1 = (undefined4 *)((int)puVar7 + 1);\n          if ((((*(byte *)(puVar3 + 3) & 1) == 0) &&\n              ((undefined4 *)(uint)*(byte *)((int)puVar3 + 0xd) == puVar7)) &&\n             ((*(byte *)(puVar3 + 3) & 4) == 0)) break;\n          uVar10 = *puVar3;\n          uVar6 = dcgettext(0,"can\'t use register \'%s%s\' as operand %d in \'%s\'.",5);\n          FUN_0002bd60(uVar6,puVar4,uVar10,param_1,uVar5);\n          puVar7 = param_1;\n          if (DAT_00088ffc <= param_1) goto LAB_000424a2;\n        }\n        puVar7 = param_1;\n      } while (param_1 < DAT_00088ffc);\nLAB_000424a2:\n      DAT_00088ffc = (undefined4 *)0x0;\n    }\n    if ((DAT_00088fbe & 0x40) == 0) {\nLAB_000425f0:\n      if ((1 < DAT_0008900c) ||\n         ((uVar9 = DAT_0008900c, (undefined4 *)0x2 < DAT_00088ffc &&\n          (((param_1 = DAT_00088ffc, (DAT_00088fc8 & 0x38600) == 0 && (DAT_00088fc8._3_1_ == '\0'))\n           || ((undefined4 *)0x4 < DAT_00088ffc)))))) goto LAB_00042628;\n      goto LAB_000424cc;\n    }\n  }\nLAB_000424b7:\n  uVar9 = DAT_0008900c;\n  if (1 < DAT_0008900c) {\nLAB_00042628:\n                    /* WARNING: Subroutine does not return */\n    FUN_0002be80("../../gas/config/tc-i386.c",0xe94,"process_immext",param_1);\n  }\nLAB_000424cc:\n  DAT_0008900c = uVar9 + 1;\n  iVar1 = (int)DAT_00088ffc + 0xe;\n  (&DAT_00088fa0)[iVar1 * 2] = 0;\n  (&DAT_00089038)[(int)DAT_00088ffc] = &DAT_00088f20 + uVar9 * 5;\n  DAT_00088ffc = (undefined4 *)((int)DAT_00088ffc + 1);\n  (&DAT_00088f30)[uVar9 * 0x14] = 2;\n  *(undefined4 *)(&DAT_00088fa4 + iVar1 * 8) = 0;\n  pbVar2 = (byte *)((int)&DAT_00088fa0 + iVar1 * 8 + 1);\n  *pbVar2 = *pbVar2 | 4;\n  (&DAT_00088f28)[uVar9 * 5] = DAT_00088fac;\n  (&DAT_00088f2c)[uVar9 * 5] = 0;\n  DAT_00088fac = 0xffff;\n  return;\n}" primitive_type (ERROR "__regparm3" identifier) (function_declarator "FUN_000423f0(undefined4 *param_1,undefined4 param_2)" identifier (parameter_list "(undefined4 *param_1,undefined4 param_2)" ( (parameter_declaration "undefined4 *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "undefined4 param_2" type_identifier identifier) ))) (compound_statement "{\n  int iVar1;\n  byte *pbVar2;\n  undefined4 *puVar3;\n  undefined *puVar4;\n  undefined4 uVar5;\n  undefined4 uVar6;\n  undefined4 *puVar7;\n  undefined4 uVar8;\n  uint uVar9;\n  undefined4 uVar10;\n  \n  uVar5 = DAT_00088fa0;\n  puVar4 = PTR_DAT_00080714;\n  if ((DAT_00088fb6 & 0x28) == 0) {\n    if ((DAT_00088fbe & 0x40) == 0) goto LAB_000425f0;\n    if (DAT_00088ffc == (undefined4 *)0x0) goto LAB_000424b7;\n    if (DAT_00088ffc != (undefined4 *)0x3) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0002be80("../../gas/config/tc-i386.c",0xe74,"process_immext",param_2);\n    }\n    if (((*(byte *)(DAT_00089038 + 3) & 1) == 0) &&\n       ((*(byte *)(DAT_00089038 + 3) & 4) == 0 && *(char *)((int)DAT_00089038 + 0xd) == '\0')) {\n      if ((((*(byte *)(DAT_0008903c + 3) & 1) != 0) ||\n          (*(char *)((int)DAT_0008903c + 0xd) != '\x01')) ||\n         ((*(byte *)(DAT_0008903c + 3) & 4) != 0)) {\n        uVar10 = 2;\n        puVar7 = DAT_0008903c;\n        goto LAB_0004264d;\n      }\n      uVar10 = 3;\n      puVar7 = DAT_00089040;\n      if (((*(byte *)(DAT_00089040 + 3) & 5) != 0) ||\n         (param_1 = DAT_00089040,\n         (char)((DAT_00088fac == 0xfb) + '\x02') != *(char *)((int)DAT_00089040 + 0xd)))\n      goto LAB_0004264d;\n    }\n    else {\n      uVar10 = 1;\n      puVar7 = DAT_00089038;\nLAB_0004264d:\n      uVar6 = *puVar7;\n      uVar8 = dcgettext(0,"can\'t use register \'%s%s\' as operand %d in \'%s\'.",5);\n      param_1 = (undefined4 *)FUN_0002bd60(uVar8,puVar4,uVar6,uVar10,uVar5);\n    }\n    DAT_00088ffc = (undefined4 *)0x0;\n  }\n  else {\n    if (DAT_00088ffc != (undefined4 *)0x0) {\n      puVar7 = (undefined4 *)0x0;\n      do {\n        while( true ) {\n          uVar5 = DAT_00088fa0;\n          puVar4 = PTR_DAT_00080714;\n          puVar3 = (&DAT_00089038)[(int)puVar7];\n          param_1 = (undefined4 *)((int)puVar7 + 1);\n          if ((((*(byte *)(puVar3 + 3) & 1) == 0) &&\n              ((undefined4 *)(uint)*(byte *)((int)puVar3 + 0xd) == puVar7)) &&\n             ((*(byte *)(puVar3 + 3) & 4) == 0)) break;\n          uVar10 = *puVar3;\n          uVar6 = dcgettext(0,"can\'t use register \'%s%s\' as operand %d in \'%s\'.",5);\n          FUN_0002bd60(uVar6,puVar4,uVar10,param_1,uVar5);\n          puVar7 = param_1;\n          if (DAT_00088ffc <= param_1) goto LAB_000424a2;\n        }\n        puVar7 = param_1;\n      } while (param_1 < DAT_00088ffc);\nLAB_000424a2:\n      DAT_00088ffc = (undefined4 *)0x0;\n    }\n    if ((DAT_00088fbe & 0x40) == 0) {\nLAB_000425f0:\n      if ((1 < DAT_0008900c) ||\n         ((uVar9 = DAT_0008900c, (undefined4 *)0x2 < DAT_00088ffc &&\n          (((param_1 = DAT_00088ffc, (DAT_00088fc8 & 0x38600) == 0 && (DAT_00088fc8._3_1_ == '\0'))\n           || ((undefined4 *)0x4 < DAT_00088ffc)))))) goto LAB_00042628;\n      goto LAB_000424cc;\n    }\n  }\nLAB_000424b7:\n  uVar9 = DAT_0008900c;\n  if (1 < DAT_0008900c) {\nLAB_00042628:\n                    /* WARNING: Subroutine does not return */\n    FUN_0002be80("../../gas/config/tc-i386.c",0xe94,"process_immext",param_1);\n  }\nLAB_000424cc:\n  DAT_0008900c = uVar9 + 1;\n  iVar1 = (int)DAT_00088ffc + 0xe;\n  (&DAT_00088fa0)[iVar1 * 2] = 0;\n  (&DAT_00089038)[(int)DAT_00088ffc] = &DAT_00088f20 + uVar9 * 5;\n  DAT_00088ffc = (undefined4 *)((int)DAT_00088ffc + 1);\n  (&DAT_00088f30)[uVar9 * 0x14] = 2;\n  *(undefined4 *)(&DAT_00088fa4 + iVar1 * 8) = 0;\n  pbVar2 = (byte *)((int)&DAT_00088fa0 + iVar1 * 8 + 1);\n  *pbVar2 = *pbVar2 | 4;\n  (&DAT_00088f28)[uVar9 * 5] = DAT_00088fac;\n  (&DAT_00088f2c)[uVar9 * 5] = 0;\n  DAT_00088fac = 0xffff;\n  return;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "byte *pbVar2;" type_identifier (pointer_declarator "*pbVar2" * identifier) ;) (declaration "undefined4 *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "undefined *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "undefined4 uVar5;" type_identifier identifier ;) (declaration "undefined4 uVar6;" type_identifier identifier ;) (declaration "undefined4 *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "undefined4 uVar8;" type_identifier identifier ;) (declaration "uint uVar9;" type_identifier identifier ;) (declaration "undefined4 uVar10;" type_identifier identifier ;) (expression_statement "uVar5 = DAT_00088fa0;" (assignment_expression "uVar5 = DAT_00088fa0" identifier = identifier) ;) (expression_statement "puVar4 = PTR_DAT_00080714;" (assignment_expression "puVar4 = PTR_DAT_00080714" identifier = identifier) ;) (if_statement "if ((DAT_00088fb6 & 0x28) == 0) {\n    if ((DAT_00088fbe & 0x40) == 0) goto LAB_000425f0;\n    if (DAT_00088ffc == (undefined4 *)0x0) goto LAB_000424b7;\n    if (DAT_00088ffc != (undefined4 *)0x3) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0002be80("../../gas/config/tc-i386.c",0xe74,"process_immext",param_2);\n    }\n    if (((*(byte *)(DAT_00089038 + 3) & 1) == 0) &&\n       ((*(byte *)(DAT_00089038 + 3) & 4) == 0 && *(char *)((int)DAT_00089038 + 0xd) == '\0')) {\n      if ((((*(byte *)(DAT_0008903c + 3) & 1) != 0) ||\n          (*(char *)((int)DAT_0008903c + 0xd) != '\x01')) ||\n         ((*(byte *)(DAT_0008903c + 3) & 4) != 0)) {\n        uVar10 = 2;\n        puVar7 = DAT_0008903c;\n        goto LAB_0004264d;\n      }\n      uVar10 = 3;\n      puVar7 = DAT_00089040;\n      if (((*(byte *)(DAT_00089040 + 3) & 5) != 0) ||\n         (param_1 = DAT_00089040,\n         (char)((DAT_00088fac == 0xfb) + '\x02') != *(char *)((int)DAT_00089040 + 0xd)))\n      goto LAB_0004264d;\n    }\n    else {\n      uVar10 = 1;\n      puVar7 = DAT_00089038;\nLAB_0004264d:\n      uVar6 = *puVar7;\n      uVar8 = dcgettext(0,"can\'t use register \'%s%s\' as operand %d in \'%s\'.",5);\n      param_1 = (undefined4 *)FUN_0002bd60(uVar8,puVar4,uVar6,uVar10,uVar5);\n    }\n    DAT_00088ffc = (undefined4 *)0x0;\n  }\n  else {\n    if (DAT_00088ffc != (undefined4 *)0x0) {\n      puVar7 = (undefined4 *)0x0;\n      do {\n        while( true ) {\n          uVar5 = DAT_00088fa0;\n          puVar4 = PTR_DAT_00080714;\n          puVar3 = (&DAT_00089038)[(int)puVar7];\n          param_1 = (undefined4 *)((int)puVar7 + 1);\n          if ((((*(byte *)(puVar3 + 3) & 1) == 0) &&\n              ((undefined4 *)(uint)*(byte *)((int)puVar3 + 0xd) == puVar7)) &&\n             ((*(byte *)(puVar3 + 3) & 4) == 0)) break;\n          uVar10 = *puVar3;\n          uVar6 = dcgettext(0,"can\'t use register \'%s%s\' as operand %d in \'%s\'.",5);\n          FUN_0002bd60(uVar6,puVar4,uVar10,param_1,uVar5);\n          puVar7 = param_1;\n          if (DAT_00088ffc <= param_1) goto LAB_000424a2;\n        }\n        puVar7 = param_1;\n      } while (param_1 < DAT_00088ffc);\nLAB_000424a2:\n      DAT_00088ffc = (undefined4 *)0x0;\n    }\n    if ((DAT_00088fbe & 0x40) == 0) {\nLAB_000425f0:\n      if ((1 < DAT_0008900c) ||\n         ((uVar9 = DAT_0008900c, (undefined4 *)0x2 < DAT_00088ffc &&\n          (((param_1 = DAT_00088ffc, (DAT_00088fc8 & 0x38600) == 0 && (DAT_00088fc8._3_1_ == '\0'))\n           || ((undefined4 *)0x4 < DAT_00088ffc)))))) goto LAB_00042628;\n      goto LAB_000424cc;\n    }\n  }" if (parenthesized_expression "((DAT_00088fb6 & 0x28) == 0)" ( (binary_expression "(DAT_00088fb6 & 0x28) == 0" (parenthesized_expression "(DAT_00088fb6 & 0x28)" ( (binary_expression "DAT_00088fb6 & 0x28" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n    if ((DAT_00088fbe & 0x40) == 0) goto LAB_000425f0;\n    if (DAT_00088ffc == (undefined4 *)0x0) goto LAB_000424b7;\n    if (DAT_00088ffc != (undefined4 *)0x3) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0002be80("../../gas/config/tc-i386.c",0xe74,"process_immext",param_2);\n    }\n    if (((*(byte *)(DAT_00089038 + 3) & 1) == 0) &&\n       ((*(byte *)(DAT_00089038 + 3) & 4) == 0 && *(char *)((int)DAT_00089038 + 0xd) == '\0')) {\n      if ((((*(byte *)(DAT_0008903c + 3) & 1) != 0) ||\n          (*(char *)((int)DAT_0008903c + 0xd) != '\x01')) ||\n         ((*(byte *)(DAT_0008903c + 3) & 4) != 0)) {\n        uVar10 = 2;\n        puVar7 = DAT_0008903c;\n        goto LAB_0004264d;\n      }\n      uVar10 = 3;\n      puVar7 = DAT_00089040;\n      if (((*(byte *)(DAT_00089040 + 3) & 5) != 0) ||\n         (param_1 = DAT_00089040,\n         (char)((DAT_00088fac == 0xfb) + '\x02') != *(char *)((int)DAT_00089040 + 0xd)))\n      goto LAB_0004264d;\n    }\n    else {\n      uVar10 = 1;\n      puVar7 = DAT_00089038;\nLAB_0004264d:\n      uVar6 = *puVar7;\n      uVar8 = dcgettext(0,"can\'t use register \'%s%s\' as operand %d in \'%s\'.",5);\n      param_1 = (undefined4 *)FUN_0002bd60(uVar8,puVar4,uVar6,uVar10,uVar5);\n    }\n    DAT_00088ffc = (undefined4 *)0x0;\n  }" { (if_statement "if ((DAT_00088fbe & 0x40) == 0) goto LAB_000425f0;" if (parenthesized_expression "((DAT_00088fbe & 0x40) == 0)" ( (binary_expression "(DAT_00088fbe & 0x40) == 0" (parenthesized_expression "(DAT_00088fbe & 0x40)" ( (binary_expression "DAT_00088fbe & 0x40" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_000425f0;" goto statement_identifier ;)) (if_statement "if (DAT_00088ffc == (undefined4 *)0x0) goto LAB_000424b7;" if (parenthesized_expression "(DAT_00088ffc == (undefined4 *)0x0)" ( (binary_expression "DAT_00088ffc == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000424b7;" goto statement_identifier ;)) (if_statement "if (DAT_00088ffc != (undefined4 *)0x3) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0002be80("../../gas/config/tc-i386.c",0xe74,"process_immext",param_2);\n    }" if (parenthesized_expression "(DAT_00088ffc != (undefined4 *)0x3)" ( (binary_expression "DAT_00088ffc != (undefined4 *)0x3" identifier != (cast_expression "(undefined4 *)0x3" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      FUN_0002be80("../../gas/config/tc-i386.c",0xe74,"process_immext",param_2);\n    }" { comment (expression_statement "FUN_0002be80("../../gas/config/tc-i386.c",0xe74,"process_immext",param_2);" (call_expression "FUN_0002be80("../../gas/config/tc-i386.c",0xe74,"process_immext",param_2)" identifier (argument_list "("../../gas/config/tc-i386.c",0xe74,"process_immext",param_2)" ( (string_literal ""../../gas/config/tc-i386.c"" " string_content ") , number_literal , (string_literal ""process_immext"" " string_content ") , identifier ))) ;) })) (if_statement "if (((*(byte *)(DAT_00089038 + 3) & 1) == 0) &&\n       ((*(byte *)(DAT_00089038 + 3) & 4) == 0 && *(char *)((int)DAT_00089038 + 0xd) == '\0')) {\n      if ((((*(byte *)(DAT_0008903c + 3) & 1) != 0) ||\n          (*(char *)((int)DAT_0008903c + 0xd) != '\x01')) ||\n         ((*(byte *)(DAT_0008903c + 3) & 4) != 0)) {\n        uVar10 = 2;\n        puVar7 = DAT_0008903c;\n        goto LAB_0004264d;\n      }\n      uVar10 = 3;\n      puVar7 = DAT_00089040;\n      if (((*(byte *)(DAT_00089040 + 3) & 5) != 0) ||\n         (param_1 = DAT_00089040,\n         (char)((DAT_00088fac == 0xfb) + '\x02') != *(char *)((int)DAT_00089040 + 0xd)))\n      goto LAB_0004264d;\n    }\n    else {\n      uVar10 = 1;\n      puVar7 = DAT_00089038;\nLAB_0004264d:\n      uVar6 = *puVar7;\n      uVar8 = dcgettext(0,"can\'t use register \'%s%s\' as operand %d in \'%s\'.",5);\n      param_1 = (undefined4 *)FUN_0002bd60(uVar8,puVar4,uVar6,uVar10,uVar5);\n    }" if (parenthesized_expression "(((*(byte *)(DAT_00089038 + 3) & 1) == 0) &&\n       ((*(byte *)(DAT_00089038 + 3) & 4) == 0 && *(char *)((int)DAT_00089038 + 0xd) == '\0'))" ( (binary_expression "((*(byte *)(DAT_00089038 + 3) & 1) == 0) &&\n       ((*(byte *)(DAT_00089038 + 3) & 4) == 0 && *(char *)((int)DAT_00089038 + 0xd) == '\0')" (parenthesized_expression "((*(byte *)(DAT_00089038 + 3) & 1) == 0)" ( (binary_expression "(*(byte *)(DAT_00089038 + 3) & 1) == 0" (parenthesized_expression "(*(byte *)(DAT_00089038 + 3) & 1)" ( (binary_expression "*(byte *)(DAT_00089038 + 3) & 1" (pointer_expression "*(byte *)(DAT_00089038 + 3)" * (cast_expression "(byte *)(DAT_00089038 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00089038 + 3)" ( (binary_expression "DAT_00089038 + 3" identifier + number_literal) )))) & number_literal) )) == number_literal) )) && (parenthesized_expression "((*(byte *)(DAT_00089038 + 3) & 4) == 0 && *(char *)((int)DAT_00089038 + 0xd) == '\0')" ( (binary_expression "(*(byte *)(DAT_00089038 + 3) & 4) == 0 && *(char *)((int)DAT_00089038 + 0xd) == '\0'" (binary_expression "(*(byte *)(DAT_00089038 + 3) & 4) == 0" (parenthesized_expression "(*(byte *)(DAT_00089038 + 3) & 4)" ( (binary_expression "*(byte *)(DAT_00089038 + 3) & 4" (pointer_expression "*(byte *)(DAT_00089038 + 3)" * (cast_expression "(byte *)(DAT_00089038 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00089038 + 3)" ( (binary_expression "DAT_00089038 + 3" identifier + number_literal) )))) & number_literal) )) == number_literal) && (binary_expression "*(char *)((int)DAT_00089038 + 0xd) == '\0'" (pointer_expression "*(char *)((int)DAT_00089038 + 0xd)" * (cast_expression "(char *)((int)DAT_00089038 + 0xd)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)DAT_00089038 + 0xd)" ( (binary_expression "(int)DAT_00089038 + 0xd" (cast_expression "(int)DAT_00089038" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence '))) ))) )) (compound_statement "{\n      if ((((*(byte *)(DAT_0008903c + 3) & 1) != 0) ||\n          (*(char *)((int)DAT_0008903c + 0xd) != '\x01')) ||\n         ((*(byte *)(DAT_0008903c + 3) & 4) != 0)) {\n        uVar10 = 2;\n        puVar7 = DAT_0008903c;\n        goto LAB_0004264d;\n      }\n      uVar10 = 3;\n      puVar7 = DAT_00089040;\n      if (((*(byte *)(DAT_00089040 + 3) & 5) != 0) ||\n         (param_1 = DAT_00089040,\n         (char)((DAT_00088fac == 0xfb) + '\x02') != *(char *)((int)DAT_00089040 + 0xd)))\n      goto LAB_0004264d;\n    }" { (if_statement "if ((((*(byte *)(DAT_0008903c + 3) & 1) != 0) ||\n          (*(char *)((int)DAT_0008903c + 0xd) != '\x01')) ||\n         ((*(byte *)(DAT_0008903c + 3) & 4) != 0)) {\n        uVar10 = 2;\n        puVar7 = DAT_0008903c;\n        goto LAB_0004264d;\n      }" if (parenthesized_expression "((((*(byte *)(DAT_0008903c + 3) & 1) != 0) ||\n          (*(char *)((int)DAT_0008903c + 0xd) != '\x01')) ||\n         ((*(byte *)(DAT_0008903c + 3) & 4) != 0))" ( (binary_expression "(((*(byte *)(DAT_0008903c + 3) & 1) != 0) ||\n          (*(char *)((int)DAT_0008903c + 0xd) != '\x01')) ||\n         ((*(byte *)(DAT_0008903c + 3) & 4) != 0)" (parenthesized_expression "(((*(byte *)(DAT_0008903c + 3) & 1) != 0) ||\n          (*(char *)((int)DAT_0008903c + 0xd) != '\x01'))" ( (binary_expression "((*(byte *)(DAT_0008903c + 3) & 1) != 0) ||\n          (*(char *)((int)DAT_0008903c + 0xd) != '\x01')" (parenthesized_expression "((*(byte *)(DAT_0008903c + 3) & 1) != 0)" ( (binary_expression "(*(byte *)(DAT_0008903c + 3) & 1) != 0" (parenthesized_expression "(*(byte *)(DAT_0008903c + 3) & 1)" ( (binary_expression "*(byte *)(DAT_0008903c + 3) & 1" (pointer_expression "*(byte *)(DAT_0008903c + 3)" * (cast_expression "(byte *)(DAT_0008903c + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_0008903c + 3)" ( (binary_expression "DAT_0008903c + 3" identifier + number_literal) )))) & number_literal) )) != number_literal) )) || (parenthesized_expression "(*(char *)((int)DAT_0008903c + 0xd) != '\x01')" ( (binary_expression "*(char *)((int)DAT_0008903c + 0xd) != '\x01'" (pointer_expression "*(char *)((int)DAT_0008903c + 0xd)" * (cast_expression "(char *)((int)DAT_0008903c + 0xd)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)DAT_0008903c + 0xd)" ( (binary_expression "(int)DAT_0008903c + 0xd" (cast_expression "(int)DAT_0008903c" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != (char_literal "'\x01'" ' escape_sequence ')) ))) )) || (parenthesized_expression "((*(byte *)(DAT_0008903c + 3) & 4) != 0)" ( (binary_expression "(*(byte *)(DAT_0008903c + 3) & 4) != 0" (parenthesized_expression "(*(byte *)(DAT_0008903c + 3) & 4)" ( (binary_expression "*(byte *)(DAT_0008903c + 3) & 4" (pointer_expression "*(byte *)(DAT_0008903c + 3)" * (cast_expression "(byte *)(DAT_0008903c + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_0008903c + 3)" ( (binary_expression "DAT_0008903c + 3" identifier + number_literal) )))) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n        uVar10 = 2;\n        puVar7 = DAT_0008903c;\n        goto LAB_0004264d;\n      }" { (expression_statement "uVar10 = 2;" (assignment_expression "uVar10 = 2" identifier = number_literal) ;) (expression_statement "puVar7 = DAT_0008903c;" (assignment_expression "puVar7 = DAT_0008903c" identifier = identifier) ;) (goto_statement "goto LAB_0004264d;" goto statement_identifier ;) })) (expression_statement "uVar10 = 3;" (assignment_expression "uVar10 = 3" identifier = number_literal) ;) (expression_statement "puVar7 = DAT_00089040;" (assignment_expression "puVar7 = DAT_00089040" identifier = identifier) ;) (if_statement "if (((*(byte *)(DAT_00089040 + 3) & 5) != 0) ||\n         (param_1 = DAT_00089040,\n         (char)((DAT_00088fac == 0xfb) + '\x02') != *(char *)((int)DAT_00089040 + 0xd)))\n      goto LAB_0004264d;" if (parenthesized_expression "(((*(byte *)(DAT_00089040 + 3) & 5) != 0) ||\n         (param_1 = DAT_00089040,\n         (char)((DAT_00088fac == 0xfb) + '\x02') != *(char *)((int)DAT_00089040 + 0xd)))" ( (binary_expression "((*(byte *)(DAT_00089040 + 3) & 5) != 0) ||\n         (param_1 = DAT_00089040,\n         (char)((DAT_00088fac == 0xfb) + '\x02') != *(char *)((int)DAT_00089040 + 0xd))" (parenthesized_expression "((*(byte *)(DAT_00089040 + 3) & 5) != 0)" ( (binary_expression "(*(byte *)(DAT_00089040 + 3) & 5) != 0" (parenthesized_expression "(*(byte *)(DAT_00089040 + 3) & 5)" ( (binary_expression "*(byte *)(DAT_00089040 + 3) & 5" (pointer_expression "*(byte *)(DAT_00089040 + 3)" * (cast_expression "(byte *)(DAT_00089040 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00089040 + 3)" ( (binary_expression "DAT_00089040 + 3" identifier + number_literal) )))) & number_literal) )) != number_literal) )) || (parenthesized_expression "(param_1 = DAT_00089040,\n         (char)((DAT_00088fac == 0xfb) + '\x02') != *(char *)((int)DAT_00089040 + 0xd))" ( (comma_expression "param_1 = DAT_00089040,\n         (char)((DAT_00088fac == 0xfb) + '\x02') != *(char *)((int)DAT_00089040 + 0xd)" (assignment_expression "param_1 = DAT_00089040" identifier = identifier) , (binary_expression "(char)((DAT_00088fac == 0xfb) + '\x02') != *(char *)((int)DAT_00089040 + 0xd)" (cast_expression "(char)((DAT_00088fac == 0xfb) + '\x02')" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "((DAT_00088fac == 0xfb) + '\x02')" ( (binary_expression "(DAT_00088fac == 0xfb) + '\x02'" (parenthesized_expression "(DAT_00088fac == 0xfb)" ( (binary_expression "DAT_00088fac == 0xfb" identifier == number_literal) )) + (char_literal "'\x02'" ' escape_sequence ')) ))) != (pointer_expression "*(char *)((int)DAT_00089040 + 0xd)" * (cast_expression "(char *)((int)DAT_00089040 + 0xd)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)DAT_00089040 + 0xd)" ( (binary_expression "(int)DAT_00089040 + 0xd" (cast_expression "(int)DAT_00089040" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))))) ))) )) (goto_statement "goto LAB_0004264d;" goto statement_identifier ;)) }) (else_clause "else {\n      uVar10 = 1;\n      puVar7 = DAT_00089038;\nLAB_0004264d:\n      uVar6 = *puVar7;\n      uVar8 = dcgettext(0,"can\'t use register \'%s%s\' as operand %d in \'%s\'.",5);\n      param_1 = (undefined4 *)FUN_0002bd60(uVar8,puVar4,uVar6,uVar10,uVar5);\n    }" else (compound_statement "{\n      uVar10 = 1;\n      puVar7 = DAT_00089038;\nLAB_0004264d:\n      uVar6 = *puVar7;\n      uVar8 = dcgettext(0,"can\'t use register \'%s%s\' as operand %d in \'%s\'.",5);\n      param_1 = (undefined4 *)FUN_0002bd60(uVar8,puVar4,uVar6,uVar10,uVar5);\n    }" { (expression_statement "uVar10 = 1;" (assignment_expression "uVar10 = 1" identifier = number_literal) ;) (expression_statement "puVar7 = DAT_00089038;" (assignment_expression "puVar7 = DAT_00089038" identifier = identifier) ;) (labeled_statement "LAB_0004264d:\n      uVar6 = *puVar7;" statement_identifier : (expression_statement "uVar6 = *puVar7;" (assignment_expression "uVar6 = *puVar7" identifier = (pointer_expression "*puVar7" * identifier)) ;)) (expression_statement "uVar8 = dcgettext(0,"can\'t use register \'%s%s\' as operand %d in \'%s\'.",5);" (assignment_expression "uVar8 = dcgettext(0,"can\'t use register \'%s%s\' as operand %d in \'%s\'.",5)" identifier = (call_expression "dcgettext(0,"can\'t use register \'%s%s\' as operand %d in \'%s\'.",5)" identifier (argument_list "(0,"can\'t use register \'%s%s\' as operand %d in \'%s\'.",5)" ( number_literal , (string_literal ""can\'t use register \'%s%s\' as operand %d in \'%s\'."" " string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content ") , number_literal )))) ;) (expression_statement "param_1 = (undefined4 *)FUN_0002bd60(uVar8,puVar4,uVar6,uVar10,uVar5);" (assignment_expression "param_1 = (undefined4 *)FUN_0002bd60(uVar8,puVar4,uVar6,uVar10,uVar5)" identifier = (cast_expression "(undefined4 *)FUN_0002bd60(uVar8,puVar4,uVar6,uVar10,uVar5)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0002bd60(uVar8,puVar4,uVar6,uVar10,uVar5)" identifier (argument_list "(uVar8,puVar4,uVar6,uVar10,uVar5)" ( identifier , identifier , identifier , identifier , identifier ))))) ;) }))) (expression_statement "DAT_00088ffc = (undefined4 *)0x0;" (assignment_expression "DAT_00088ffc = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n    if (DAT_00088ffc != (undefined4 *)0x0) {\n      puVar7 = (undefined4 *)0x0;\n      do {\n        while( true ) {\n          uVar5 = DAT_00088fa0;\n          puVar4 = PTR_DAT_00080714;\n          puVar3 = (&DAT_00089038)[(int)puVar7];\n          param_1 = (undefined4 *)((int)puVar7 + 1);\n          if ((((*(byte *)(puVar3 + 3) & 1) == 0) &&\n              ((undefined4 *)(uint)*(byte *)((int)puVar3 + 0xd) == puVar7)) &&\n             ((*(byte *)(puVar3 + 3) & 4) == 0)) break;\n          uVar10 = *puVar3;\n          uVar6 = dcgettext(0,"can\'t use register \'%s%s\' as operand %d in \'%s\'.",5);\n          FUN_0002bd60(uVar6,puVar4,uVar10,param_1,uVar5);\n          puVar7 = param_1;\n          if (DAT_00088ffc <= param_1) goto LAB_000424a2;\n        }\n        puVar7 = param_1;\n      } while (param_1 < DAT_00088ffc);\nLAB_000424a2:\n      DAT_00088ffc = (undefined4 *)0x0;\n    }\n    if ((DAT_00088fbe & 0x40) == 0) {\nLAB_000425f0:\n      if ((1 < DAT_0008900c) ||\n         ((uVar9 = DAT_0008900c, (undefined4 *)0x2 < DAT_00088ffc &&\n          (((param_1 = DAT_00088ffc, (DAT_00088fc8 & 0x38600) == 0 && (DAT_00088fc8._3_1_ == '\0'))\n           || ((undefined4 *)0x4 < DAT_00088ffc)))))) goto LAB_00042628;\n      goto LAB_000424cc;\n    }\n  }" else (compound_statement "{\n    if (DAT_00088ffc != (undefined4 *)0x0) {\n      puVar7 = (undefined4 *)0x0;\n      do {\n        while( true ) {\n          uVar5 = DAT_00088fa0;\n          puVar4 = PTR_DAT_00080714;\n          puVar3 = (&DAT_00089038)[(int)puVar7];\n          param_1 = (undefined4 *)((int)puVar7 + 1);\n          if ((((*(byte *)(puVar3 + 3) & 1) == 0) &&\n              ((undefined4 *)(uint)*(byte *)((int)puVar3 + 0xd) == puVar7)) &&\n             ((*(byte *)(puVar3 + 3) & 4) == 0)) break;\n          uVar10 = *puVar3;\n          uVar6 = dcgettext(0,"can\'t use register \'%s%s\' as operand %d in \'%s\'.",5);\n          FUN_0002bd60(uVar6,puVar4,uVar10,param_1,uVar5);\n          puVar7 = param_1;\n          if (DAT_00088ffc <= param_1) goto LAB_000424a2;\n        }\n        puVar7 = param_1;\n      } while (param_1 < DAT_00088ffc);\nLAB_000424a2:\n      DAT_00088ffc = (undefined4 *)0x0;\n    }\n    if ((DAT_00088fbe & 0x40) == 0) {\nLAB_000425f0:\n      if ((1 < DAT_0008900c) ||\n         ((uVar9 = DAT_0008900c, (undefined4 *)0x2 < DAT_00088ffc &&\n          (((param_1 = DAT_00088ffc, (DAT_00088fc8 & 0x38600) == 0 && (DAT_00088fc8._3_1_ == '\0'))\n           || ((undefined4 *)0x4 < DAT_00088ffc)))))) goto LAB_00042628;\n      goto LAB_000424cc;\n    }\n  }" { (if_statement "if (DAT_00088ffc != (undefined4 *)0x0) {\n      puVar7 = (undefined4 *)0x0;\n      do {\n        while( true ) {\n          uVar5 = DAT_00088fa0;\n          puVar4 = PTR_DAT_00080714;\n          puVar3 = (&DAT_00089038)[(int)puVar7];\n          param_1 = (undefined4 *)((int)puVar7 + 1);\n          if ((((*(byte *)(puVar3 + 3) & 1) == 0) &&\n              ((undefined4 *)(uint)*(byte *)((int)puVar3 + 0xd) == puVar7)) &&\n             ((*(byte *)(puVar3 + 3) & 4) == 0)) break;\n          uVar10 = *puVar3;\n          uVar6 = dcgettext(0,"can\'t use register \'%s%s\' as operand %d in \'%s\'.",5);\n          FUN_0002bd60(uVar6,puVar4,uVar10,param_1,uVar5);\n          puVar7 = param_1;\n          if (DAT_00088ffc <= param_1) goto LAB_000424a2;\n        }\n        puVar7 = param_1;\n      } while (param_1 < DAT_00088ffc);\nLAB_000424a2:\n      DAT_00088ffc = (undefined4 *)0x0;\n    }" if (parenthesized_expression "(DAT_00088ffc != (undefined4 *)0x0)" ( (binary_expression "DAT_00088ffc != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      puVar7 = (undefined4 *)0x0;\n      do {\n        while( true ) {\n          uVar5 = DAT_00088fa0;\n          puVar4 = PTR_DAT_00080714;\n          puVar3 = (&DAT_00089038)[(int)puVar7];\n          param_1 = (undefined4 *)((int)puVar7 + 1);\n          if ((((*(byte *)(puVar3 + 3) & 1) == 0) &&\n              ((undefined4 *)(uint)*(byte *)((int)puVar3 + 0xd) == puVar7)) &&\n             ((*(byte *)(puVar3 + 3) & 4) == 0)) break;\n          uVar10 = *puVar3;\n          uVar6 = dcgettext(0,"can\'t use register \'%s%s\' as operand %d in \'%s\'.",5);\n          FUN_0002bd60(uVar6,puVar4,uVar10,param_1,uVar5);\n          puVar7 = param_1;\n          if (DAT_00088ffc <= param_1) goto LAB_000424a2;\n        }\n        puVar7 = param_1;\n      } while (param_1 < DAT_00088ffc);\nLAB_000424a2:\n      DAT_00088ffc = (undefined4 *)0x0;\n    }" { (expression_statement "puVar7 = (undefined4 *)0x0;" (assignment_expression "puVar7 = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n        while( true ) {\n          uVar5 = DAT_00088fa0;\n          puVar4 = PTR_DAT_00080714;\n          puVar3 = (&DAT_00089038)[(int)puVar7];\n          param_1 = (undefined4 *)((int)puVar7 + 1);\n          if ((((*(byte *)(puVar3 + 3) & 1) == 0) &&\n              ((undefined4 *)(uint)*(byte *)((int)puVar3 + 0xd) == puVar7)) &&\n             ((*(byte *)(puVar3 + 3) & 4) == 0)) break;\n          uVar10 = *puVar3;\n          uVar6 = dcgettext(0,"can\'t use register \'%s%s\' as operand %d in \'%s\'.",5);\n          FUN_0002bd60(uVar6,puVar4,uVar10,param_1,uVar5);\n          puVar7 = param_1;\n          if (DAT_00088ffc <= param_1) goto LAB_000424a2;\n        }\n        puVar7 = param_1;\n      } while (param_1 < DAT_00088ffc);" do (compound_statement "{\n        while( true ) {\n          uVar5 = DAT_00088fa0;\n          puVar4 = PTR_DAT_00080714;\n          puVar3 = (&DAT_00089038)[(int)puVar7];\n          param_1 = (undefined4 *)((int)puVar7 + 1);\n          if ((((*(byte *)(puVar3 + 3) & 1) == 0) &&\n              ((undefined4 *)(uint)*(byte *)((int)puVar3 + 0xd) == puVar7)) &&\n             ((*(byte *)(puVar3 + 3) & 4) == 0)) break;\n          uVar10 = *puVar3;\n          uVar6 = dcgettext(0,"can\'t use register \'%s%s\' as operand %d in \'%s\'.",5);\n          FUN_0002bd60(uVar6,puVar4,uVar10,param_1,uVar5);\n          puVar7 = param_1;\n          if (DAT_00088ffc <= param_1) goto LAB_000424a2;\n        }\n        puVar7 = param_1;\n      }" { (while_statement "while( true ) {\n          uVar5 = DAT_00088fa0;\n          puVar4 = PTR_DAT_00080714;\n          puVar3 = (&DAT_00089038)[(int)puVar7];\n          param_1 = (undefined4 *)((int)puVar7 + 1);\n          if ((((*(byte *)(puVar3 + 3) & 1) == 0) &&\n              ((undefined4 *)(uint)*(byte *)((int)puVar3 + 0xd) == puVar7)) &&\n             ((*(byte *)(puVar3 + 3) & 4) == 0)) break;\n          uVar10 = *puVar3;\n          uVar6 = dcgettext(0,"can\'t use register \'%s%s\' as operand %d in \'%s\'.",5);\n          FUN_0002bd60(uVar6,puVar4,uVar10,param_1,uVar5);\n          puVar7 = param_1;\n          if (DAT_00088ffc <= param_1) goto LAB_000424a2;\n        }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n          uVar5 = DAT_00088fa0;\n          puVar4 = PTR_DAT_00080714;\n          puVar3 = (&DAT_00089038)[(int)puVar7];\n          param_1 = (undefined4 *)((int)puVar7 + 1);\n          if ((((*(byte *)(puVar3 + 3) & 1) == 0) &&\n              ((undefined4 *)(uint)*(byte *)((int)puVar3 + 0xd) == puVar7)) &&\n             ((*(byte *)(puVar3 + 3) & 4) == 0)) break;\n          uVar10 = *puVar3;\n          uVar6 = dcgettext(0,"can\'t use register \'%s%s\' as operand %d in \'%s\'.",5);\n          FUN_0002bd60(uVar6,puVar4,uVar10,param_1,uVar5);\n          puVar7 = param_1;\n          if (DAT_00088ffc <= param_1) goto LAB_000424a2;\n        }" { (expression_statement "uVar5 = DAT_00088fa0;" (assignment_expression "uVar5 = DAT_00088fa0" identifier = identifier) ;) (expression_statement "puVar4 = PTR_DAT_00080714;" (assignment_expression "puVar4 = PTR_DAT_00080714" identifier = identifier) ;) (expression_statement "puVar3 = (&DAT_00089038)[(int)puVar7];" (assignment_expression "puVar3 = (&DAT_00089038)[(int)puVar7]" identifier = (subscript_expression "(&DAT_00089038)[(int)puVar7]" (parenthesized_expression "(&DAT_00089038)" ( (pointer_expression "&DAT_00089038" & identifier) )) [ (cast_expression "(int)puVar7" ( (type_descriptor "int" primitive_type) ) identifier) ])) ;) (expression_statement "param_1 = (undefined4 *)((int)puVar7 + 1);" (assignment_expression "param_1 = (undefined4 *)((int)puVar7 + 1)" identifier = (cast_expression "(undefined4 *)((int)puVar7 + 1)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar7 + 1)" ( (binary_expression "(int)puVar7 + 1" (cast_expression "(int)puVar7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if ((((*(byte *)(puVar3 + 3) & 1) == 0) &&\n              ((undefined4 *)(uint)*(byte *)((int)puVar3 + 0xd) == puVar7)) &&\n             ((*(byte *)(puVar3 + 3) & 4) == 0)) break;" if (parenthesized_expression "((((*(byte *)(puVar3 + 3) & 1) == 0) &&\n              ((undefined4 *)(uint)*(byte *)((int)puVar3 + 0xd) == puVar7)) &&\n             ((*(byte *)(puVar3 + 3) & 4) == 0))" ( (binary_expression "(((*(byte *)(puVar3 + 3) & 1) == 0) &&\n              ((undefined4 *)(uint)*(byte *)((int)puVar3 + 0xd) == puVar7)) &&\n             ((*(byte *)(puVar3 + 3) & 4) == 0)" (parenthesized_expression "(((*(byte *)(puVar3 + 3) & 1) == 0) &&\n              ((undefined4 *)(uint)*(byte *)((int)puVar3 + 0xd) == puVar7))" ( (binary_expression "((*(byte *)(puVar3 + 3) & 1) == 0) &&\n              ((undefined4 *)(uint)*(byte *)((int)puVar3 + 0xd) == puVar7)" (parenthesized_expression "((*(byte *)(puVar3 + 3) & 1) == 0)" ( (binary_expression "(*(byte *)(puVar3 + 3) & 1) == 0" (parenthesized_expression "(*(byte *)(puVar3 + 3) & 1)" ( (binary_expression "*(byte *)(puVar3 + 3) & 1" (pointer_expression "*(byte *)(puVar3 + 3)" * (cast_expression "(byte *)(puVar3 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + 3)" ( (binary_expression "puVar3 + 3" identifier + number_literal) )))) & number_literal) )) == number_literal) )) && (parenthesized_expression "((undefined4 *)(uint)*(byte *)((int)puVar3 + 0xd) == puVar7)" ( (binary_expression "(undefined4 *)(uint)*(byte *)((int)puVar3 + 0xd) == puVar7" (binary_expression "(undefined4 *)(uint)*(byte *)((int)puVar3 + 0xd)" (cast_expression "(undefined4 *)(uint)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uint)" ( identifier ))) * (cast_expression "(byte *)((int)puVar3 + 0xd)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar3 + 0xd)" ( (binary_expression "(int)puVar3 + 0xd" (cast_expression "(int)puVar3" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == identifier) ))) )) && (parenthesized_expression "((*(byte *)(puVar3 + 3) & 4) == 0)" ( (binary_expression "(*(byte *)(puVar3 + 3) & 4) == 0" (parenthesized_expression "(*(byte *)(puVar3 + 3) & 4)" ( (binary_expression "*(byte *)(puVar3 + 3) & 4" (pointer_expression "*(byte *)(puVar3 + 3)" * (cast_expression "(byte *)(puVar3 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + 3)" ( (binary_expression "puVar3 + 3" identifier + number_literal) )))) & number_literal) )) == number_literal) ))) )) (break_statement "break;" break ;)) (expression_statement "uVar10 = *puVar3;" (assignment_expression "uVar10 = *puVar3" identifier = (pointer_expression "*puVar3" * identifier)) ;) (expression_statement "uVar6 = dcgettext(0,"can\'t use register \'%s%s\' as operand %d in \'%s\'.",5);" (assignment_expression "uVar6 = dcgettext(0,"can\'t use register \'%s%s\' as operand %d in \'%s\'.",5)" identifier = (call_expression "dcgettext(0,"can\'t use register \'%s%s\' as operand %d in \'%s\'.",5)" identifier (argument_list "(0,"can\'t use register \'%s%s\' as operand %d in \'%s\'.",5)" ( number_literal , (string_literal ""can\'t use register \'%s%s\' as operand %d in \'%s\'."" " string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content ") , number_literal )))) ;) (expression_statement "FUN_0002bd60(uVar6,puVar4,uVar10,param_1,uVar5);" (call_expression "FUN_0002bd60(uVar6,puVar4,uVar10,param_1,uVar5)" identifier (argument_list "(uVar6,puVar4,uVar10,param_1,uVar5)" ( identifier , identifier , identifier , identifier , identifier ))) ;) (expression_statement "puVar7 = param_1;" (assignment_expression "puVar7 = param_1" identifier = identifier) ;) (if_statement "if (DAT_00088ffc <= param_1) goto LAB_000424a2;" if (parenthesized_expression "(DAT_00088ffc <= param_1)" ( (binary_expression "DAT_00088ffc <= param_1" identifier <= identifier) )) (goto_statement "goto LAB_000424a2;" goto statement_identifier ;)) })) (expression_statement "puVar7 = param_1;" (assignment_expression "puVar7 = param_1" identifier = identifier) ;) }) while (parenthesized_expression "(param_1 < DAT_00088ffc)" ( (binary_expression "param_1 < DAT_00088ffc" identifier < identifier) )) ;) (labeled_statement "LAB_000424a2:\n      DAT_00088ffc = (undefined4 *)0x0;" statement_identifier : (expression_statement "DAT_00088ffc = (undefined4 *)0x0;" (assignment_expression "DAT_00088ffc = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) })) (if_statement "if ((DAT_00088fbe & 0x40) == 0) {\nLAB_000425f0:\n      if ((1 < DAT_0008900c) ||\n         ((uVar9 = DAT_0008900c, (undefined4 *)0x2 < DAT_00088ffc &&\n          (((param_1 = DAT_00088ffc, (DAT_00088fc8 & 0x38600) == 0 && (DAT_00088fc8._3_1_ == '\0'))\n           || ((undefined4 *)0x4 < DAT_00088ffc)))))) goto LAB_00042628;\n      goto LAB_000424cc;\n    }" if (parenthesized_expression "((DAT_00088fbe & 0x40) == 0)" ( (binary_expression "(DAT_00088fbe & 0x40) == 0" (parenthesized_expression "(DAT_00088fbe & 0x40)" ( (binary_expression "DAT_00088fbe & 0x40" identifier & number_literal) )) == number_literal) )) (compound_statement "{\nLAB_000425f0:\n      if ((1 < DAT_0008900c) ||\n         ((uVar9 = DAT_0008900c, (undefined4 *)0x2 < DAT_00088ffc &&\n          (((param_1 = DAT_00088ffc, (DAT_00088fc8 & 0x38600) == 0 && (DAT_00088fc8._3_1_ == '\0'))\n           || ((undefined4 *)0x4 < DAT_00088ffc)))))) goto LAB_00042628;\n      goto LAB_000424cc;\n    }" { (labeled_statement "LAB_000425f0:\n      if ((1 < DAT_0008900c) ||\n         ((uVar9 = DAT_0008900c, (undefined4 *)0x2 < DAT_00088ffc &&\n          (((param_1 = DAT_00088ffc, (DAT_00088fc8 & 0x38600) == 0 && (DAT_00088fc8._3_1_ == '\0'))\n           || ((undefined4 *)0x4 < DAT_00088ffc)))))) goto LAB_00042628;" statement_identifier : (if_statement "if ((1 < DAT_0008900c) ||\n         ((uVar9 = DAT_0008900c, (undefined4 *)0x2 < DAT_00088ffc &&\n          (((param_1 = DAT_00088ffc, (DAT_00088fc8 & 0x38600) == 0 && (DAT_00088fc8._3_1_ == '\0'))\n           || ((undefined4 *)0x4 < DAT_00088ffc)))))) goto LAB_00042628;" if (parenthesized_expression "((1 < DAT_0008900c) ||\n         ((uVar9 = DAT_0008900c, (undefined4 *)0x2 < DAT_00088ffc &&\n          (((param_1 = DAT_00088ffc, (DAT_00088fc8 & 0x38600) == 0 && (DAT_00088fc8._3_1_ == '\0'))\n           || ((undefined4 *)0x4 < DAT_00088ffc))))))" ( (binary_expression "(1 < DAT_0008900c) ||\n         ((uVar9 = DAT_0008900c, (undefined4 *)0x2 < DAT_00088ffc &&\n          (((param_1 = DAT_00088ffc, (DAT_00088fc8 & 0x38600) == 0 && (DAT_00088fc8._3_1_ == '\0'))\n           || ((undefined4 *)0x4 < DAT_00088ffc)))))" (parenthesized_expression "(1 < DAT_0008900c)" ( (binary_expression "1 < DAT_0008900c" number_literal < identifier) )) || (parenthesized_expression "((uVar9 = DAT_0008900c, (undefined4 *)0x2 < DAT_00088ffc &&\n          (((param_1 = DAT_00088ffc, (DAT_00088fc8 & 0x38600) == 0 && (DAT_00088fc8._3_1_ == '\0'))\n           || ((undefined4 *)0x4 < DAT_00088ffc)))))" ( (parenthesized_expression "(uVar9 = DAT_0008900c, (undefined4 *)0x2 < DAT_00088ffc &&\n          (((param_1 = DAT_00088ffc, (DAT_00088fc8 & 0x38600) == 0 && (DAT_00088fc8._3_1_ == '\0'))\n           || ((undefined4 *)0x4 < DAT_00088ffc))))" ( (comma_expression "uVar9 = DAT_0008900c, (undefined4 *)0x2 < DAT_00088ffc &&\n          (((param_1 = DAT_00088ffc, (DAT_00088fc8 & 0x38600) == 0 && (DAT_00088fc8._3_1_ == '\0'))\n           || ((undefined4 *)0x4 < DAT_00088ffc)))" (assignment_expression "uVar9 = DAT_0008900c" identifier = identifier) , (binary_expression "(undefined4 *)0x2 < DAT_00088ffc &&\n          (((param_1 = DAT_00088ffc, (DAT_00088fc8 & 0x38600) == 0 && (DAT_00088fc8._3_1_ == '\0'))\n           || ((undefined4 *)0x4 < DAT_00088ffc)))" (binary_expression "(undefined4 *)0x2 < DAT_00088ffc" (cast_expression "(undefined4 *)0x2" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) < identifier) && (parenthesized_expression "(((param_1 = DAT_00088ffc, (DAT_00088fc8 & 0x38600) == 0 && (DAT_00088fc8._3_1_ == '\0'))\n           || ((undefined4 *)0x4 < DAT_00088ffc)))" ( (parenthesized_expression "((param_1 = DAT_00088ffc, (DAT_00088fc8 & 0x38600) == 0 && (DAT_00088fc8._3_1_ == '\0'))\n           || ((undefined4 *)0x4 < DAT_00088ffc))" ( (binary_expression "(param_1 = DAT_00088ffc, (DAT_00088fc8 & 0x38600) == 0 && (DAT_00088fc8._3_1_ == '\0'))\n           || ((undefined4 *)0x4 < DAT_00088ffc)" (parenthesized_expression "(param_1 = DAT_00088ffc, (DAT_00088fc8 & 0x38600) == 0 && (DAT_00088fc8._3_1_ == '\0'))" ( (comma_expression "param_1 = DAT_00088ffc, (DAT_00088fc8 & 0x38600) == 0 && (DAT_00088fc8._3_1_ == '\0')" (assignment_expression "param_1 = DAT_00088ffc" identifier = identifier) , (binary_expression "(DAT_00088fc8 & 0x38600) == 0 && (DAT_00088fc8._3_1_ == '\0')" (binary_expression "(DAT_00088fc8 & 0x38600) == 0" (parenthesized_expression "(DAT_00088fc8 & 0x38600)" ( (binary_expression "DAT_00088fc8 & 0x38600" identifier & number_literal) )) == number_literal) && (parenthesized_expression "(DAT_00088fc8._3_1_ == '\0')" ( (binary_expression "DAT_00088fc8._3_1_ == '\0'" (field_expression "DAT_00088fc8._3_1_" identifier . field_identifier) == (char_literal "'\0'" ' escape_sequence ')) )))) )) || (parenthesized_expression "((undefined4 *)0x4 < DAT_00088ffc)" ( (binary_expression "(undefined4 *)0x4 < DAT_00088ffc" (cast_expression "(undefined4 *)0x4" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) < identifier) ))) )) )))) )) ))) )) (goto_statement "goto LAB_00042628;" goto statement_identifier ;))) (goto_statement "goto LAB_000424cc;" goto statement_identifier ;) })) }))) (labeled_statement "LAB_000424b7:\n  uVar9 = DAT_0008900c;" statement_identifier : (expression_statement "uVar9 = DAT_0008900c;" (assignment_expression "uVar9 = DAT_0008900c" identifier = identifier) ;)) (if_statement "if (1 < DAT_0008900c) {\nLAB_00042628:\n                    /* WARNING: Subroutine does not return */\n    FUN_0002be80("../../gas/config/tc-i386.c",0xe94,"process_immext",param_1);\n  }" if (parenthesized_expression "(1 < DAT_0008900c)" ( (binary_expression "1 < DAT_0008900c" number_literal < identifier) )) (compound_statement "{\nLAB_00042628:\n                    /* WARNING: Subroutine does not return */\n    FUN_0002be80("../../gas/config/tc-i386.c",0xe94,"process_immext",param_1);\n  }" { (labeled_statement "LAB_00042628:\n                    /* WARNING: Subroutine does not return */\n    FUN_0002be80("../../gas/config/tc-i386.c",0xe94,"process_immext",param_1);" statement_identifier : comment (expression_statement "FUN_0002be80("../../gas/config/tc-i386.c",0xe94,"process_immext",param_1);" (call_expression "FUN_0002be80("../../gas/config/tc-i386.c",0xe94,"process_immext",param_1)" identifier (argument_list "("../../gas/config/tc-i386.c",0xe94,"process_immext",param_1)" ( (string_literal ""../../gas/config/tc-i386.c"" " string_content ") , number_literal , (string_literal ""process_immext"" " string_content ") , identifier ))) ;)) })) (labeled_statement "LAB_000424cc:\n  DAT_0008900c = uVar9 + 1;" statement_identifier : (expression_statement "DAT_0008900c = uVar9 + 1;" (assignment_expression "DAT_0008900c = uVar9 + 1" identifier = (binary_expression "uVar9 + 1" identifier + number_literal)) ;)) (expression_statement "iVar1 = (int)DAT_00088ffc + 0xe;" (assignment_expression "iVar1 = (int)DAT_00088ffc + 0xe" identifier = (binary_expression "(int)DAT_00088ffc + 0xe" (cast_expression "(int)DAT_00088ffc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "(&DAT_00088fa0)[iVar1 * 2] = 0;" (assignment_expression "(&DAT_00088fa0)[iVar1 * 2] = 0" (subscript_expression "(&DAT_00088fa0)[iVar1 * 2]" (parenthesized_expression "(&DAT_00088fa0)" ( (pointer_expression "&DAT_00088fa0" & identifier) )) [ (binary_expression "iVar1 * 2" identifier * number_literal) ]) = number_literal) ;) (expression_statement "(&DAT_00089038)[(int)DAT_00088ffc] = &DAT_00088f20 + uVar9 * 5;" (assignment_expression "(&DAT_00089038)[(int)DAT_00088ffc] = &DAT_00088f20 + uVar9 * 5" (subscript_expression "(&DAT_00089038)[(int)DAT_00088ffc]" (parenthesized_expression "(&DAT_00089038)" ( (pointer_expression "&DAT_00089038" & identifier) )) [ (cast_expression "(int)DAT_00088ffc" ( (type_descriptor "int" primitive_type) ) identifier) ]) = (binary_expression "&DAT_00088f20 + uVar9 * 5" (pointer_expression "&DAT_00088f20" & identifier) + (binary_expression "uVar9 * 5" identifier * number_literal))) ;) (expression_statement "DAT_00088ffc = (undefined4 *)((int)DAT_00088ffc + 1);" (assignment_expression "DAT_00088ffc = (undefined4 *)((int)DAT_00088ffc + 1)" identifier = (cast_expression "(undefined4 *)((int)DAT_00088ffc + 1)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)DAT_00088ffc + 1)" ( (binary_expression "(int)DAT_00088ffc + 1" (cast_expression "(int)DAT_00088ffc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "(&DAT_00088f30)[uVar9 * 0x14] = 2;" (assignment_expression "(&DAT_00088f30)[uVar9 * 0x14] = 2" (subscript_expression "(&DAT_00088f30)[uVar9 * 0x14]" (parenthesized_expression "(&DAT_00088f30)" ( (pointer_expression "&DAT_00088f30" & identifier) )) [ (binary_expression "uVar9 * 0x14" identifier * number_literal) ]) = number_literal) ;) (expression_statement "*(undefined4 *)(&DAT_00088fa4 + iVar1 * 8) = 0;" (assignment_expression "*(undefined4 *)(&DAT_00088fa4 + iVar1 * 8) = 0" (pointer_expression "*(undefined4 *)(&DAT_00088fa4 + iVar1 * 8)" * (cast_expression "(undefined4 *)(&DAT_00088fa4 + iVar1 * 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00088fa4 + iVar1 * 8)" ( (binary_expression "&DAT_00088fa4 + iVar1 * 8" (pointer_expression "&DAT_00088fa4" & identifier) + (binary_expression "iVar1 * 8" identifier * number_literal)) )))) = number_literal) ;) (expression_statement "pbVar2 = (byte *)((int)&DAT_00088fa0 + iVar1 * 8 + 1);" (assignment_expression "pbVar2 = (byte *)((int)&DAT_00088fa0 + iVar1 * 8 + 1)" identifier = (cast_expression "(byte *)((int)&DAT_00088fa0 + iVar1 * 8 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&DAT_00088fa0 + iVar1 * 8 + 1)" ( (binary_expression "(int)&DAT_00088fa0 + iVar1 * 8 + 1" (binary_expression "(int)&DAT_00088fa0 + iVar1 * 8" (cast_expression "(int)&DAT_00088fa0" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&DAT_00088fa0" & identifier)) + (binary_expression "iVar1 * 8" identifier * number_literal)) + number_literal) )))) ;) (expression_statement "*pbVar2 = *pbVar2 | 4;" (assignment_expression "*pbVar2 = *pbVar2 | 4" (pointer_expression "*pbVar2" * identifier) = (binary_expression "*pbVar2 | 4" (pointer_expression "*pbVar2" * identifier) | number_literal)) ;) (expression_statement "(&DAT_00088f28)[uVar9 * 5] = DAT_00088fac;" (assignment_expression "(&DAT_00088f28)[uVar9 * 5] = DAT_00088fac" (subscript_expression "(&DAT_00088f28)[uVar9 * 5]" (parenthesized_expression "(&DAT_00088f28)" ( (pointer_expression "&DAT_00088f28" & identifier) )) [ (binary_expression "uVar9 * 5" identifier * number_literal) ]) = identifier) ;) (expression_statement "(&DAT_00088f2c)[uVar9 * 5] = 0;" (assignment_expression "(&DAT_00088f2c)[uVar9 * 5] = 0" (subscript_expression "(&DAT_00088f2c)[uVar9 * 5]" (parenthesized_expression "(&DAT_00088f2c)" ( (pointer_expression "&DAT_00088f2c" & identifier) )) [ (binary_expression "uVar9 * 5" identifier * number_literal) ]) = number_literal) ;) (expression_statement "DAT_00088fac = 0xffff;" (assignment_expression "DAT_00088fac = 0xffff" identifier = number_literal) ;) (return_statement "return;" return ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: Unknown calling convention -- yet parameter storage is locked */\n/* WARNING: Enum "anon_enum_32": Some values do not have unique names */\n\nvoid process_immext(void)\n\n{\n  byte *pbVar1;\n  reg_entry *prVar2;\n  symbolS *psVar3;\n  char *pcVar4;\n  char *pcVar5;\n  uint uVar6;\n  char *format;\n  i386_op iVar7;\n  char *pcVar8;\n  uint uVar9;\n  undefined4 uVar10;\n  \n  pcVar5 = i.tm.name;\n  pcVar4 = register_prefix;\n  if ((i.tm.cpu_flags.array[0]._2_1_ & 0x28) == 0) {\n    if ((i.tm.cpu_flags.array[2]._2_1_ & 0x40) == 0) goto LAB_000425f0;\n    if (i.operands == 0) goto LAB_000424b7;\n    if (i.operands != 3) {\n                    /* WARNING: Subroutine does not return */\n      as_abort("../../gas/config/tc-i386.c",0xe74,"process_immext");\n    }\n    if ((((i.op[0].regs)->reg_flags & 1) == 0) &&\n       (((i.op[0].regs)->reg_flags & 4) == 0 && (i.op[0].regs)->reg_num == '\0')) {\n      if (((((i.op[1].regs)->reg_flags & 1) != 0) || ((i.op[1].regs)->reg_num != '\x01')) ||\n         (((i.op[1].regs)->reg_flags & 4) != 0)) {\n        uVar10 = 2;\n        iVar7 = i.op[1];\n        goto LAB_0004264d;\n      }\n      uVar10 = 3;\n      iVar7 = i.op[2];\n      if ((((i.op[2].regs)->reg_flags & 5) != 0) ||\n         ((uchar)((i.tm.extension_opcode == 0xfb) + '\x02') != (i.op[2].regs)->reg_num))\n      goto LAB_0004264d;\n    }\n    else {\n      uVar10 = 1;\n      iVar7 = i.op[0];\nLAB_0004264d:\n      psVar3 = (iVar7.disps)->X_add_symbol;\n      pcVar8 = (char *)dcgettext(0,"can\'t use register \'%s%s\' as operand %d in \'%s\'.",5);\n      as_bad(pcVar8,pcVar4,psVar3,uVar10,pcVar5);\n    }\n    i.operands = 0;\n  }\n  else {\n    if (i.operands != 0) {\n      uVar6 = 0;\n      do {\n        while( true ) {\n          pcVar5 = i.tm.name;\n          pcVar4 = register_prefix;\n          prVar2 = i.op[uVar6].regs;\n          uVar9 = uVar6 + 1;\n          if ((((prVar2->reg_flags & 1) == 0) && (prVar2->reg_num == uVar6)) &&\n             ((prVar2->reg_flags & 4) == 0)) break;\n          pcVar8 = prVar2->reg_name;\n          format = (char *)dcgettext(0,"can\'t use register \'%s%s\' as operand %d in \'%s\'.",5);\n          as_bad(format,pcVar4,pcVar8,uVar9,pcVar5);\n          uVar6 = uVar9;\n          if (i.operands <= uVar9) goto LAB_000424a2;\n        }\n        uVar6 = uVar9;\n      } while (uVar9 < i.operands);\nLAB_000424a2:\n      i.operands = 0;\n    }\n    if ((i.tm.cpu_flags.array[2]._2_1_ & 0x40) == 0) {\nLAB_000425f0:\n      if ((1 < i.imm_operands) ||\n         ((uVar6 = i.operands, uVar9 = i.imm_operands, 2 < i.operands &&\n          ((((i.tm.opcode_modifier._4_4_ & 0x38600) == 0 && (i.tm.opcode_modifier._7_1_ == '\0')) ||\n           (4 < i.operands)))))) goto LAB_00042628;\n      goto LAB_000424cc;\n    }\n  }\nLAB_000424b7:\n  uVar6 = i.operands;\n  uVar9 = i.imm_operands;\n  if (1 < i.imm_operands) {\nLAB_00042628:\n                    /* WARNING: Subroutine does not return */\n    as_abort("../../gas/config/tc-i386.c",0xe94,"process_immext");\n  }\nLAB_000424cc:\n  i.imm_operands = uVar9 + 1;\n  i.types[uVar6].array[0] = 0;\n  i.op[uVar6].disps = im_expressions + uVar9;\n  i.operands = uVar6 + 1;\n  im_expressions[uVar9].field_0x10 = 2;\n  *(undefined4 *)((int)i.types + uVar6 * 8 + 4) = 0;\n  pbVar1 = (byte *)((int)i.types + uVar6 * 8 + 1);\n  *pbVar1 = *pbVar1 | 4;\n  *(uint *)&im_expressions[uVar9].X_add_number = i.tm.extension_opcode;\n  *(undefined4 *)((int)&im_expressions[uVar9].X_add_number + 4) = 0;\n  i.tm.extension_opcode = 0xffff;\n  return;\n}\n\n" comment comment comment (function_definition "void process_immext(void)\n\n{\n  byte *pbVar1;\n  reg_entry *prVar2;\n  symbolS *psVar3;\n  char *pcVar4;\n  char *pcVar5;\n  uint uVar6;\n  char *format;\n  i386_op iVar7;\n  char *pcVar8;\n  uint uVar9;\n  undefined4 uVar10;\n  \n  pcVar5 = i.tm.name;\n  pcVar4 = register_prefix;\n  if ((i.tm.cpu_flags.array[0]._2_1_ & 0x28) == 0) {\n    if ((i.tm.cpu_flags.array[2]._2_1_ & 0x40) == 0) goto LAB_000425f0;\n    if (i.operands == 0) goto LAB_000424b7;\n    if (i.operands != 3) {\n                    /* WARNING: Subroutine does not return */\n      as_abort("../../gas/config/tc-i386.c",0xe74,"process_immext");\n    }\n    if ((((i.op[0].regs)->reg_flags & 1) == 0) &&\n       (((i.op[0].regs)->reg_flags & 4) == 0 && (i.op[0].regs)->reg_num == '\0')) {\n      if (((((i.op[1].regs)->reg_flags & 1) != 0) || ((i.op[1].regs)->reg_num != '\x01')) ||\n         (((i.op[1].regs)->reg_flags & 4) != 0)) {\n        uVar10 = 2;\n        iVar7 = i.op[1];\n        goto LAB_0004264d;\n      }\n      uVar10 = 3;\n      iVar7 = i.op[2];\n      if ((((i.op[2].regs)->reg_flags & 5) != 0) ||\n         ((uchar)((i.tm.extension_opcode == 0xfb) + '\x02') != (i.op[2].regs)->reg_num))\n      goto LAB_0004264d;\n    }\n    else {\n      uVar10 = 1;\n      iVar7 = i.op[0];\nLAB_0004264d:\n      psVar3 = (iVar7.disps)->X_add_symbol;\n      pcVar8 = (char *)dcgettext(0,"can\'t use register \'%s%s\' as operand %d in \'%s\'.",5);\n      as_bad(pcVar8,pcVar4,psVar3,uVar10,pcVar5);\n    }\n    i.operands = 0;\n  }\n  else {\n    if (i.operands != 0) {\n      uVar6 = 0;\n      do {\n        while( true ) {\n          pcVar5 = i.tm.name;\n          pcVar4 = register_prefix;\n          prVar2 = i.op[uVar6].regs;\n          uVar9 = uVar6 + 1;\n          if ((((prVar2->reg_flags & 1) == 0) && (prVar2->reg_num == uVar6)) &&\n             ((prVar2->reg_flags & 4) == 0)) break;\n          pcVar8 = prVar2->reg_name;\n          format = (char *)dcgettext(0,"can\'t use register \'%s%s\' as operand %d in \'%s\'.",5);\n          as_bad(format,pcVar4,pcVar8,uVar9,pcVar5);\n          uVar6 = uVar9;\n          if (i.operands <= uVar9) goto LAB_000424a2;\n        }\n        uVar6 = uVar9;\n      } while (uVar9 < i.operands);\nLAB_000424a2:\n      i.operands = 0;\n    }\n    if ((i.tm.cpu_flags.array[2]._2_1_ & 0x40) == 0) {\nLAB_000425f0:\n      if ((1 < i.imm_operands) ||\n         ((uVar6 = i.operands, uVar9 = i.imm_operands, 2 < i.operands &&\n          ((((i.tm.opcode_modifier._4_4_ & 0x38600) == 0 && (i.tm.opcode_modifier._7_1_ == '\0')) ||\n           (4 < i.operands)))))) goto LAB_00042628;\n      goto LAB_000424cc;\n    }\n  }\nLAB_000424b7:\n  uVar6 = i.operands;\n  uVar9 = i.imm_operands;\n  if (1 < i.imm_operands) {\nLAB_00042628:\n                    /* WARNING: Subroutine does not return */\n    as_abort("../../gas/config/tc-i386.c",0xe94,"process_immext");\n  }\nLAB_000424cc:\n  i.imm_operands = uVar9 + 1;\n  i.types[uVar6].array[0] = 0;\n  i.op[uVar6].disps = im_expressions + uVar9;\n  i.operands = uVar6 + 1;\n  im_expressions[uVar9].field_0x10 = 2;\n  *(undefined4 *)((int)i.types + uVar6 * 8 + 4) = 0;\n  pbVar1 = (byte *)((int)i.types + uVar6 * 8 + 1);\n  *pbVar1 = *pbVar1 | 4;\n  *(uint *)&im_expressions[uVar9].X_add_number = i.tm.extension_opcode;\n  *(undefined4 *)((int)&im_expressions[uVar9].X_add_number + 4) = 0;\n  i.tm.extension_opcode = 0xffff;\n  return;\n}" primitive_type (function_declarator "process_immext(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  byte *pbVar1;\n  reg_entry *prVar2;\n  symbolS *psVar3;\n  char *pcVar4;\n  char *pcVar5;\n  uint uVar6;\n  char *format;\n  i386_op iVar7;\n  char *pcVar8;\n  uint uVar9;\n  undefined4 uVar10;\n  \n  pcVar5 = i.tm.name;\n  pcVar4 = register_prefix;\n  if ((i.tm.cpu_flags.array[0]._2_1_ & 0x28) == 0) {\n    if ((i.tm.cpu_flags.array[2]._2_1_ & 0x40) == 0) goto LAB_000425f0;\n    if (i.operands == 0) goto LAB_000424b7;\n    if (i.operands != 3) {\n                    /* WARNING: Subroutine does not return */\n      as_abort("../../gas/config/tc-i386.c",0xe74,"process_immext");\n    }\n    if ((((i.op[0].regs)->reg_flags & 1) == 0) &&\n       (((i.op[0].regs)->reg_flags & 4) == 0 && (i.op[0].regs)->reg_num == '\0')) {\n      if (((((i.op[1].regs)->reg_flags & 1) != 0) || ((i.op[1].regs)->reg_num != '\x01')) ||\n         (((i.op[1].regs)->reg_flags & 4) != 0)) {\n        uVar10 = 2;\n        iVar7 = i.op[1];\n        goto LAB_0004264d;\n      }\n      uVar10 = 3;\n      iVar7 = i.op[2];\n      if ((((i.op[2].regs)->reg_flags & 5) != 0) ||\n         ((uchar)((i.tm.extension_opcode == 0xfb) + '\x02') != (i.op[2].regs)->reg_num))\n      goto LAB_0004264d;\n    }\n    else {\n      uVar10 = 1;\n      iVar7 = i.op[0];\nLAB_0004264d:\n      psVar3 = (iVar7.disps)->X_add_symbol;\n      pcVar8 = (char *)dcgettext(0,"can\'t use register \'%s%s\' as operand %d in \'%s\'.",5);\n      as_bad(pcVar8,pcVar4,psVar3,uVar10,pcVar5);\n    }\n    i.operands = 0;\n  }\n  else {\n    if (i.operands != 0) {\n      uVar6 = 0;\n      do {\n        while( true ) {\n          pcVar5 = i.tm.name;\n          pcVar4 = register_prefix;\n          prVar2 = i.op[uVar6].regs;\n          uVar9 = uVar6 + 1;\n          if ((((prVar2->reg_flags & 1) == 0) && (prVar2->reg_num == uVar6)) &&\n             ((prVar2->reg_flags & 4) == 0)) break;\n          pcVar8 = prVar2->reg_name;\n          format = (char *)dcgettext(0,"can\'t use register \'%s%s\' as operand %d in \'%s\'.",5);\n          as_bad(format,pcVar4,pcVar8,uVar9,pcVar5);\n          uVar6 = uVar9;\n          if (i.operands <= uVar9) goto LAB_000424a2;\n        }\n        uVar6 = uVar9;\n      } while (uVar9 < i.operands);\nLAB_000424a2:\n      i.operands = 0;\n    }\n    if ((i.tm.cpu_flags.array[2]._2_1_ & 0x40) == 0) {\nLAB_000425f0:\n      if ((1 < i.imm_operands) ||\n         ((uVar6 = i.operands, uVar9 = i.imm_operands, 2 < i.operands &&\n          ((((i.tm.opcode_modifier._4_4_ & 0x38600) == 0 && (i.tm.opcode_modifier._7_1_ == '\0')) ||\n           (4 < i.operands)))))) goto LAB_00042628;\n      goto LAB_000424cc;\n    }\n  }\nLAB_000424b7:\n  uVar6 = i.operands;\n  uVar9 = i.imm_operands;\n  if (1 < i.imm_operands) {\nLAB_00042628:\n                    /* WARNING: Subroutine does not return */\n    as_abort("../../gas/config/tc-i386.c",0xe94,"process_immext");\n  }\nLAB_000424cc:\n  i.imm_operands = uVar9 + 1;\n  i.types[uVar6].array[0] = 0;\n  i.op[uVar6].disps = im_expressions + uVar9;\n  i.operands = uVar6 + 1;\n  im_expressions[uVar9].field_0x10 = 2;\n  *(undefined4 *)((int)i.types + uVar6 * 8 + 4) = 0;\n  pbVar1 = (byte *)((int)i.types + uVar6 * 8 + 1);\n  *pbVar1 = *pbVar1 | 4;\n  *(uint *)&im_expressions[uVar9].X_add_number = i.tm.extension_opcode;\n  *(undefined4 *)((int)&im_expressions[uVar9].X_add_number + 4) = 0;\n  i.tm.extension_opcode = 0xffff;\n  return;\n}" { (declaration "byte *pbVar1;" type_identifier (pointer_declarator "*pbVar1" * identifier) ;) (declaration "reg_entry *prVar2;" type_identifier (pointer_declarator "*prVar2" * identifier) ;) (declaration "symbolS *psVar3;" type_identifier (pointer_declarator "*psVar3" * identifier) ;) (declaration "char *pcVar4;" primitive_type (pointer_declarator "*pcVar4" * identifier) ;) (declaration "char *pcVar5;" primitive_type (pointer_declarator "*pcVar5" * identifier) ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "char *format;" primitive_type (pointer_declarator "*format" * identifier) ;) (declaration "i386_op iVar7;" type_identifier identifier ;) (declaration "char *pcVar8;" primitive_type (pointer_declarator "*pcVar8" * identifier) ;) (declaration "uint uVar9;" type_identifier identifier ;) (declaration "undefined4 uVar10;" type_identifier identifier ;) (expression_statement "pcVar5 = i.tm.name;" (assignment_expression "pcVar5 = i.tm.name" identifier = (field_expression "i.tm.name" (field_expression "i.tm" identifier . field_identifier) . field_identifier)) ;) (expression_statement "pcVar4 = register_prefix;" (assignment_expression "pcVar4 = register_prefix" identifier = identifier) ;) (if_statement "if ((i.tm.cpu_flags.array[0]._2_1_ & 0x28) == 0) {\n    if ((i.tm.cpu_flags.array[2]._2_1_ & 0x40) == 0) goto LAB_000425f0;\n    if (i.operands == 0) goto LAB_000424b7;\n    if (i.operands != 3) {\n                    /* WARNING: Subroutine does not return */\n      as_abort("../../gas/config/tc-i386.c",0xe74,"process_immext");\n    }\n    if ((((i.op[0].regs)->reg_flags & 1) == 0) &&\n       (((i.op[0].regs)->reg_flags & 4) == 0 && (i.op[0].regs)->reg_num == '\0')) {\n      if (((((i.op[1].regs)->reg_flags & 1) != 0) || ((i.op[1].regs)->reg_num != '\x01')) ||\n         (((i.op[1].regs)->reg_flags & 4) != 0)) {\n        uVar10 = 2;\n        iVar7 = i.op[1];\n        goto LAB_0004264d;\n      }\n      uVar10 = 3;\n      iVar7 = i.op[2];\n      if ((((i.op[2].regs)->reg_flags & 5) != 0) ||\n         ((uchar)((i.tm.extension_opcode == 0xfb) + '\x02') != (i.op[2].regs)->reg_num))\n      goto LAB_0004264d;\n    }\n    else {\n      uVar10 = 1;\n      iVar7 = i.op[0];\nLAB_0004264d:\n      psVar3 = (iVar7.disps)->X_add_symbol;\n      pcVar8 = (char *)dcgettext(0,"can\'t use register \'%s%s\' as operand %d in \'%s\'.",5);\n      as_bad(pcVar8,pcVar4,psVar3,uVar10,pcVar5);\n    }\n    i.operands = 0;\n  }\n  else {\n    if (i.operands != 0) {\n      uVar6 = 0;\n      do {\n        while( true ) {\n          pcVar5 = i.tm.name;\n          pcVar4 = register_prefix;\n          prVar2 = i.op[uVar6].regs;\n          uVar9 = uVar6 + 1;\n          if ((((prVar2->reg_flags & 1) == 0) && (prVar2->reg_num == uVar6)) &&\n             ((prVar2->reg_flags & 4) == 0)) break;\n          pcVar8 = prVar2->reg_name;\n          format = (char *)dcgettext(0,"can\'t use register \'%s%s\' as operand %d in \'%s\'.",5);\n          as_bad(format,pcVar4,pcVar8,uVar9,pcVar5);\n          uVar6 = uVar9;\n          if (i.operands <= uVar9) goto LAB_000424a2;\n        }\n        uVar6 = uVar9;\n      } while (uVar9 < i.operands);\nLAB_000424a2:\n      i.operands = 0;\n    }\n    if ((i.tm.cpu_flags.array[2]._2_1_ & 0x40) == 0) {\nLAB_000425f0:\n      if ((1 < i.imm_operands) ||\n         ((uVar6 = i.operands, uVar9 = i.imm_operands, 2 < i.operands &&\n          ((((i.tm.opcode_modifier._4_4_ & 0x38600) == 0 && (i.tm.opcode_modifier._7_1_ == '\0')) ||\n           (4 < i.operands)))))) goto LAB_00042628;\n      goto LAB_000424cc;\n    }\n  }" if (parenthesized_expression "((i.tm.cpu_flags.array[0]._2_1_ & 0x28) == 0)" ( (binary_expression "(i.tm.cpu_flags.array[0]._2_1_ & 0x28) == 0" (parenthesized_expression "(i.tm.cpu_flags.array[0]._2_1_ & 0x28)" ( (binary_expression "i.tm.cpu_flags.array[0]._2_1_ & 0x28" (field_expression "i.tm.cpu_flags.array[0]._2_1_" (subscript_expression "i.tm.cpu_flags.array[0]" (field_expression "i.tm.cpu_flags.array" (field_expression "i.tm.cpu_flags" (field_expression "i.tm" identifier . field_identifier) . field_identifier) . field_identifier) [ number_literal ]) . field_identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n    if ((i.tm.cpu_flags.array[2]._2_1_ & 0x40) == 0) goto LAB_000425f0;\n    if (i.operands == 0) goto LAB_000424b7;\n    if (i.operands != 3) {\n                    /* WARNING: Subroutine does not return */\n      as_abort("../../gas/config/tc-i386.c",0xe74,"process_immext");\n    }\n    if ((((i.op[0].regs)->reg_flags & 1) == 0) &&\n       (((i.op[0].regs)->reg_flags & 4) == 0 && (i.op[0].regs)->reg_num == '\0')) {\n      if (((((i.op[1].regs)->reg_flags & 1) != 0) || ((i.op[1].regs)->reg_num != '\x01')) ||\n         (((i.op[1].regs)->reg_flags & 4) != 0)) {\n        uVar10 = 2;\n        iVar7 = i.op[1];\n        goto LAB_0004264d;\n      }\n      uVar10 = 3;\n      iVar7 = i.op[2];\n      if ((((i.op[2].regs)->reg_flags & 5) != 0) ||\n         ((uchar)((i.tm.extension_opcode == 0xfb) + '\x02') != (i.op[2].regs)->reg_num))\n      goto LAB_0004264d;\n    }\n    else {\n      uVar10 = 1;\n      iVar7 = i.op[0];\nLAB_0004264d:\n      psVar3 = (iVar7.disps)->X_add_symbol;\n      pcVar8 = (char *)dcgettext(0,"can\'t use register \'%s%s\' as operand %d in \'%s\'.",5);\n      as_bad(pcVar8,pcVar4,psVar3,uVar10,pcVar5);\n    }\n    i.operands = 0;\n  }" { (if_statement "if ((i.tm.cpu_flags.array[2]._2_1_ & 0x40) == 0) goto LAB_000425f0;" if (parenthesized_expression "((i.tm.cpu_flags.array[2]._2_1_ & 0x40) == 0)" ( (binary_expression "(i.tm.cpu_flags.array[2]._2_1_ & 0x40) == 0" (parenthesized_expression "(i.tm.cpu_flags.array[2]._2_1_ & 0x40)" ( (binary_expression "i.tm.cpu_flags.array[2]._2_1_ & 0x40" (field_expression "i.tm.cpu_flags.array[2]._2_1_" (subscript_expression "i.tm.cpu_flags.array[2]" (field_expression "i.tm.cpu_flags.array" (field_expression "i.tm.cpu_flags" (field_expression "i.tm" identifier . field_identifier) . field_identifier) . field_identifier) [ number_literal ]) . field_identifier) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_000425f0;" goto statement_identifier ;)) (if_statement "if (i.operands == 0) goto LAB_000424b7;" if (parenthesized_expression "(i.operands == 0)" ( (binary_expression "i.operands == 0" (field_expression "i.operands" identifier . field_identifier) == number_literal) )) (goto_statement "goto LAB_000424b7;" goto statement_identifier ;)) (if_statement "if (i.operands != 3) {\n                    /* WARNING: Subroutine does not return */\n      as_abort("../../gas/config/tc-i386.c",0xe74,"process_immext");\n    }" if (parenthesized_expression "(i.operands != 3)" ( (binary_expression "i.operands != 3" (field_expression "i.operands" identifier . field_identifier) != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      as_abort("../../gas/config/tc-i386.c",0xe74,"process_immext");\n    }" { comment (expression_statement "as_abort("../../gas/config/tc-i386.c",0xe74,"process_immext");" (call_expression "as_abort("../../gas/config/tc-i386.c",0xe74,"process_immext")" identifier (argument_list "("../../gas/config/tc-i386.c",0xe74,"process_immext")" ( (string_literal ""../../gas/config/tc-i386.c"" " string_content ") , number_literal , (string_literal ""process_immext"" " string_content ") ))) ;) })) (if_statement "if ((((i.op[0].regs)->reg_flags & 1) == 0) &&\n       (((i.op[0].regs)->reg_flags & 4) == 0 && (i.op[0].regs)->reg_num == '\0')) {\n      if (((((i.op[1].regs)->reg_flags & 1) != 0) || ((i.op[1].regs)->reg_num != '\x01')) ||\n         (((i.op[1].regs)->reg_flags & 4) != 0)) {\n        uVar10 = 2;\n        iVar7 = i.op[1];\n        goto LAB_0004264d;\n      }\n      uVar10 = 3;\n      iVar7 = i.op[2];\n      if ((((i.op[2].regs)->reg_flags & 5) != 0) ||\n         ((uchar)((i.tm.extension_opcode == 0xfb) + '\x02') != (i.op[2].regs)->reg_num))\n      goto LAB_0004264d;\n    }\n    else {\n      uVar10 = 1;\n      iVar7 = i.op[0];\nLAB_0004264d:\n      psVar3 = (iVar7.disps)->X_add_symbol;\n      pcVar8 = (char *)dcgettext(0,"can\'t use register \'%s%s\' as operand %d in \'%s\'.",5);\n      as_bad(pcVar8,pcVar4,psVar3,uVar10,pcVar5);\n    }" if (parenthesized_expression "((((i.op[0].regs)->reg_flags & 1) == 0) &&\n       (((i.op[0].regs)->reg_flags & 4) == 0 && (i.op[0].regs)->reg_num == '\0'))" ( (binary_expression "(((i.op[0].regs)->reg_flags & 1) == 0) &&\n       (((i.op[0].regs)->reg_flags & 4) == 0 && (i.op[0].regs)->reg_num == '\0')" (parenthesized_expression "(((i.op[0].regs)->reg_flags & 1) == 0)" ( (binary_expression "((i.op[0].regs)->reg_flags & 1) == 0" (parenthesized_expression "((i.op[0].regs)->reg_flags & 1)" ( (binary_expression "(i.op[0].regs)->reg_flags & 1" (field_expression "(i.op[0].regs)->reg_flags" (parenthesized_expression "(i.op[0].regs)" ( (field_expression "i.op[0].regs" (subscript_expression "i.op[0]" (field_expression "i.op" identifier . field_identifier) [ number_literal ]) . field_identifier) )) -> field_identifier) & number_literal) )) == number_literal) )) && (parenthesized_expression "(((i.op[0].regs)->reg_flags & 4) == 0 && (i.op[0].regs)->reg_num == '\0')" ( (binary_expression "((i.op[0].regs)->reg_flags & 4) == 0 && (i.op[0].regs)->reg_num == '\0'" (binary_expression "((i.op[0].regs)->reg_flags & 4) == 0" (parenthesized_expression "((i.op[0].regs)->reg_flags & 4)" ( (binary_expression "(i.op[0].regs)->reg_flags & 4" (field_expression "(i.op[0].regs)->reg_flags" (parenthesized_expression "(i.op[0].regs)" ( (field_expression "i.op[0].regs" (subscript_expression "i.op[0]" (field_expression "i.op" identifier . field_identifier) [ number_literal ]) . field_identifier) )) -> field_identifier) & number_literal) )) == number_literal) && (binary_expression "(i.op[0].regs)->reg_num == '\0'" (field_expression "(i.op[0].regs)->reg_num" (parenthesized_expression "(i.op[0].regs)" ( (field_expression "i.op[0].regs" (subscript_expression "i.op[0]" (field_expression "i.op" identifier . field_identifier) [ number_literal ]) . field_identifier) )) -> field_identifier) == (char_literal "'\0'" ' escape_sequence '))) ))) )) (compound_statement "{\n      if (((((i.op[1].regs)->reg_flags & 1) != 0) || ((i.op[1].regs)->reg_num != '\x01')) ||\n         (((i.op[1].regs)->reg_flags & 4) != 0)) {\n        uVar10 = 2;\n        iVar7 = i.op[1];\n        goto LAB_0004264d;\n      }\n      uVar10 = 3;\n      iVar7 = i.op[2];\n      if ((((i.op[2].regs)->reg_flags & 5) != 0) ||\n         ((uchar)((i.tm.extension_opcode == 0xfb) + '\x02') != (i.op[2].regs)->reg_num))\n      goto LAB_0004264d;\n    }" { (if_statement "if (((((i.op[1].regs)->reg_flags & 1) != 0) || ((i.op[1].regs)->reg_num != '\x01')) ||\n         (((i.op[1].regs)->reg_flags & 4) != 0)) {\n        uVar10 = 2;\n        iVar7 = i.op[1];\n        goto LAB_0004264d;\n      }" if (parenthesized_expression "(((((i.op[1].regs)->reg_flags & 1) != 0) || ((i.op[1].regs)->reg_num != '\x01')) ||\n         (((i.op[1].regs)->reg_flags & 4) != 0))" ( (binary_expression "((((i.op[1].regs)->reg_flags & 1) != 0) || ((i.op[1].regs)->reg_num != '\x01')) ||\n         (((i.op[1].regs)->reg_flags & 4) != 0)" (parenthesized_expression "((((i.op[1].regs)->reg_flags & 1) != 0) || ((i.op[1].regs)->reg_num != '\x01'))" ( (binary_expression "(((i.op[1].regs)->reg_flags & 1) != 0) || ((i.op[1].regs)->reg_num != '\x01')" (parenthesized_expression "(((i.op[1].regs)->reg_flags & 1) != 0)" ( (binary_expression "((i.op[1].regs)->reg_flags & 1) != 0" (parenthesized_expression "((i.op[1].regs)->reg_flags & 1)" ( (binary_expression "(i.op[1].regs)->reg_flags & 1" (field_expression "(i.op[1].regs)->reg_flags" (parenthesized_expression "(i.op[1].regs)" ( (field_expression "i.op[1].regs" (subscript_expression "i.op[1]" (field_expression "i.op" identifier . field_identifier) [ number_literal ]) . field_identifier) )) -> field_identifier) & number_literal) )) != number_literal) )) || (parenthesized_expression "((i.op[1].regs)->reg_num != '\x01')" ( (binary_expression "(i.op[1].regs)->reg_num != '\x01'" (field_expression "(i.op[1].regs)->reg_num" (parenthesized_expression "(i.op[1].regs)" ( (field_expression "i.op[1].regs" (subscript_expression "i.op[1]" (field_expression "i.op" identifier . field_identifier) [ number_literal ]) . field_identifier) )) -> field_identifier) != (char_literal "'\x01'" ' escape_sequence ')) ))) )) || (parenthesized_expression "(((i.op[1].regs)->reg_flags & 4) != 0)" ( (binary_expression "((i.op[1].regs)->reg_flags & 4) != 0" (parenthesized_expression "((i.op[1].regs)->reg_flags & 4)" ( (binary_expression "(i.op[1].regs)->reg_flags & 4" (field_expression "(i.op[1].regs)->reg_flags" (parenthesized_expression "(i.op[1].regs)" ( (field_expression "i.op[1].regs" (subscript_expression "i.op[1]" (field_expression "i.op" identifier . field_identifier) [ number_literal ]) . field_identifier) )) -> field_identifier) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n        uVar10 = 2;\n        iVar7 = i.op[1];\n        goto LAB_0004264d;\n      }" { (expression_statement "uVar10 = 2;" (assignment_expression "uVar10 = 2" identifier = number_literal) ;) (expression_statement "iVar7 = i.op[1];" (assignment_expression "iVar7 = i.op[1]" identifier = (subscript_expression "i.op[1]" (field_expression "i.op" identifier . field_identifier) [ number_literal ])) ;) (goto_statement "goto LAB_0004264d;" goto statement_identifier ;) })) (expression_statement "uVar10 = 3;" (assignment_expression "uVar10 = 3" identifier = number_literal) ;) (expression_statement "iVar7 = i.op[2];" (assignment_expression "iVar7 = i.op[2]" identifier = (subscript_expression "i.op[2]" (field_expression "i.op" identifier . field_identifier) [ number_literal ])) ;) (if_statement "if ((((i.op[2].regs)->reg_flags & 5) != 0) ||\n         ((uchar)((i.tm.extension_opcode == 0xfb) + '\x02') != (i.op[2].regs)->reg_num))\n      goto LAB_0004264d;" if (parenthesized_expression "((((i.op[2].regs)->reg_flags & 5) != 0) ||\n         ((uchar)((i.tm.extension_opcode == 0xfb) + '\x02') != (i.op[2].regs)->reg_num))" ( (binary_expression "(((i.op[2].regs)->reg_flags & 5) != 0) ||\n         ((uchar)((i.tm.extension_opcode == 0xfb) + '\x02') != (i.op[2].regs)->reg_num)" (parenthesized_expression "(((i.op[2].regs)->reg_flags & 5) != 0)" ( (binary_expression "((i.op[2].regs)->reg_flags & 5) != 0" (parenthesized_expression "((i.op[2].regs)->reg_flags & 5)" ( (binary_expression "(i.op[2].regs)->reg_flags & 5" (field_expression "(i.op[2].regs)->reg_flags" (parenthesized_expression "(i.op[2].regs)" ( (field_expression "i.op[2].regs" (subscript_expression "i.op[2]" (field_expression "i.op" identifier . field_identifier) [ number_literal ]) . field_identifier) )) -> field_identifier) & number_literal) )) != number_literal) )) || (parenthesized_expression "((uchar)((i.tm.extension_opcode == 0xfb) + '\x02') != (i.op[2].regs)->reg_num)" ( (binary_expression "(uchar)((i.tm.extension_opcode == 0xfb) + '\x02') != (i.op[2].regs)->reg_num" (call_expression "(uchar)((i.tm.extension_opcode == 0xfb) + '\x02')" (parenthesized_expression "(uchar)" ( identifier )) (argument_list "((i.tm.extension_opcode == 0xfb) + '\x02')" ( (binary_expression "(i.tm.extension_opcode == 0xfb) + '\x02'" (parenthesized_expression "(i.tm.extension_opcode == 0xfb)" ( (binary_expression "i.tm.extension_opcode == 0xfb" (field_expression "i.tm.extension_opcode" (field_expression "i.tm" identifier . field_identifier) . field_identifier) == number_literal) )) + (char_literal "'\x02'" ' escape_sequence ')) ))) != (field_expression "(i.op[2].regs)->reg_num" (parenthesized_expression "(i.op[2].regs)" ( (field_expression "i.op[2].regs" (subscript_expression "i.op[2]" (field_expression "i.op" identifier . field_identifier) [ number_literal ]) . field_identifier) )) -> field_identifier)) ))) )) (goto_statement "goto LAB_0004264d;" goto statement_identifier ;)) }) (else_clause "else {\n      uVar10 = 1;\n      iVar7 = i.op[0];\nLAB_0004264d:\n      psVar3 = (iVar7.disps)->X_add_symbol;\n      pcVar8 = (char *)dcgettext(0,"can\'t use register \'%s%s\' as operand %d in \'%s\'.",5);\n      as_bad(pcVar8,pcVar4,psVar3,uVar10,pcVar5);\n    }" else (compound_statement "{\n      uVar10 = 1;\n      iVar7 = i.op[0];\nLAB_0004264d:\n      psVar3 = (iVar7.disps)->X_add_symbol;\n      pcVar8 = (char *)dcgettext(0,"can\'t use register \'%s%s\' as operand %d in \'%s\'.",5);\n      as_bad(pcVar8,pcVar4,psVar3,uVar10,pcVar5);\n    }" { (expression_statement "uVar10 = 1;" (assignment_expression "uVar10 = 1" identifier = number_literal) ;) (expression_statement "iVar7 = i.op[0];" (assignment_expression "iVar7 = i.op[0]" identifier = (subscript_expression "i.op[0]" (field_expression "i.op" identifier . field_identifier) [ number_literal ])) ;) (labeled_statement "LAB_0004264d:\n      psVar3 = (iVar7.disps)->X_add_symbol;" statement_identifier : (expression_statement "psVar3 = (iVar7.disps)->X_add_symbol;" (assignment_expression "psVar3 = (iVar7.disps)->X_add_symbol" identifier = (field_expression "(iVar7.disps)->X_add_symbol" (parenthesized_expression "(iVar7.disps)" ( (field_expression "iVar7.disps" identifier . field_identifier) )) -> field_identifier)) ;)) (expression_statement "pcVar8 = (char *)dcgettext(0,"can\'t use register \'%s%s\' as operand %d in \'%s\'.",5);" (assignment_expression "pcVar8 = (char *)dcgettext(0,"can\'t use register \'%s%s\' as operand %d in \'%s\'.",5)" identifier = (cast_expression "(char *)dcgettext(0,"can\'t use register \'%s%s\' as operand %d in \'%s\'.",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"can\'t use register \'%s%s\' as operand %d in \'%s\'.",5)" identifier (argument_list "(0,"can\'t use register \'%s%s\' as operand %d in \'%s\'.",5)" ( number_literal , (string_literal ""can\'t use register \'%s%s\' as operand %d in \'%s\'."" " string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content ") , number_literal ))))) ;) (expression_statement "as_bad(pcVar8,pcVar4,psVar3,uVar10,pcVar5);" (call_expression "as_bad(pcVar8,pcVar4,psVar3,uVar10,pcVar5)" identifier (argument_list "(pcVar8,pcVar4,psVar3,uVar10,pcVar5)" ( identifier , identifier , identifier , identifier , identifier ))) ;) }))) (expression_statement "i.operands = 0;" (assignment_expression "i.operands = 0" (field_expression "i.operands" identifier . field_identifier) = number_literal) ;) }) (else_clause "else {\n    if (i.operands != 0) {\n      uVar6 = 0;\n      do {\n        while( true ) {\n          pcVar5 = i.tm.name;\n          pcVar4 = register_prefix;\n          prVar2 = i.op[uVar6].regs;\n          uVar9 = uVar6 + 1;\n          if ((((prVar2->reg_flags & 1) == 0) && (prVar2->reg_num == uVar6)) &&\n             ((prVar2->reg_flags & 4) == 0)) break;\n          pcVar8 = prVar2->reg_name;\n          format = (char *)dcgettext(0,"can\'t use register \'%s%s\' as operand %d in \'%s\'.",5);\n          as_bad(format,pcVar4,pcVar8,uVar9,pcVar5);\n          uVar6 = uVar9;\n          if (i.operands <= uVar9) goto LAB_000424a2;\n        }\n        uVar6 = uVar9;\n      } while (uVar9 < i.operands);\nLAB_000424a2:\n      i.operands = 0;\n    }\n    if ((i.tm.cpu_flags.array[2]._2_1_ & 0x40) == 0) {\nLAB_000425f0:\n      if ((1 < i.imm_operands) ||\n         ((uVar6 = i.operands, uVar9 = i.imm_operands, 2 < i.operands &&\n          ((((i.tm.opcode_modifier._4_4_ & 0x38600) == 0 && (i.tm.opcode_modifier._7_1_ == '\0')) ||\n           (4 < i.operands)))))) goto LAB_00042628;\n      goto LAB_000424cc;\n    }\n  }" else (compound_statement "{\n    if (i.operands != 0) {\n      uVar6 = 0;\n      do {\n        while( true ) {\n          pcVar5 = i.tm.name;\n          pcVar4 = register_prefix;\n          prVar2 = i.op[uVar6].regs;\n          uVar9 = uVar6 + 1;\n          if ((((prVar2->reg_flags & 1) == 0) && (prVar2->reg_num == uVar6)) &&\n             ((prVar2->reg_flags & 4) == 0)) break;\n          pcVar8 = prVar2->reg_name;\n          format = (char *)dcgettext(0,"can\'t use register \'%s%s\' as operand %d in \'%s\'.",5);\n          as_bad(format,pcVar4,pcVar8,uVar9,pcVar5);\n          uVar6 = uVar9;\n          if (i.operands <= uVar9) goto LAB_000424a2;\n        }\n        uVar6 = uVar9;\n      } while (uVar9 < i.operands);\nLAB_000424a2:\n      i.operands = 0;\n    }\n    if ((i.tm.cpu_flags.array[2]._2_1_ & 0x40) == 0) {\nLAB_000425f0:\n      if ((1 < i.imm_operands) ||\n         ((uVar6 = i.operands, uVar9 = i.imm_operands, 2 < i.operands &&\n          ((((i.tm.opcode_modifier._4_4_ & 0x38600) == 0 && (i.tm.opcode_modifier._7_1_ == '\0')) ||\n           (4 < i.operands)))))) goto LAB_00042628;\n      goto LAB_000424cc;\n    }\n  }" { (if_statement "if (i.operands != 0) {\n      uVar6 = 0;\n      do {\n        while( true ) {\n          pcVar5 = i.tm.name;\n          pcVar4 = register_prefix;\n          prVar2 = i.op[uVar6].regs;\n          uVar9 = uVar6 + 1;\n          if ((((prVar2->reg_flags & 1) == 0) && (prVar2->reg_num == uVar6)) &&\n             ((prVar2->reg_flags & 4) == 0)) break;\n          pcVar8 = prVar2->reg_name;\n          format = (char *)dcgettext(0,"can\'t use register \'%s%s\' as operand %d in \'%s\'.",5);\n          as_bad(format,pcVar4,pcVar8,uVar9,pcVar5);\n          uVar6 = uVar9;\n          if (i.operands <= uVar9) goto LAB_000424a2;\n        }\n        uVar6 = uVar9;\n      } while (uVar9 < i.operands);\nLAB_000424a2:\n      i.operands = 0;\n    }" if (parenthesized_expression "(i.operands != 0)" ( (binary_expression "i.operands != 0" (field_expression "i.operands" identifier . field_identifier) != number_literal) )) (compound_statement "{\n      uVar6 = 0;\n      do {\n        while( true ) {\n          pcVar5 = i.tm.name;\n          pcVar4 = register_prefix;\n          prVar2 = i.op[uVar6].regs;\n          uVar9 = uVar6 + 1;\n          if ((((prVar2->reg_flags & 1) == 0) && (prVar2->reg_num == uVar6)) &&\n             ((prVar2->reg_flags & 4) == 0)) break;\n          pcVar8 = prVar2->reg_name;\n          format = (char *)dcgettext(0,"can\'t use register \'%s%s\' as operand %d in \'%s\'.",5);\n          as_bad(format,pcVar4,pcVar8,uVar9,pcVar5);\n          uVar6 = uVar9;\n          if (i.operands <= uVar9) goto LAB_000424a2;\n        }\n        uVar6 = uVar9;\n      } while (uVar9 < i.operands);\nLAB_000424a2:\n      i.operands = 0;\n    }" { (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" identifier = number_literal) ;) (do_statement "do {\n        while( true ) {\n          pcVar5 = i.tm.name;\n          pcVar4 = register_prefix;\n          prVar2 = i.op[uVar6].regs;\n          uVar9 = uVar6 + 1;\n          if ((((prVar2->reg_flags & 1) == 0) && (prVar2->reg_num == uVar6)) &&\n             ((prVar2->reg_flags & 4) == 0)) break;\n          pcVar8 = prVar2->reg_name;\n          format = (char *)dcgettext(0,"can\'t use register \'%s%s\' as operand %d in \'%s\'.",5);\n          as_bad(format,pcVar4,pcVar8,uVar9,pcVar5);\n          uVar6 = uVar9;\n          if (i.operands <= uVar9) goto LAB_000424a2;\n        }\n        uVar6 = uVar9;\n      } while (uVar9 < i.operands);" do (compound_statement "{\n        while( true ) {\n          pcVar5 = i.tm.name;\n          pcVar4 = register_prefix;\n          prVar2 = i.op[uVar6].regs;\n          uVar9 = uVar6 + 1;\n          if ((((prVar2->reg_flags & 1) == 0) && (prVar2->reg_num == uVar6)) &&\n             ((prVar2->reg_flags & 4) == 0)) break;\n          pcVar8 = prVar2->reg_name;\n          format = (char *)dcgettext(0,"can\'t use register \'%s%s\' as operand %d in \'%s\'.",5);\n          as_bad(format,pcVar4,pcVar8,uVar9,pcVar5);\n          uVar6 = uVar9;\n          if (i.operands <= uVar9) goto LAB_000424a2;\n        }\n        uVar6 = uVar9;\n      }" { (while_statement "while( true ) {\n          pcVar5 = i.tm.name;\n          pcVar4 = register_prefix;\n          prVar2 = i.op[uVar6].regs;\n          uVar9 = uVar6 + 1;\n          if ((((prVar2->reg_flags & 1) == 0) && (prVar2->reg_num == uVar6)) &&\n             ((prVar2->reg_flags & 4) == 0)) break;\n          pcVar8 = prVar2->reg_name;\n          format = (char *)dcgettext(0,"can\'t use register \'%s%s\' as operand %d in \'%s\'.",5);\n          as_bad(format,pcVar4,pcVar8,uVar9,pcVar5);\n          uVar6 = uVar9;\n          if (i.operands <= uVar9) goto LAB_000424a2;\n        }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n          pcVar5 = i.tm.name;\n          pcVar4 = register_prefix;\n          prVar2 = i.op[uVar6].regs;\n          uVar9 = uVar6 + 1;\n          if ((((prVar2->reg_flags & 1) == 0) && (prVar2->reg_num == uVar6)) &&\n             ((prVar2->reg_flags & 4) == 0)) break;\n          pcVar8 = prVar2->reg_name;\n          format = (char *)dcgettext(0,"can\'t use register \'%s%s\' as operand %d in \'%s\'.",5);\n          as_bad(format,pcVar4,pcVar8,uVar9,pcVar5);\n          uVar6 = uVar9;\n          if (i.operands <= uVar9) goto LAB_000424a2;\n        }" { (expression_statement "pcVar5 = i.tm.name;" (assignment_expression "pcVar5 = i.tm.name" identifier = (field_expression "i.tm.name" (field_expression "i.tm" identifier . field_identifier) . field_identifier)) ;) (expression_statement "pcVar4 = register_prefix;" (assignment_expression "pcVar4 = register_prefix" identifier = identifier) ;) (expression_statement "prVar2 = i.op[uVar6].regs;" (assignment_expression "prVar2 = i.op[uVar6].regs" identifier = (field_expression "i.op[uVar6].regs" (subscript_expression "i.op[uVar6]" (field_expression "i.op" identifier . field_identifier) [ identifier ]) . field_identifier)) ;) (expression_statement "uVar9 = uVar6 + 1;" (assignment_expression "uVar9 = uVar6 + 1" identifier = (binary_expression "uVar6 + 1" identifier + number_literal)) ;) (if_statement "if ((((prVar2->reg_flags & 1) == 0) && (prVar2->reg_num == uVar6)) &&\n             ((prVar2->reg_flags & 4) == 0)) break;" if (parenthesized_expression "((((prVar2->reg_flags & 1) == 0) && (prVar2->reg_num == uVar6)) &&\n             ((prVar2->reg_flags & 4) == 0))" ( (binary_expression "(((prVar2->reg_flags & 1) == 0) && (prVar2->reg_num == uVar6)) &&\n             ((prVar2->reg_flags & 4) == 0)" (parenthesized_expression "(((prVar2->reg_flags & 1) == 0) && (prVar2->reg_num == uVar6))" ( (binary_expression "((prVar2->reg_flags & 1) == 0) && (prVar2->reg_num == uVar6)" (parenthesized_expression "((prVar2->reg_flags & 1) == 0)" ( (binary_expression "(prVar2->reg_flags & 1) == 0" (parenthesized_expression "(prVar2->reg_flags & 1)" ( (binary_expression "prVar2->reg_flags & 1" (field_expression "prVar2->reg_flags" identifier -> field_identifier) & number_literal) )) == number_literal) )) && (parenthesized_expression "(prVar2->reg_num == uVar6)" ( (binary_expression "prVar2->reg_num == uVar6" (field_expression "prVar2->reg_num" identifier -> field_identifier) == identifier) ))) )) && (parenthesized_expression "((prVar2->reg_flags & 4) == 0)" ( (binary_expression "(prVar2->reg_flags & 4) == 0" (parenthesized_expression "(prVar2->reg_flags & 4)" ( (binary_expression "prVar2->reg_flags & 4" (field_expression "prVar2->reg_flags" identifier -> field_identifier) & number_literal) )) == number_literal) ))) )) (break_statement "break;" break ;)) (expression_statement "pcVar8 = prVar2->reg_name;" (assignment_expression "pcVar8 = prVar2->reg_name" identifier = (field_expression "prVar2->reg_name" identifier -> field_identifier)) ;) (expression_statement "format = (char *)dcgettext(0,"can\'t use register \'%s%s\' as operand %d in \'%s\'.",5);" (assignment_expression "format = (char *)dcgettext(0,"can\'t use register \'%s%s\' as operand %d in \'%s\'.",5)" identifier = (cast_expression "(char *)dcgettext(0,"can\'t use register \'%s%s\' as operand %d in \'%s\'.",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"can\'t use register \'%s%s\' as operand %d in \'%s\'.",5)" identifier (argument_list "(0,"can\'t use register \'%s%s\' as operand %d in \'%s\'.",5)" ( number_literal , (string_literal ""can\'t use register \'%s%s\' as operand %d in \'%s\'."" " string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content ") , number_literal ))))) ;) (expression_statement "as_bad(format,pcVar4,pcVar8,uVar9,pcVar5);" (call_expression "as_bad(format,pcVar4,pcVar8,uVar9,pcVar5)" identifier (argument_list "(format,pcVar4,pcVar8,uVar9,pcVar5)" ( identifier , identifier , identifier , identifier , identifier ))) ;) (expression_statement "uVar6 = uVar9;" (assignment_expression "uVar6 = uVar9" identifier = identifier) ;) (if_statement "if (i.operands <= uVar9) goto LAB_000424a2;" if (parenthesized_expression "(i.operands <= uVar9)" ( (binary_expression "i.operands <= uVar9" (field_expression "i.operands" identifier . field_identifier) <= identifier) )) (goto_statement "goto LAB_000424a2;" goto statement_identifier ;)) })) (expression_statement "uVar6 = uVar9;" (assignment_expression "uVar6 = uVar9" identifier = identifier) ;) }) while (parenthesized_expression "(uVar9 < i.operands)" ( (binary_expression "uVar9 < i.operands" identifier < (field_expression "i.operands" identifier . field_identifier)) )) ;) (labeled_statement "LAB_000424a2:\n      i.operands = 0;" statement_identifier : (expression_statement "i.operands = 0;" (assignment_expression "i.operands = 0" (field_expression "i.operands" identifier . field_identifier) = number_literal) ;)) })) (if_statement "if ((i.tm.cpu_flags.array[2]._2_1_ & 0x40) == 0) {\nLAB_000425f0:\n      if ((1 < i.imm_operands) ||\n         ((uVar6 = i.operands, uVar9 = i.imm_operands, 2 < i.operands &&\n          ((((i.tm.opcode_modifier._4_4_ & 0x38600) == 0 && (i.tm.opcode_modifier._7_1_ == '\0')) ||\n           (4 < i.operands)))))) goto LAB_00042628;\n      goto LAB_000424cc;\n    }" if (parenthesized_expression "((i.tm.cpu_flags.array[2]._2_1_ & 0x40) == 0)" ( (binary_expression "(i.tm.cpu_flags.array[2]._2_1_ & 0x40) == 0" (parenthesized_expression "(i.tm.cpu_flags.array[2]._2_1_ & 0x40)" ( (binary_expression "i.tm.cpu_flags.array[2]._2_1_ & 0x40" (field_expression "i.tm.cpu_flags.array[2]._2_1_" (subscript_expression "i.tm.cpu_flags.array[2]" (field_expression "i.tm.cpu_flags.array" (field_expression "i.tm.cpu_flags" (field_expression "i.tm" identifier . field_identifier) . field_identifier) . field_identifier) [ number_literal ]) . field_identifier) & number_literal) )) == number_literal) )) (compound_statement "{\nLAB_000425f0:\n      if ((1 < i.imm_operands) ||\n         ((uVar6 = i.operands, uVar9 = i.imm_operands, 2 < i.operands &&\n          ((((i.tm.opcode_modifier._4_4_ & 0x38600) == 0 && (i.tm.opcode_modifier._7_1_ == '\0')) ||\n           (4 < i.operands)))))) goto LAB_00042628;\n      goto LAB_000424cc;\n    }" { (labeled_statement "LAB_000425f0:\n      if ((1 < i.imm_operands) ||\n         ((uVar6 = i.operands, uVar9 = i.imm_operands, 2 < i.operands &&\n          ((((i.tm.opcode_modifier._4_4_ & 0x38600) == 0 && (i.tm.opcode_modifier._7_1_ == '\0')) ||\n           (4 < i.operands)))))) goto LAB_00042628;" statement_identifier : (if_statement "if ((1 < i.imm_operands) ||\n         ((uVar6 = i.operands, uVar9 = i.imm_operands, 2 < i.operands &&\n          ((((i.tm.opcode_modifier._4_4_ & 0x38600) == 0 && (i.tm.opcode_modifier._7_1_ == '\0')) ||\n           (4 < i.operands)))))) goto LAB_00042628;" if (parenthesized_expression "((1 < i.imm_operands) ||\n         ((uVar6 = i.operands, uVar9 = i.imm_operands, 2 < i.operands &&\n          ((((i.tm.opcode_modifier._4_4_ & 0x38600) == 0 && (i.tm.opcode_modifier._7_1_ == '\0')) ||\n           (4 < i.operands))))))" ( (binary_expression "(1 < i.imm_operands) ||\n         ((uVar6 = i.operands, uVar9 = i.imm_operands, 2 < i.operands &&\n          ((((i.tm.opcode_modifier._4_4_ & 0x38600) == 0 && (i.tm.opcode_modifier._7_1_ == '\0')) ||\n           (4 < i.operands)))))" (parenthesized_expression "(1 < i.imm_operands)" ( (binary_expression "1 < i.imm_operands" number_literal < (field_expression "i.imm_operands" identifier . field_identifier)) )) || (parenthesized_expression "((uVar6 = i.operands, uVar9 = i.imm_operands, 2 < i.operands &&\n          ((((i.tm.opcode_modifier._4_4_ & 0x38600) == 0 && (i.tm.opcode_modifier._7_1_ == '\0')) ||\n           (4 < i.operands)))))" ( (parenthesized_expression "(uVar6 = i.operands, uVar9 = i.imm_operands, 2 < i.operands &&\n          ((((i.tm.opcode_modifier._4_4_ & 0x38600) == 0 && (i.tm.opcode_modifier._7_1_ == '\0')) ||\n           (4 < i.operands))))" ( (comma_expression "uVar6 = i.operands, uVar9 = i.imm_operands, 2 < i.operands &&\n          ((((i.tm.opcode_modifier._4_4_ & 0x38600) == 0 && (i.tm.opcode_modifier._7_1_ == '\0')) ||\n           (4 < i.operands)))" (assignment_expression "uVar6 = i.operands" identifier = (field_expression "i.operands" identifier . field_identifier)) , (comma_expression "uVar9 = i.imm_operands, 2 < i.operands &&\n          ((((i.tm.opcode_modifier._4_4_ & 0x38600) == 0 && (i.tm.opcode_modifier._7_1_ == '\0')) ||\n           (4 < i.operands)))" (assignment_expression "uVar9 = i.imm_operands" identifier = (field_expression "i.imm_operands" identifier . field_identifier)) , (binary_expression "2 < i.operands &&\n          ((((i.tm.opcode_modifier._4_4_ & 0x38600) == 0 && (i.tm.opcode_modifier._7_1_ == '\0')) ||\n           (4 < i.operands)))" (binary_expression "2 < i.operands" number_literal < (field_expression "i.operands" identifier . field_identifier)) && (parenthesized_expression "((((i.tm.opcode_modifier._4_4_ & 0x38600) == 0 && (i.tm.opcode_modifier._7_1_ == '\0')) ||\n           (4 < i.operands)))" ( (parenthesized_expression "(((i.tm.opcode_modifier._4_4_ & 0x38600) == 0 && (i.tm.opcode_modifier._7_1_ == '\0')) ||\n           (4 < i.operands))" ( (binary_expression "((i.tm.opcode_modifier._4_4_ & 0x38600) == 0 && (i.tm.opcode_modifier._7_1_ == '\0')) ||\n           (4 < i.operands)" (parenthesized_expression "((i.tm.opcode_modifier._4_4_ & 0x38600) == 0 && (i.tm.opcode_modifier._7_1_ == '\0'))" ( (binary_expression "(i.tm.opcode_modifier._4_4_ & 0x38600) == 0 && (i.tm.opcode_modifier._7_1_ == '\0')" (binary_expression "(i.tm.opcode_modifier._4_4_ & 0x38600) == 0" (parenthesized_expression "(i.tm.opcode_modifier._4_4_ & 0x38600)" ( (binary_expression "i.tm.opcode_modifier._4_4_ & 0x38600" (field_expression "i.tm.opcode_modifier._4_4_" (field_expression "i.tm.opcode_modifier" (field_expression "i.tm" identifier . field_identifier) . field_identifier) . field_identifier) & number_literal) )) == number_literal) && (parenthesized_expression "(i.tm.opcode_modifier._7_1_ == '\0')" ( (binary_expression "i.tm.opcode_modifier._7_1_ == '\0'" (field_expression "i.tm.opcode_modifier._7_1_" (field_expression "i.tm.opcode_modifier" (field_expression "i.tm" identifier . field_identifier) . field_identifier) . field_identifier) == (char_literal "'\0'" ' escape_sequence ')) ))) )) || (parenthesized_expression "(4 < i.operands)" ( (binary_expression "4 < i.operands" number_literal < (field_expression "i.operands" identifier . field_identifier)) ))) )) ))))) )) ))) )) (goto_statement "goto LAB_00042628;" goto statement_identifier ;))) (goto_statement "goto LAB_000424cc;" goto statement_identifier ;) })) }))) (labeled_statement "LAB_000424b7:\n  uVar6 = i.operands;" statement_identifier : (expression_statement "uVar6 = i.operands;" (assignment_expression "uVar6 = i.operands" identifier = (field_expression "i.operands" identifier . field_identifier)) ;)) (expression_statement "uVar9 = i.imm_operands;" (assignment_expression "uVar9 = i.imm_operands" identifier = (field_expression "i.imm_operands" identifier . field_identifier)) ;) (if_statement "if (1 < i.imm_operands) {\nLAB_00042628:\n                    /* WARNING: Subroutine does not return */\n    as_abort("../../gas/config/tc-i386.c",0xe94,"process_immext");\n  }" if (parenthesized_expression "(1 < i.imm_operands)" ( (binary_expression "1 < i.imm_operands" number_literal < (field_expression "i.imm_operands" identifier . field_identifier)) )) (compound_statement "{\nLAB_00042628:\n                    /* WARNING: Subroutine does not return */\n    as_abort("../../gas/config/tc-i386.c",0xe94,"process_immext");\n  }" { (labeled_statement "LAB_00042628:\n                    /* WARNING: Subroutine does not return */\n    as_abort("../../gas/config/tc-i386.c",0xe94,"process_immext");" statement_identifier : comment (expression_statement "as_abort("../../gas/config/tc-i386.c",0xe94,"process_immext");" (call_expression "as_abort("../../gas/config/tc-i386.c",0xe94,"process_immext")" identifier (argument_list "("../../gas/config/tc-i386.c",0xe94,"process_immext")" ( (string_literal ""../../gas/config/tc-i386.c"" " string_content ") , number_literal , (string_literal ""process_immext"" " string_content ") ))) ;)) })) (labeled_statement "LAB_000424cc:\n  i.imm_operands = uVar9 + 1;" statement_identifier : (expression_statement "i.imm_operands = uVar9 + 1;" (assignment_expression "i.imm_operands = uVar9 + 1" (field_expression "i.imm_operands" identifier . field_identifier) = (binary_expression "uVar9 + 1" identifier + number_literal)) ;)) (expression_statement "i.types[uVar6].array[0] = 0;" (assignment_expression "i.types[uVar6].array[0] = 0" (subscript_expression "i.types[uVar6].array[0]" (field_expression "i.types[uVar6].array" (subscript_expression "i.types[uVar6]" (field_expression "i.types" identifier . field_identifier) [ identifier ]) . field_identifier) [ number_literal ]) = number_literal) ;) (expression_statement "i.op[uVar6].disps = im_expressions + uVar9;" (assignment_expression "i.op[uVar6].disps = im_expressions + uVar9" (field_expression "i.op[uVar6].disps" (subscript_expression "i.op[uVar6]" (field_expression "i.op" identifier . field_identifier) [ identifier ]) . field_identifier) = (binary_expression "im_expressions + uVar9" identifier + identifier)) ;) (expression_statement "i.operands = uVar6 + 1;" (assignment_expression "i.operands = uVar6 + 1" (field_expression "i.operands" identifier . field_identifier) = (binary_expression "uVar6 + 1" identifier + number_literal)) ;) (expression_statement "im_expressions[uVar9].field_0x10 = 2;" (assignment_expression "im_expressions[uVar9].field_0x10 = 2" (field_expression "im_expressions[uVar9].field_0x10" (subscript_expression "im_expressions[uVar9]" identifier [ identifier ]) . field_identifier) = number_literal) ;) (expression_statement "*(undefined4 *)((int)i.types + uVar6 * 8 + 4) = 0;" (assignment_expression "*(undefined4 *)((int)i.types + uVar6 * 8 + 4) = 0" (pointer_expression "*(undefined4 *)((int)i.types + uVar6 * 8 + 4)" * (cast_expression "(undefined4 *)((int)i.types + uVar6 * 8 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)i.types + uVar6 * 8 + 4)" ( (binary_expression "(int)i.types + uVar6 * 8 + 4" (binary_expression "(int)i.types + uVar6 * 8" (cast_expression "(int)i.types" ( (type_descriptor "int" primitive_type) ) (field_expression "i.types" identifier . field_identifier)) + (binary_expression "uVar6 * 8" identifier * number_literal)) + number_literal) )))) = number_literal) ;) (expression_statement "pbVar1 = (byte *)((int)i.types + uVar6 * 8 + 1);" (assignment_expression "pbVar1 = (byte *)((int)i.types + uVar6 * 8 + 1)" identifier = (cast_expression "(byte *)((int)i.types + uVar6 * 8 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)i.types + uVar6 * 8 + 1)" ( (binary_expression "(int)i.types + uVar6 * 8 + 1" (binary_expression "(int)i.types + uVar6 * 8" (cast_expression "(int)i.types" ( (type_descriptor "int" primitive_type) ) (field_expression "i.types" identifier . field_identifier)) + (binary_expression "uVar6 * 8" identifier * number_literal)) + number_literal) )))) ;) (expression_statement "*pbVar1 = *pbVar1 | 4;" (assignment_expression "*pbVar1 = *pbVar1 | 4" (pointer_expression "*pbVar1" * identifier) = (binary_expression "*pbVar1 | 4" (pointer_expression "*pbVar1" * identifier) | number_literal)) ;) (expression_statement "*(uint *)&im_expressions[uVar9].X_add_number = i.tm.extension_opcode;" (assignment_expression "*(uint *)&im_expressions[uVar9].X_add_number = i.tm.extension_opcode" (pointer_expression "*(uint *)&im_expressions[uVar9].X_add_number" * (cast_expression "(uint *)&im_expressions[uVar9].X_add_number" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&im_expressions[uVar9].X_add_number" & (field_expression "im_expressions[uVar9].X_add_number" (subscript_expression "im_expressions[uVar9]" identifier [ identifier ]) . field_identifier)))) = (field_expression "i.tm.extension_opcode" (field_expression "i.tm" identifier . field_identifier) . field_identifier)) ;) (expression_statement "*(undefined4 *)((int)&im_expressions[uVar9].X_add_number + 4) = 0;" (assignment_expression "*(undefined4 *)((int)&im_expressions[uVar9].X_add_number + 4) = 0" (pointer_expression "*(undefined4 *)((int)&im_expressions[uVar9].X_add_number + 4)" * (cast_expression "(undefined4 *)((int)&im_expressions[uVar9].X_add_number + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&im_expressions[uVar9].X_add_number + 4)" ( (binary_expression "(int)&im_expressions[uVar9].X_add_number + 4" (cast_expression "(int)&im_expressions[uVar9].X_add_number" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&im_expressions[uVar9].X_add_number" & (field_expression "im_expressions[uVar9].X_add_number" (subscript_expression "im_expressions[uVar9]" identifier [ identifier ]) . field_identifier))) + number_literal) )))) = number_literal) ;) (expression_statement "i.tm.extension_opcode = 0xffff;" (assignment_expression "i.tm.extension_opcode = 0xffff" (field_expression "i.tm.extension_opcode" (field_expression "i.tm" identifier . field_identifier) . field_identifier) = number_literal) ;) (return_statement "return;" return ;) })))
(translation_unit "void __regparm3 FUN_000423f0(undefined4 *param_1,undefined4 param_2)\n\n{\n  int iVar1;\n  byte *pbVar2;\n  undefined4 *puVar3;\n  undefined *puVar4;\n  undefined4 uVar5;\n  undefined4 uVar6;\n  undefined4 *puVar7;\n  undefined4 uVar8;\n  uint uVar9;\n  undefined4 uVar10;\n  \n  uVar5 = DAT_00088fa0;\n  puVar4 = PTR_DAT_00080714;\n  if ((DAT_00088fb6 & 0x28) == 0) {\n    if ((DAT_00088fbe & 0x40) == 0) goto LAB_000425f0;\n    if (DAT_00088ffc == (undefined4 *)0x0) goto LAB_000424b7;\n    if (DAT_00088ffc != (undefined4 *)0x3) {\n                    \n      FUN_0002be80("../../gas/config/tc-i386.c",0xe74,"process_immext",param_2);\n    }\n    if (((*(byte *)(DAT_00089038 + 3) & 1) == 0) &&\n       ((*(byte *)(DAT_00089038 + 3) & 4) == 0 && *(char *)((int)DAT_00089038 + 0xd) == '\0')) {\n      if ((((*(byte *)(DAT_0008903c + 3) & 1) != 0) ||\n          (*(char *)((int)DAT_0008903c + 0xd) != '\x01')) ||\n         ((*(byte *)(DAT_0008903c + 3) & 4) != 0)) {\n        uVar10 = 2;\n        puVar7 = DAT_0008903c;\n        goto LAB_0004264d;\n      }\n      uVar10 = 3;\n      puVar7 = DAT_00089040;\n      if (((*(byte *)(DAT_00089040 + 3) & 5) != 0) ||\n         (param_1 = DAT_00089040,\n         (char)((DAT_00088fac == 0xfb) + '\x02') != *(char *)((int)DAT_00089040 + 0xd)))\n      goto LAB_0004264d;\n    }\n    else {\n      uVar10 = 1;\n      puVar7 = DAT_00089038;\nLAB_0004264d:\n      uVar6 = *puVar7;\n      uVar8 = dcgettext(0,"can\'t use register \'%s%s\' as operand %d in \'%s\'.",5);\n      param_1 = (undefined4 *)FUN_0002bd60(uVar8,puVar4,uVar6,uVar10,uVar5);\n    }\n    DAT_00088ffc = (undefined4 *)0x0;\n  }\n  else {\n    if (DAT_00088ffc != (undefined4 *)0x0) {\n      puVar7 = (undefined4 *)0x0;\n      do {\n        while( true ) {\n          uVar5 = DAT_00088fa0;\n          puVar4 = PTR_DAT_00080714;\n          puVar3 = (&DAT_00089038)[(int)puVar7];\n          param_1 = (undefined4 *)((int)puVar7 + 1);\n          if ((((*(byte *)(puVar3 + 3) & 1) == 0) &&\n              ((undefined4 *)(uint)*(byte *)((int)puVar3 + 0xd) == puVar7)) &&\n             ((*(byte *)(puVar3 + 3) & 4) == 0)) break;\n          uVar10 = *puVar3;\n          uVar6 = dcgettext(0,"can\'t use register \'%s%s\' as operand %d in \'%s\'.",5);\n          FUN_0002bd60(uVar6,puVar4,uVar10,param_1,uVar5);\n          puVar7 = param_1;\n          if (DAT_00088ffc <= param_1) goto LAB_000424a2;\n        }\n        puVar7 = param_1;\n      } while (param_1 < DAT_00088ffc);\nLAB_000424a2:\n      DAT_00088ffc = (undefined4 *)0x0;\n    }\n    if ((DAT_00088fbe & 0x40) == 0) {\nLAB_000425f0:\n      if ((1 < DAT_0008900c) ||\n         ((uVar9 = DAT_0008900c, (undefined4 *)0x2 < DAT_00088ffc &&\n          (((param_1 = DAT_00088ffc, (DAT_00088fc8 & 0x38600) == 0 && (DAT_00088fc8._3_1_ == '\0'))\n           || ((undefined4 *)0x4 < DAT_00088ffc)))))) goto LAB_00042628;\n      goto LAB_000424cc;\n    }\n  }\nLAB_000424b7:\n  uVar9 = DAT_0008900c;\n  if (1 < DAT_0008900c) {\nLAB_00042628:\n                    \n    FUN_0002be80("../../gas/config/tc-i386.c",0xe94,"process_immext",param_1);\n  }\nLAB_000424cc:\n  DAT_0008900c = uVar9 + 1;\n  iVar1 = (int)DAT_00088ffc + 0xe;\n  (&DAT_00088fa0)[iVar1 * 2] = 0;\n  (&DAT_00089038)[(int)DAT_00088ffc] = &DAT_00088f20 + uVar9 * 5;\n  DAT_00088ffc = (undefined4 *)((int)DAT_00088ffc + 1);\n  (&DAT_00088f30)[uVar9 * 0x14] = 2;\n  *(undefined4 *)(&DAT_00088fa4 + iVar1 * 8) = 0;\n  pbVar2 = (byte *)((int)&DAT_00088fa0 + iVar1 * 8 + 1);\n  *pbVar2 = *pbVar2 | 4;\n  (&DAT_00088f28)[uVar9 * 5] = DAT_00088fac;\n  (&DAT_00088f2c)[uVar9 * 5] = 0;\n  DAT_00088fac = 0xffff;\n  return;\n}\n\n" (function_definition "void __regparm3 FUN_000423f0(undefined4 *param_1,undefined4 param_2)\n\n{\n  int iVar1;\n  byte *pbVar2;\n  undefined4 *puVar3;\n  undefined *puVar4;\n  undefined4 uVar5;\n  undefined4 uVar6;\n  undefined4 *puVar7;\n  undefined4 uVar8;\n  uint uVar9;\n  undefined4 uVar10;\n  \n  uVar5 = DAT_00088fa0;\n  puVar4 = PTR_DAT_00080714;\n  if ((DAT_00088fb6 & 0x28) == 0) {\n    if ((DAT_00088fbe & 0x40) == 0) goto LAB_000425f0;\n    if (DAT_00088ffc == (undefined4 *)0x0) goto LAB_000424b7;\n    if (DAT_00088ffc != (undefined4 *)0x3) {\n                    \n      FUN_0002be80("../../gas/config/tc-i386.c",0xe74,"process_immext",param_2);\n    }\n    if (((*(byte *)(DAT_00089038 + 3) & 1) == 0) &&\n       ((*(byte *)(DAT_00089038 + 3) & 4) == 0 && *(char *)((int)DAT_00089038 + 0xd) == '\0')) {\n      if ((((*(byte *)(DAT_0008903c + 3) & 1) != 0) ||\n          (*(char *)((int)DAT_0008903c + 0xd) != '\x01')) ||\n         ((*(byte *)(DAT_0008903c + 3) & 4) != 0)) {\n        uVar10 = 2;\n        puVar7 = DAT_0008903c;\n        goto LAB_0004264d;\n      }\n      uVar10 = 3;\n      puVar7 = DAT_00089040;\n      if (((*(byte *)(DAT_00089040 + 3) & 5) != 0) ||\n         (param_1 = DAT_00089040,\n         (char)((DAT_00088fac == 0xfb) + '\x02') != *(char *)((int)DAT_00089040 + 0xd)))\n      goto LAB_0004264d;\n    }\n    else {\n      uVar10 = 1;\n      puVar7 = DAT_00089038;\nLAB_0004264d:\n      uVar6 = *puVar7;\n      uVar8 = dcgettext(0,"can\'t use register \'%s%s\' as operand %d in \'%s\'.",5);\n      param_1 = (undefined4 *)FUN_0002bd60(uVar8,puVar4,uVar6,uVar10,uVar5);\n    }\n    DAT_00088ffc = (undefined4 *)0x0;\n  }\n  else {\n    if (DAT_00088ffc != (undefined4 *)0x0) {\n      puVar7 = (undefined4 *)0x0;\n      do {\n        while( true ) {\n          uVar5 = DAT_00088fa0;\n          puVar4 = PTR_DAT_00080714;\n          puVar3 = (&DAT_00089038)[(int)puVar7];\n          param_1 = (undefined4 *)((int)puVar7 + 1);\n          if ((((*(byte *)(puVar3 + 3) & 1) == 0) &&\n              ((undefined4 *)(uint)*(byte *)((int)puVar3 + 0xd) == puVar7)) &&\n             ((*(byte *)(puVar3 + 3) & 4) == 0)) break;\n          uVar10 = *puVar3;\n          uVar6 = dcgettext(0,"can\'t use register \'%s%s\' as operand %d in \'%s\'.",5);\n          FUN_0002bd60(uVar6,puVar4,uVar10,param_1,uVar5);\n          puVar7 = param_1;\n          if (DAT_00088ffc <= param_1) goto LAB_000424a2;\n        }\n        puVar7 = param_1;\n      } while (param_1 < DAT_00088ffc);\nLAB_000424a2:\n      DAT_00088ffc = (undefined4 *)0x0;\n    }\n    if ((DAT_00088fbe & 0x40) == 0) {\nLAB_000425f0:\n      if ((1 < DAT_0008900c) ||\n         ((uVar9 = DAT_0008900c, (undefined4 *)0x2 < DAT_00088ffc &&\n          (((param_1 = DAT_00088ffc, (DAT_00088fc8 & 0x38600) == 0 && (DAT_00088fc8._3_1_ == '\0'))\n           || ((undefined4 *)0x4 < DAT_00088ffc)))))) goto LAB_00042628;\n      goto LAB_000424cc;\n    }\n  }\nLAB_000424b7:\n  uVar9 = DAT_0008900c;\n  if (1 < DAT_0008900c) {\nLAB_00042628:\n                    \n    FUN_0002be80("../../gas/config/tc-i386.c",0xe94,"process_immext",param_1);\n  }\nLAB_000424cc:\n  DAT_0008900c = uVar9 + 1;\n  iVar1 = (int)DAT_00088ffc + 0xe;\n  (&DAT_00088fa0)[iVar1 * 2] = 0;\n  (&DAT_00089038)[(int)DAT_00088ffc] = &DAT_00088f20 + uVar9 * 5;\n  DAT_00088ffc = (undefined4 *)((int)DAT_00088ffc + 1);\n  (&DAT_00088f30)[uVar9 * 0x14] = 2;\n  *(undefined4 *)(&DAT_00088fa4 + iVar1 * 8) = 0;\n  pbVar2 = (byte *)((int)&DAT_00088fa0 + iVar1 * 8 + 1);\n  *pbVar2 = *pbVar2 | 4;\n  (&DAT_00088f28)[uVar9 * 5] = DAT_00088fac;\n  (&DAT_00088f2c)[uVar9 * 5] = 0;\n  DAT_00088fac = 0xffff;\n  return;\n}" primitive_type (ERROR "__regparm3" identifier) (function_declarator "FUN_000423f0(undefined4 *param_1,undefined4 param_2)" identifier (parameter_list "(undefined4 *param_1,undefined4 param_2)" ( (parameter_declaration "undefined4 *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "undefined4 param_2" type_identifier identifier) ))) (compound_statement "{\n  int iVar1;\n  byte *pbVar2;\n  undefined4 *puVar3;\n  undefined *puVar4;\n  undefined4 uVar5;\n  undefined4 uVar6;\n  undefined4 *puVar7;\n  undefined4 uVar8;\n  uint uVar9;\n  undefined4 uVar10;\n  \n  uVar5 = DAT_00088fa0;\n  puVar4 = PTR_DAT_00080714;\n  if ((DAT_00088fb6 & 0x28) == 0) {\n    if ((DAT_00088fbe & 0x40) == 0) goto LAB_000425f0;\n    if (DAT_00088ffc == (undefined4 *)0x0) goto LAB_000424b7;\n    if (DAT_00088ffc != (undefined4 *)0x3) {\n                    \n      FUN_0002be80("../../gas/config/tc-i386.c",0xe74,"process_immext",param_2);\n    }\n    if (((*(byte *)(DAT_00089038 + 3) & 1) == 0) &&\n       ((*(byte *)(DAT_00089038 + 3) & 4) == 0 && *(char *)((int)DAT_00089038 + 0xd) == '\0')) {\n      if ((((*(byte *)(DAT_0008903c + 3) & 1) != 0) ||\n          (*(char *)((int)DAT_0008903c + 0xd) != '\x01')) ||\n         ((*(byte *)(DAT_0008903c + 3) & 4) != 0)) {\n        uVar10 = 2;\n        puVar7 = DAT_0008903c;\n        goto LAB_0004264d;\n      }\n      uVar10 = 3;\n      puVar7 = DAT_00089040;\n      if (((*(byte *)(DAT_00089040 + 3) & 5) != 0) ||\n         (param_1 = DAT_00089040,\n         (char)((DAT_00088fac == 0xfb) + '\x02') != *(char *)((int)DAT_00089040 + 0xd)))\n      goto LAB_0004264d;\n    }\n    else {\n      uVar10 = 1;\n      puVar7 = DAT_00089038;\nLAB_0004264d:\n      uVar6 = *puVar7;\n      uVar8 = dcgettext(0,"can\'t use register \'%s%s\' as operand %d in \'%s\'.",5);\n      param_1 = (undefined4 *)FUN_0002bd60(uVar8,puVar4,uVar6,uVar10,uVar5);\n    }\n    DAT_00088ffc = (undefined4 *)0x0;\n  }\n  else {\n    if (DAT_00088ffc != (undefined4 *)0x0) {\n      puVar7 = (undefined4 *)0x0;\n      do {\n        while( true ) {\n          uVar5 = DAT_00088fa0;\n          puVar4 = PTR_DAT_00080714;\n          puVar3 = (&DAT_00089038)[(int)puVar7];\n          param_1 = (undefined4 *)((int)puVar7 + 1);\n          if ((((*(byte *)(puVar3 + 3) & 1) == 0) &&\n              ((undefined4 *)(uint)*(byte *)((int)puVar3 + 0xd) == puVar7)) &&\n             ((*(byte *)(puVar3 + 3) & 4) == 0)) break;\n          uVar10 = *puVar3;\n          uVar6 = dcgettext(0,"can\'t use register \'%s%s\' as operand %d in \'%s\'.",5);\n          FUN_0002bd60(uVar6,puVar4,uVar10,param_1,uVar5);\n          puVar7 = param_1;\n          if (DAT_00088ffc <= param_1) goto LAB_000424a2;\n        }\n        puVar7 = param_1;\n      } while (param_1 < DAT_00088ffc);\nLAB_000424a2:\n      DAT_00088ffc = (undefined4 *)0x0;\n    }\n    if ((DAT_00088fbe & 0x40) == 0) {\nLAB_000425f0:\n      if ((1 < DAT_0008900c) ||\n         ((uVar9 = DAT_0008900c, (undefined4 *)0x2 < DAT_00088ffc &&\n          (((param_1 = DAT_00088ffc, (DAT_00088fc8 & 0x38600) == 0 && (DAT_00088fc8._3_1_ == '\0'))\n           || ((undefined4 *)0x4 < DAT_00088ffc)))))) goto LAB_00042628;\n      goto LAB_000424cc;\n    }\n  }\nLAB_000424b7:\n  uVar9 = DAT_0008900c;\n  if (1 < DAT_0008900c) {\nLAB_00042628:\n                    \n    FUN_0002be80("../../gas/config/tc-i386.c",0xe94,"process_immext",param_1);\n  }\nLAB_000424cc:\n  DAT_0008900c = uVar9 + 1;\n  iVar1 = (int)DAT_00088ffc + 0xe;\n  (&DAT_00088fa0)[iVar1 * 2] = 0;\n  (&DAT_00089038)[(int)DAT_00088ffc] = &DAT_00088f20 + uVar9 * 5;\n  DAT_00088ffc = (undefined4 *)((int)DAT_00088ffc + 1);\n  (&DAT_00088f30)[uVar9 * 0x14] = 2;\n  *(undefined4 *)(&DAT_00088fa4 + iVar1 * 8) = 0;\n  pbVar2 = (byte *)((int)&DAT_00088fa0 + iVar1 * 8 + 1);\n  *pbVar2 = *pbVar2 | 4;\n  (&DAT_00088f28)[uVar9 * 5] = DAT_00088fac;\n  (&DAT_00088f2c)[uVar9 * 5] = 0;\n  DAT_00088fac = 0xffff;\n  return;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "byte *pbVar2;" type_identifier (pointer_declarator "*pbVar2" * identifier) ;) (declaration "undefined4 *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "undefined *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "undefined4 uVar5;" type_identifier identifier ;) (declaration "undefined4 uVar6;" type_identifier identifier ;) (declaration "undefined4 *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "undefined4 uVar8;" type_identifier identifier ;) (declaration "uint uVar9;" type_identifier identifier ;) (declaration "undefined4 uVar10;" type_identifier identifier ;) (expression_statement "uVar5 = DAT_00088fa0;" (assignment_expression "uVar5 = DAT_00088fa0" identifier = identifier) ;) (expression_statement "puVar4 = PTR_DAT_00080714;" (assignment_expression "puVar4 = PTR_DAT_00080714" identifier = identifier) ;) (if_statement "if ((DAT_00088fb6 & 0x28) == 0) {\n    if ((DAT_00088fbe & 0x40) == 0) goto LAB_000425f0;\n    if (DAT_00088ffc == (undefined4 *)0x0) goto LAB_000424b7;\n    if (DAT_00088ffc != (undefined4 *)0x3) {\n                    \n      FUN_0002be80("../../gas/config/tc-i386.c",0xe74,"process_immext",param_2);\n    }\n    if (((*(byte *)(DAT_00089038 + 3) & 1) == 0) &&\n       ((*(byte *)(DAT_00089038 + 3) & 4) == 0 && *(char *)((int)DAT_00089038 + 0xd) == '\0')) {\n      if ((((*(byte *)(DAT_0008903c + 3) & 1) != 0) ||\n          (*(char *)((int)DAT_0008903c + 0xd) != '\x01')) ||\n         ((*(byte *)(DAT_0008903c + 3) & 4) != 0)) {\n        uVar10 = 2;\n        puVar7 = DAT_0008903c;\n        goto LAB_0004264d;\n      }\n      uVar10 = 3;\n      puVar7 = DAT_00089040;\n      if (((*(byte *)(DAT_00089040 + 3) & 5) != 0) ||\n         (param_1 = DAT_00089040,\n         (char)((DAT_00088fac == 0xfb) + '\x02') != *(char *)((int)DAT_00089040 + 0xd)))\n      goto LAB_0004264d;\n    }\n    else {\n      uVar10 = 1;\n      puVar7 = DAT_00089038;\nLAB_0004264d:\n      uVar6 = *puVar7;\n      uVar8 = dcgettext(0,"can\'t use register \'%s%s\' as operand %d in \'%s\'.",5);\n      param_1 = (undefined4 *)FUN_0002bd60(uVar8,puVar4,uVar6,uVar10,uVar5);\n    }\n    DAT_00088ffc = (undefined4 *)0x0;\n  }\n  else {\n    if (DAT_00088ffc != (undefined4 *)0x0) {\n      puVar7 = (undefined4 *)0x0;\n      do {\n        while( true ) {\n          uVar5 = DAT_00088fa0;\n          puVar4 = PTR_DAT_00080714;\n          puVar3 = (&DAT_00089038)[(int)puVar7];\n          param_1 = (undefined4 *)((int)puVar7 + 1);\n          if ((((*(byte *)(puVar3 + 3) & 1) == 0) &&\n              ((undefined4 *)(uint)*(byte *)((int)puVar3 + 0xd) == puVar7)) &&\n             ((*(byte *)(puVar3 + 3) & 4) == 0)) break;\n          uVar10 = *puVar3;\n          uVar6 = dcgettext(0,"can\'t use register \'%s%s\' as operand %d in \'%s\'.",5);\n          FUN_0002bd60(uVar6,puVar4,uVar10,param_1,uVar5);\n          puVar7 = param_1;\n          if (DAT_00088ffc <= param_1) goto LAB_000424a2;\n        }\n        puVar7 = param_1;\n      } while (param_1 < DAT_00088ffc);\nLAB_000424a2:\n      DAT_00088ffc = (undefined4 *)0x0;\n    }\n    if ((DAT_00088fbe & 0x40) == 0) {\nLAB_000425f0:\n      if ((1 < DAT_0008900c) ||\n         ((uVar9 = DAT_0008900c, (undefined4 *)0x2 < DAT_00088ffc &&\n          (((param_1 = DAT_00088ffc, (DAT_00088fc8 & 0x38600) == 0 && (DAT_00088fc8._3_1_ == '\0'))\n           || ((undefined4 *)0x4 < DAT_00088ffc)))))) goto LAB_00042628;\n      goto LAB_000424cc;\n    }\n  }" if (parenthesized_expression "((DAT_00088fb6 & 0x28) == 0)" ( (binary_expression "(DAT_00088fb6 & 0x28) == 0" (parenthesized_expression "(DAT_00088fb6 & 0x28)" ( (binary_expression "DAT_00088fb6 & 0x28" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n    if ((DAT_00088fbe & 0x40) == 0) goto LAB_000425f0;\n    if (DAT_00088ffc == (undefined4 *)0x0) goto LAB_000424b7;\n    if (DAT_00088ffc != (undefined4 *)0x3) {\n                    \n      FUN_0002be80("../../gas/config/tc-i386.c",0xe74,"process_immext",param_2);\n    }\n    if (((*(byte *)(DAT_00089038 + 3) & 1) == 0) &&\n       ((*(byte *)(DAT_00089038 + 3) & 4) == 0 && *(char *)((int)DAT_00089038 + 0xd) == '\0')) {\n      if ((((*(byte *)(DAT_0008903c + 3) & 1) != 0) ||\n          (*(char *)((int)DAT_0008903c + 0xd) != '\x01')) ||\n         ((*(byte *)(DAT_0008903c + 3) & 4) != 0)) {\n        uVar10 = 2;\n        puVar7 = DAT_0008903c;\n        goto LAB_0004264d;\n      }\n      uVar10 = 3;\n      puVar7 = DAT_00089040;\n      if (((*(byte *)(DAT_00089040 + 3) & 5) != 0) ||\n         (param_1 = DAT_00089040,\n         (char)((DAT_00088fac == 0xfb) + '\x02') != *(char *)((int)DAT_00089040 + 0xd)))\n      goto LAB_0004264d;\n    }\n    else {\n      uVar10 = 1;\n      puVar7 = DAT_00089038;\nLAB_0004264d:\n      uVar6 = *puVar7;\n      uVar8 = dcgettext(0,"can\'t use register \'%s%s\' as operand %d in \'%s\'.",5);\n      param_1 = (undefined4 *)FUN_0002bd60(uVar8,puVar4,uVar6,uVar10,uVar5);\n    }\n    DAT_00088ffc = (undefined4 *)0x0;\n  }" { (if_statement "if ((DAT_00088fbe & 0x40) == 0) goto LAB_000425f0;" if (parenthesized_expression "((DAT_00088fbe & 0x40) == 0)" ( (binary_expression "(DAT_00088fbe & 0x40) == 0" (parenthesized_expression "(DAT_00088fbe & 0x40)" ( (binary_expression "DAT_00088fbe & 0x40" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_000425f0;" goto statement_identifier ;)) (if_statement "if (DAT_00088ffc == (undefined4 *)0x0) goto LAB_000424b7;" if (parenthesized_expression "(DAT_00088ffc == (undefined4 *)0x0)" ( (binary_expression "DAT_00088ffc == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000424b7;" goto statement_identifier ;)) (if_statement "if (DAT_00088ffc != (undefined4 *)0x3) {\n                    \n      FUN_0002be80("../../gas/config/tc-i386.c",0xe74,"process_immext",param_2);\n    }" if (parenthesized_expression "(DAT_00088ffc != (undefined4 *)0x3)" ( (binary_expression "DAT_00088ffc != (undefined4 *)0x3" identifier != (cast_expression "(undefined4 *)0x3" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    \n      FUN_0002be80("../../gas/config/tc-i386.c",0xe74,"process_immext",param_2);\n    }" { (expression_statement "FUN_0002be80("../../gas/config/tc-i386.c",0xe74,"process_immext",param_2);" (call_expression "FUN_0002be80("../../gas/config/tc-i386.c",0xe74,"process_immext",param_2)" identifier (argument_list "("../../gas/config/tc-i386.c",0xe74,"process_immext",param_2)" ( (string_literal ""../../gas/config/tc-i386.c"" " string_content ") , number_literal , (string_literal ""process_immext"" " string_content ") , identifier ))) ;) })) (if_statement "if (((*(byte *)(DAT_00089038 + 3) & 1) == 0) &&\n       ((*(byte *)(DAT_00089038 + 3) & 4) == 0 && *(char *)((int)DAT_00089038 + 0xd) == '\0')) {\n      if ((((*(byte *)(DAT_0008903c + 3) & 1) != 0) ||\n          (*(char *)((int)DAT_0008903c + 0xd) != '\x01')) ||\n         ((*(byte *)(DAT_0008903c + 3) & 4) != 0)) {\n        uVar10 = 2;\n        puVar7 = DAT_0008903c;\n        goto LAB_0004264d;\n      }\n      uVar10 = 3;\n      puVar7 = DAT_00089040;\n      if (((*(byte *)(DAT_00089040 + 3) & 5) != 0) ||\n         (param_1 = DAT_00089040,\n         (char)((DAT_00088fac == 0xfb) + '\x02') != *(char *)((int)DAT_00089040 + 0xd)))\n      goto LAB_0004264d;\n    }\n    else {\n      uVar10 = 1;\n      puVar7 = DAT_00089038;\nLAB_0004264d:\n      uVar6 = *puVar7;\n      uVar8 = dcgettext(0,"can\'t use register \'%s%s\' as operand %d in \'%s\'.",5);\n      param_1 = (undefined4 *)FUN_0002bd60(uVar8,puVar4,uVar6,uVar10,uVar5);\n    }" if (parenthesized_expression "(((*(byte *)(DAT_00089038 + 3) & 1) == 0) &&\n       ((*(byte *)(DAT_00089038 + 3) & 4) == 0 && *(char *)((int)DAT_00089038 + 0xd) == '\0'))" ( (binary_expression "((*(byte *)(DAT_00089038 + 3) & 1) == 0) &&\n       ((*(byte *)(DAT_00089038 + 3) & 4) == 0 && *(char *)((int)DAT_00089038 + 0xd) == '\0')" (parenthesized_expression "((*(byte *)(DAT_00089038 + 3) & 1) == 0)" ( (binary_expression "(*(byte *)(DAT_00089038 + 3) & 1) == 0" (parenthesized_expression "(*(byte *)(DAT_00089038 + 3) & 1)" ( (binary_expression "*(byte *)(DAT_00089038 + 3) & 1" (pointer_expression "*(byte *)(DAT_00089038 + 3)" * (cast_expression "(byte *)(DAT_00089038 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00089038 + 3)" ( (binary_expression "DAT_00089038 + 3" identifier + number_literal) )))) & number_literal) )) == number_literal) )) && (parenthesized_expression "((*(byte *)(DAT_00089038 + 3) & 4) == 0 && *(char *)((int)DAT_00089038 + 0xd) == '\0')" ( (binary_expression "(*(byte *)(DAT_00089038 + 3) & 4) == 0 && *(char *)((int)DAT_00089038 + 0xd) == '\0'" (binary_expression "(*(byte *)(DAT_00089038 + 3) & 4) == 0" (parenthesized_expression "(*(byte *)(DAT_00089038 + 3) & 4)" ( (binary_expression "*(byte *)(DAT_00089038 + 3) & 4" (pointer_expression "*(byte *)(DAT_00089038 + 3)" * (cast_expression "(byte *)(DAT_00089038 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00089038 + 3)" ( (binary_expression "DAT_00089038 + 3" identifier + number_literal) )))) & number_literal) )) == number_literal) && (binary_expression "*(char *)((int)DAT_00089038 + 0xd) == '\0'" (pointer_expression "*(char *)((int)DAT_00089038 + 0xd)" * (cast_expression "(char *)((int)DAT_00089038 + 0xd)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)DAT_00089038 + 0xd)" ( (binary_expression "(int)DAT_00089038 + 0xd" (cast_expression "(int)DAT_00089038" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence '))) ))) )) (compound_statement "{\n      if ((((*(byte *)(DAT_0008903c + 3) & 1) != 0) ||\n          (*(char *)((int)DAT_0008903c + 0xd) != '\x01')) ||\n         ((*(byte *)(DAT_0008903c + 3) & 4) != 0)) {\n        uVar10 = 2;\n        puVar7 = DAT_0008903c;\n        goto LAB_0004264d;\n      }\n      uVar10 = 3;\n      puVar7 = DAT_00089040;\n      if (((*(byte *)(DAT_00089040 + 3) & 5) != 0) ||\n         (param_1 = DAT_00089040,\n         (char)((DAT_00088fac == 0xfb) + '\x02') != *(char *)((int)DAT_00089040 + 0xd)))\n      goto LAB_0004264d;\n    }" { (if_statement "if ((((*(byte *)(DAT_0008903c + 3) & 1) != 0) ||\n          (*(char *)((int)DAT_0008903c + 0xd) != '\x01')) ||\n         ((*(byte *)(DAT_0008903c + 3) & 4) != 0)) {\n        uVar10 = 2;\n        puVar7 = DAT_0008903c;\n        goto LAB_0004264d;\n      }" if (parenthesized_expression "((((*(byte *)(DAT_0008903c + 3) & 1) != 0) ||\n          (*(char *)((int)DAT_0008903c + 0xd) != '\x01')) ||\n         ((*(byte *)(DAT_0008903c + 3) & 4) != 0))" ( (binary_expression "(((*(byte *)(DAT_0008903c + 3) & 1) != 0) ||\n          (*(char *)((int)DAT_0008903c + 0xd) != '\x01')) ||\n         ((*(byte *)(DAT_0008903c + 3) & 4) != 0)" (parenthesized_expression "(((*(byte *)(DAT_0008903c + 3) & 1) != 0) ||\n          (*(char *)((int)DAT_0008903c + 0xd) != '\x01'))" ( (binary_expression "((*(byte *)(DAT_0008903c + 3) & 1) != 0) ||\n          (*(char *)((int)DAT_0008903c + 0xd) != '\x01')" (parenthesized_expression "((*(byte *)(DAT_0008903c + 3) & 1) != 0)" ( (binary_expression "(*(byte *)(DAT_0008903c + 3) & 1) != 0" (parenthesized_expression "(*(byte *)(DAT_0008903c + 3) & 1)" ( (binary_expression "*(byte *)(DAT_0008903c + 3) & 1" (pointer_expression "*(byte *)(DAT_0008903c + 3)" * (cast_expression "(byte *)(DAT_0008903c + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_0008903c + 3)" ( (binary_expression "DAT_0008903c + 3" identifier + number_literal) )))) & number_literal) )) != number_literal) )) || (parenthesized_expression "(*(char *)((int)DAT_0008903c + 0xd) != '\x01')" ( (binary_expression "*(char *)((int)DAT_0008903c + 0xd) != '\x01'" (pointer_expression "*(char *)((int)DAT_0008903c + 0xd)" * (cast_expression "(char *)((int)DAT_0008903c + 0xd)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)DAT_0008903c + 0xd)" ( (binary_expression "(int)DAT_0008903c + 0xd" (cast_expression "(int)DAT_0008903c" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != (char_literal "'\x01'" ' escape_sequence ')) ))) )) || (parenthesized_expression "((*(byte *)(DAT_0008903c + 3) & 4) != 0)" ( (binary_expression "(*(byte *)(DAT_0008903c + 3) & 4) != 0" (parenthesized_expression "(*(byte *)(DAT_0008903c + 3) & 4)" ( (binary_expression "*(byte *)(DAT_0008903c + 3) & 4" (pointer_expression "*(byte *)(DAT_0008903c + 3)" * (cast_expression "(byte *)(DAT_0008903c + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_0008903c + 3)" ( (binary_expression "DAT_0008903c + 3" identifier + number_literal) )))) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n        uVar10 = 2;\n        puVar7 = DAT_0008903c;\n        goto LAB_0004264d;\n      }" { (expression_statement "uVar10 = 2;" (assignment_expression "uVar10 = 2" identifier = number_literal) ;) (expression_statement "puVar7 = DAT_0008903c;" (assignment_expression "puVar7 = DAT_0008903c" identifier = identifier) ;) (goto_statement "goto LAB_0004264d;" goto statement_identifier ;) })) (expression_statement "uVar10 = 3;" (assignment_expression "uVar10 = 3" identifier = number_literal) ;) (expression_statement "puVar7 = DAT_00089040;" (assignment_expression "puVar7 = DAT_00089040" identifier = identifier) ;) (if_statement "if (((*(byte *)(DAT_00089040 + 3) & 5) != 0) ||\n         (param_1 = DAT_00089040,\n         (char)((DAT_00088fac == 0xfb) + '\x02') != *(char *)((int)DAT_00089040 + 0xd)))\n      goto LAB_0004264d;" if (parenthesized_expression "(((*(byte *)(DAT_00089040 + 3) & 5) != 0) ||\n         (param_1 = DAT_00089040,\n         (char)((DAT_00088fac == 0xfb) + '\x02') != *(char *)((int)DAT_00089040 + 0xd)))" ( (binary_expression "((*(byte *)(DAT_00089040 + 3) & 5) != 0) ||\n         (param_1 = DAT_00089040,\n         (char)((DAT_00088fac == 0xfb) + '\x02') != *(char *)((int)DAT_00089040 + 0xd))" (parenthesized_expression "((*(byte *)(DAT_00089040 + 3) & 5) != 0)" ( (binary_expression "(*(byte *)(DAT_00089040 + 3) & 5) != 0" (parenthesized_expression "(*(byte *)(DAT_00089040 + 3) & 5)" ( (binary_expression "*(byte *)(DAT_00089040 + 3) & 5" (pointer_expression "*(byte *)(DAT_00089040 + 3)" * (cast_expression "(byte *)(DAT_00089040 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00089040 + 3)" ( (binary_expression "DAT_00089040 + 3" identifier + number_literal) )))) & number_literal) )) != number_literal) )) || (parenthesized_expression "(param_1 = DAT_00089040,\n         (char)((DAT_00088fac == 0xfb) + '\x02') != *(char *)((int)DAT_00089040 + 0xd))" ( (comma_expression "param_1 = DAT_00089040,\n         (char)((DAT_00088fac == 0xfb) + '\x02') != *(char *)((int)DAT_00089040 + 0xd)" (assignment_expression "param_1 = DAT_00089040" identifier = identifier) , (binary_expression "(char)((DAT_00088fac == 0xfb) + '\x02') != *(char *)((int)DAT_00089040 + 0xd)" (cast_expression "(char)((DAT_00088fac == 0xfb) + '\x02')" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "((DAT_00088fac == 0xfb) + '\x02')" ( (binary_expression "(DAT_00088fac == 0xfb) + '\x02'" (parenthesized_expression "(DAT_00088fac == 0xfb)" ( (binary_expression "DAT_00088fac == 0xfb" identifier == number_literal) )) + (char_literal "'\x02'" ' escape_sequence ')) ))) != (pointer_expression "*(char *)((int)DAT_00089040 + 0xd)" * (cast_expression "(char *)((int)DAT_00089040 + 0xd)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)DAT_00089040 + 0xd)" ( (binary_expression "(int)DAT_00089040 + 0xd" (cast_expression "(int)DAT_00089040" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))))) ))) )) (goto_statement "goto LAB_0004264d;" goto statement_identifier ;)) }) (else_clause "else {\n      uVar10 = 1;\n      puVar7 = DAT_00089038;\nLAB_0004264d:\n      uVar6 = *puVar7;\n      uVar8 = dcgettext(0,"can\'t use register \'%s%s\' as operand %d in \'%s\'.",5);\n      param_1 = (undefined4 *)FUN_0002bd60(uVar8,puVar4,uVar6,uVar10,uVar5);\n    }" else (compound_statement "{\n      uVar10 = 1;\n      puVar7 = DAT_00089038;\nLAB_0004264d:\n      uVar6 = *puVar7;\n      uVar8 = dcgettext(0,"can\'t use register \'%s%s\' as operand %d in \'%s\'.",5);\n      param_1 = (undefined4 *)FUN_0002bd60(uVar8,puVar4,uVar6,uVar10,uVar5);\n    }" { (expression_statement "uVar10 = 1;" (assignment_expression "uVar10 = 1" identifier = number_literal) ;) (expression_statement "puVar7 = DAT_00089038;" (assignment_expression "puVar7 = DAT_00089038" identifier = identifier) ;) (labeled_statement "LAB_0004264d:\n      uVar6 = *puVar7;" statement_identifier : (expression_statement "uVar6 = *puVar7;" (assignment_expression "uVar6 = *puVar7" identifier = (pointer_expression "*puVar7" * identifier)) ;)) (expression_statement "uVar8 = dcgettext(0,"can\'t use register \'%s%s\' as operand %d in \'%s\'.",5);" (assignment_expression "uVar8 = dcgettext(0,"can\'t use register \'%s%s\' as operand %d in \'%s\'.",5)" identifier = (call_expression "dcgettext(0,"can\'t use register \'%s%s\' as operand %d in \'%s\'.",5)" identifier (argument_list "(0,"can\'t use register \'%s%s\' as operand %d in \'%s\'.",5)" ( number_literal , (string_literal ""can\'t use register \'%s%s\' as operand %d in \'%s\'."" " string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content ") , number_literal )))) ;) (expression_statement "param_1 = (undefined4 *)FUN_0002bd60(uVar8,puVar4,uVar6,uVar10,uVar5);" (assignment_expression "param_1 = (undefined4 *)FUN_0002bd60(uVar8,puVar4,uVar6,uVar10,uVar5)" identifier = (cast_expression "(undefined4 *)FUN_0002bd60(uVar8,puVar4,uVar6,uVar10,uVar5)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0002bd60(uVar8,puVar4,uVar6,uVar10,uVar5)" identifier (argument_list "(uVar8,puVar4,uVar6,uVar10,uVar5)" ( identifier , identifier , identifier , identifier , identifier ))))) ;) }))) (expression_statement "DAT_00088ffc = (undefined4 *)0x0;" (assignment_expression "DAT_00088ffc = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n    if (DAT_00088ffc != (undefined4 *)0x0) {\n      puVar7 = (undefined4 *)0x0;\n      do {\n        while( true ) {\n          uVar5 = DAT_00088fa0;\n          puVar4 = PTR_DAT_00080714;\n          puVar3 = (&DAT_00089038)[(int)puVar7];\n          param_1 = (undefined4 *)((int)puVar7 + 1);\n          if ((((*(byte *)(puVar3 + 3) & 1) == 0) &&\n              ((undefined4 *)(uint)*(byte *)((int)puVar3 + 0xd) == puVar7)) &&\n             ((*(byte *)(puVar3 + 3) & 4) == 0)) break;\n          uVar10 = *puVar3;\n          uVar6 = dcgettext(0,"can\'t use register \'%s%s\' as operand %d in \'%s\'.",5);\n          FUN_0002bd60(uVar6,puVar4,uVar10,param_1,uVar5);\n          puVar7 = param_1;\n          if (DAT_00088ffc <= param_1) goto LAB_000424a2;\n        }\n        puVar7 = param_1;\n      } while (param_1 < DAT_00088ffc);\nLAB_000424a2:\n      DAT_00088ffc = (undefined4 *)0x0;\n    }\n    if ((DAT_00088fbe & 0x40) == 0) {\nLAB_000425f0:\n      if ((1 < DAT_0008900c) ||\n         ((uVar9 = DAT_0008900c, (undefined4 *)0x2 < DAT_00088ffc &&\n          (((param_1 = DAT_00088ffc, (DAT_00088fc8 & 0x38600) == 0 && (DAT_00088fc8._3_1_ == '\0'))\n           || ((undefined4 *)0x4 < DAT_00088ffc)))))) goto LAB_00042628;\n      goto LAB_000424cc;\n    }\n  }" else (compound_statement "{\n    if (DAT_00088ffc != (undefined4 *)0x0) {\n      puVar7 = (undefined4 *)0x0;\n      do {\n        while( true ) {\n          uVar5 = DAT_00088fa0;\n          puVar4 = PTR_DAT_00080714;\n          puVar3 = (&DAT_00089038)[(int)puVar7];\n          param_1 = (undefined4 *)((int)puVar7 + 1);\n          if ((((*(byte *)(puVar3 + 3) & 1) == 0) &&\n              ((undefined4 *)(uint)*(byte *)((int)puVar3 + 0xd) == puVar7)) &&\n             ((*(byte *)(puVar3 + 3) & 4) == 0)) break;\n          uVar10 = *puVar3;\n          uVar6 = dcgettext(0,"can\'t use register \'%s%s\' as operand %d in \'%s\'.",5);\n          FUN_0002bd60(uVar6,puVar4,uVar10,param_1,uVar5);\n          puVar7 = param_1;\n          if (DAT_00088ffc <= param_1) goto LAB_000424a2;\n        }\n        puVar7 = param_1;\n      } while (param_1 < DAT_00088ffc);\nLAB_000424a2:\n      DAT_00088ffc = (undefined4 *)0x0;\n    }\n    if ((DAT_00088fbe & 0x40) == 0) {\nLAB_000425f0:\n      if ((1 < DAT_0008900c) ||\n         ((uVar9 = DAT_0008900c, (undefined4 *)0x2 < DAT_00088ffc &&\n          (((param_1 = DAT_00088ffc, (DAT_00088fc8 & 0x38600) == 0 && (DAT_00088fc8._3_1_ == '\0'))\n           || ((undefined4 *)0x4 < DAT_00088ffc)))))) goto LAB_00042628;\n      goto LAB_000424cc;\n    }\n  }" { (if_statement "if (DAT_00088ffc != (undefined4 *)0x0) {\n      puVar7 = (undefined4 *)0x0;\n      do {\n        while( true ) {\n          uVar5 = DAT_00088fa0;\n          puVar4 = PTR_DAT_00080714;\n          puVar3 = (&DAT_00089038)[(int)puVar7];\n          param_1 = (undefined4 *)((int)puVar7 + 1);\n          if ((((*(byte *)(puVar3 + 3) & 1) == 0) &&\n              ((undefined4 *)(uint)*(byte *)((int)puVar3 + 0xd) == puVar7)) &&\n             ((*(byte *)(puVar3 + 3) & 4) == 0)) break;\n          uVar10 = *puVar3;\n          uVar6 = dcgettext(0,"can\'t use register \'%s%s\' as operand %d in \'%s\'.",5);\n          FUN_0002bd60(uVar6,puVar4,uVar10,param_1,uVar5);\n          puVar7 = param_1;\n          if (DAT_00088ffc <= param_1) goto LAB_000424a2;\n        }\n        puVar7 = param_1;\n      } while (param_1 < DAT_00088ffc);\nLAB_000424a2:\n      DAT_00088ffc = (undefined4 *)0x0;\n    }" if (parenthesized_expression "(DAT_00088ffc != (undefined4 *)0x0)" ( (binary_expression "DAT_00088ffc != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      puVar7 = (undefined4 *)0x0;\n      do {\n        while( true ) {\n          uVar5 = DAT_00088fa0;\n          puVar4 = PTR_DAT_00080714;\n          puVar3 = (&DAT_00089038)[(int)puVar7];\n          param_1 = (undefined4 *)((int)puVar7 + 1);\n          if ((((*(byte *)(puVar3 + 3) & 1) == 0) &&\n              ((undefined4 *)(uint)*(byte *)((int)puVar3 + 0xd) == puVar7)) &&\n             ((*(byte *)(puVar3 + 3) & 4) == 0)) break;\n          uVar10 = *puVar3;\n          uVar6 = dcgettext(0,"can\'t use register \'%s%s\' as operand %d in \'%s\'.",5);\n          FUN_0002bd60(uVar6,puVar4,uVar10,param_1,uVar5);\n          puVar7 = param_1;\n          if (DAT_00088ffc <= param_1) goto LAB_000424a2;\n        }\n        puVar7 = param_1;\n      } while (param_1 < DAT_00088ffc);\nLAB_000424a2:\n      DAT_00088ffc = (undefined4 *)0x0;\n    }" { (expression_statement "puVar7 = (undefined4 *)0x0;" (assignment_expression "puVar7 = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n        while( true ) {\n          uVar5 = DAT_00088fa0;\n          puVar4 = PTR_DAT_00080714;\n          puVar3 = (&DAT_00089038)[(int)puVar7];\n          param_1 = (undefined4 *)((int)puVar7 + 1);\n          if ((((*(byte *)(puVar3 + 3) & 1) == 0) &&\n              ((undefined4 *)(uint)*(byte *)((int)puVar3 + 0xd) == puVar7)) &&\n             ((*(byte *)(puVar3 + 3) & 4) == 0)) break;\n          uVar10 = *puVar3;\n          uVar6 = dcgettext(0,"can\'t use register \'%s%s\' as operand %d in \'%s\'.",5);\n          FUN_0002bd60(uVar6,puVar4,uVar10,param_1,uVar5);\n          puVar7 = param_1;\n          if (DAT_00088ffc <= param_1) goto LAB_000424a2;\n        }\n        puVar7 = param_1;\n      } while (param_1 < DAT_00088ffc);" do (compound_statement "{\n        while( true ) {\n          uVar5 = DAT_00088fa0;\n          puVar4 = PTR_DAT_00080714;\n          puVar3 = (&DAT_00089038)[(int)puVar7];\n          param_1 = (undefined4 *)((int)puVar7 + 1);\n          if ((((*(byte *)(puVar3 + 3) & 1) == 0) &&\n              ((undefined4 *)(uint)*(byte *)((int)puVar3 + 0xd) == puVar7)) &&\n             ((*(byte *)(puVar3 + 3) & 4) == 0)) break;\n          uVar10 = *puVar3;\n          uVar6 = dcgettext(0,"can\'t use register \'%s%s\' as operand %d in \'%s\'.",5);\n          FUN_0002bd60(uVar6,puVar4,uVar10,param_1,uVar5);\n          puVar7 = param_1;\n          if (DAT_00088ffc <= param_1) goto LAB_000424a2;\n        }\n        puVar7 = param_1;\n      }" { (while_statement "while( true ) {\n          uVar5 = DAT_00088fa0;\n          puVar4 = PTR_DAT_00080714;\n          puVar3 = (&DAT_00089038)[(int)puVar7];\n          param_1 = (undefined4 *)((int)puVar7 + 1);\n          if ((((*(byte *)(puVar3 + 3) & 1) == 0) &&\n              ((undefined4 *)(uint)*(byte *)((int)puVar3 + 0xd) == puVar7)) &&\n             ((*(byte *)(puVar3 + 3) & 4) == 0)) break;\n          uVar10 = *puVar3;\n          uVar6 = dcgettext(0,"can\'t use register \'%s%s\' as operand %d in \'%s\'.",5);\n          FUN_0002bd60(uVar6,puVar4,uVar10,param_1,uVar5);\n          puVar7 = param_1;\n          if (DAT_00088ffc <= param_1) goto LAB_000424a2;\n        }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n          uVar5 = DAT_00088fa0;\n          puVar4 = PTR_DAT_00080714;\n          puVar3 = (&DAT_00089038)[(int)puVar7];\n          param_1 = (undefined4 *)((int)puVar7 + 1);\n          if ((((*(byte *)(puVar3 + 3) & 1) == 0) &&\n              ((undefined4 *)(uint)*(byte *)((int)puVar3 + 0xd) == puVar7)) &&\n             ((*(byte *)(puVar3 + 3) & 4) == 0)) break;\n          uVar10 = *puVar3;\n          uVar6 = dcgettext(0,"can\'t use register \'%s%s\' as operand %d in \'%s\'.",5);\n          FUN_0002bd60(uVar6,puVar4,uVar10,param_1,uVar5);\n          puVar7 = param_1;\n          if (DAT_00088ffc <= param_1) goto LAB_000424a2;\n        }" { (expression_statement "uVar5 = DAT_00088fa0;" (assignment_expression "uVar5 = DAT_00088fa0" identifier = identifier) ;) (expression_statement "puVar4 = PTR_DAT_00080714;" (assignment_expression "puVar4 = PTR_DAT_00080714" identifier = identifier) ;) (expression_statement "puVar3 = (&DAT_00089038)[(int)puVar7];" (assignment_expression "puVar3 = (&DAT_00089038)[(int)puVar7]" identifier = (subscript_expression "(&DAT_00089038)[(int)puVar7]" (parenthesized_expression "(&DAT_00089038)" ( (pointer_expression "&DAT_00089038" & identifier) )) [ (cast_expression "(int)puVar7" ( (type_descriptor "int" primitive_type) ) identifier) ])) ;) (expression_statement "param_1 = (undefined4 *)((int)puVar7 + 1);" (assignment_expression "param_1 = (undefined4 *)((int)puVar7 + 1)" identifier = (cast_expression "(undefined4 *)((int)puVar7 + 1)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar7 + 1)" ( (binary_expression "(int)puVar7 + 1" (cast_expression "(int)puVar7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if ((((*(byte *)(puVar3 + 3) & 1) == 0) &&\n              ((undefined4 *)(uint)*(byte *)((int)puVar3 + 0xd) == puVar7)) &&\n             ((*(byte *)(puVar3 + 3) & 4) == 0)) break;" if (parenthesized_expression "((((*(byte *)(puVar3 + 3) & 1) == 0) &&\n              ((undefined4 *)(uint)*(byte *)((int)puVar3 + 0xd) == puVar7)) &&\n             ((*(byte *)(puVar3 + 3) & 4) == 0))" ( (binary_expression "(((*(byte *)(puVar3 + 3) & 1) == 0) &&\n              ((undefined4 *)(uint)*(byte *)((int)puVar3 + 0xd) == puVar7)) &&\n             ((*(byte *)(puVar3 + 3) & 4) == 0)" (parenthesized_expression "(((*(byte *)(puVar3 + 3) & 1) == 0) &&\n              ((undefined4 *)(uint)*(byte *)((int)puVar3 + 0xd) == puVar7))" ( (binary_expression "((*(byte *)(puVar3 + 3) & 1) == 0) &&\n              ((undefined4 *)(uint)*(byte *)((int)puVar3 + 0xd) == puVar7)" (parenthesized_expression "((*(byte *)(puVar3 + 3) & 1) == 0)" ( (binary_expression "(*(byte *)(puVar3 + 3) & 1) == 0" (parenthesized_expression "(*(byte *)(puVar3 + 3) & 1)" ( (binary_expression "*(byte *)(puVar3 + 3) & 1" (pointer_expression "*(byte *)(puVar3 + 3)" * (cast_expression "(byte *)(puVar3 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + 3)" ( (binary_expression "puVar3 + 3" identifier + number_literal) )))) & number_literal) )) == number_literal) )) && (parenthesized_expression "((undefined4 *)(uint)*(byte *)((int)puVar3 + 0xd) == puVar7)" ( (binary_expression "(undefined4 *)(uint)*(byte *)((int)puVar3 + 0xd) == puVar7" (binary_expression "(undefined4 *)(uint)*(byte *)((int)puVar3 + 0xd)" (cast_expression "(undefined4 *)(uint)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uint)" ( identifier ))) * (cast_expression "(byte *)((int)puVar3 + 0xd)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar3 + 0xd)" ( (binary_expression "(int)puVar3 + 0xd" (cast_expression "(int)puVar3" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == identifier) ))) )) && (parenthesized_expression "((*(byte *)(puVar3 + 3) & 4) == 0)" ( (binary_expression "(*(byte *)(puVar3 + 3) & 4) == 0" (parenthesized_expression "(*(byte *)(puVar3 + 3) & 4)" ( (binary_expression "*(byte *)(puVar3 + 3) & 4" (pointer_expression "*(byte *)(puVar3 + 3)" * (cast_expression "(byte *)(puVar3 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + 3)" ( (binary_expression "puVar3 + 3" identifier + number_literal) )))) & number_literal) )) == number_literal) ))) )) (break_statement "break;" break ;)) (expression_statement "uVar10 = *puVar3;" (assignment_expression "uVar10 = *puVar3" identifier = (pointer_expression "*puVar3" * identifier)) ;) (expression_statement "uVar6 = dcgettext(0,"can\'t use register \'%s%s\' as operand %d in \'%s\'.",5);" (assignment_expression "uVar6 = dcgettext(0,"can\'t use register \'%s%s\' as operand %d in \'%s\'.",5)" identifier = (call_expression "dcgettext(0,"can\'t use register \'%s%s\' as operand %d in \'%s\'.",5)" identifier (argument_list "(0,"can\'t use register \'%s%s\' as operand %d in \'%s\'.",5)" ( number_literal , (string_literal ""can\'t use register \'%s%s\' as operand %d in \'%s\'."" " string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content ") , number_literal )))) ;) (expression_statement "FUN_0002bd60(uVar6,puVar4,uVar10,param_1,uVar5);" (call_expression "FUN_0002bd60(uVar6,puVar4,uVar10,param_1,uVar5)" identifier (argument_list "(uVar6,puVar4,uVar10,param_1,uVar5)" ( identifier , identifier , identifier , identifier , identifier ))) ;) (expression_statement "puVar7 = param_1;" (assignment_expression "puVar7 = param_1" identifier = identifier) ;) (if_statement "if (DAT_00088ffc <= param_1) goto LAB_000424a2;" if (parenthesized_expression "(DAT_00088ffc <= param_1)" ( (binary_expression "DAT_00088ffc <= param_1" identifier <= identifier) )) (goto_statement "goto LAB_000424a2;" goto statement_identifier ;)) })) (expression_statement "puVar7 = param_1;" (assignment_expression "puVar7 = param_1" identifier = identifier) ;) }) while (parenthesized_expression "(param_1 < DAT_00088ffc)" ( (binary_expression "param_1 < DAT_00088ffc" identifier < identifier) )) ;) (labeled_statement "LAB_000424a2:\n      DAT_00088ffc = (undefined4 *)0x0;" statement_identifier : (expression_statement "DAT_00088ffc = (undefined4 *)0x0;" (assignment_expression "DAT_00088ffc = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) })) (if_statement "if ((DAT_00088fbe & 0x40) == 0) {\nLAB_000425f0:\n      if ((1 < DAT_0008900c) ||\n         ((uVar9 = DAT_0008900c, (undefined4 *)0x2 < DAT_00088ffc &&\n          (((param_1 = DAT_00088ffc, (DAT_00088fc8 & 0x38600) == 0 && (DAT_00088fc8._3_1_ == '\0'))\n           || ((undefined4 *)0x4 < DAT_00088ffc)))))) goto LAB_00042628;\n      goto LAB_000424cc;\n    }" if (parenthesized_expression "((DAT_00088fbe & 0x40) == 0)" ( (binary_expression "(DAT_00088fbe & 0x40) == 0" (parenthesized_expression "(DAT_00088fbe & 0x40)" ( (binary_expression "DAT_00088fbe & 0x40" identifier & number_literal) )) == number_literal) )) (compound_statement "{\nLAB_000425f0:\n      if ((1 < DAT_0008900c) ||\n         ((uVar9 = DAT_0008900c, (undefined4 *)0x2 < DAT_00088ffc &&\n          (((param_1 = DAT_00088ffc, (DAT_00088fc8 & 0x38600) == 0 && (DAT_00088fc8._3_1_ == '\0'))\n           || ((undefined4 *)0x4 < DAT_00088ffc)))))) goto LAB_00042628;\n      goto LAB_000424cc;\n    }" { (labeled_statement "LAB_000425f0:\n      if ((1 < DAT_0008900c) ||\n         ((uVar9 = DAT_0008900c, (undefined4 *)0x2 < DAT_00088ffc &&\n          (((param_1 = DAT_00088ffc, (DAT_00088fc8 & 0x38600) == 0 && (DAT_00088fc8._3_1_ == '\0'))\n           || ((undefined4 *)0x4 < DAT_00088ffc)))))) goto LAB_00042628;" statement_identifier : (if_statement "if ((1 < DAT_0008900c) ||\n         ((uVar9 = DAT_0008900c, (undefined4 *)0x2 < DAT_00088ffc &&\n          (((param_1 = DAT_00088ffc, (DAT_00088fc8 & 0x38600) == 0 && (DAT_00088fc8._3_1_ == '\0'))\n           || ((undefined4 *)0x4 < DAT_00088ffc)))))) goto LAB_00042628;" if (parenthesized_expression "((1 < DAT_0008900c) ||\n         ((uVar9 = DAT_0008900c, (undefined4 *)0x2 < DAT_00088ffc &&\n          (((param_1 = DAT_00088ffc, (DAT_00088fc8 & 0x38600) == 0 && (DAT_00088fc8._3_1_ == '\0'))\n           || ((undefined4 *)0x4 < DAT_00088ffc))))))" ( (binary_expression "(1 < DAT_0008900c) ||\n         ((uVar9 = DAT_0008900c, (undefined4 *)0x2 < DAT_00088ffc &&\n          (((param_1 = DAT_00088ffc, (DAT_00088fc8 & 0x38600) == 0 && (DAT_00088fc8._3_1_ == '\0'))\n           || ((undefined4 *)0x4 < DAT_00088ffc)))))" (parenthesized_expression "(1 < DAT_0008900c)" ( (binary_expression "1 < DAT_0008900c" number_literal < identifier) )) || (parenthesized_expression "((uVar9 = DAT_0008900c, (undefined4 *)0x2 < DAT_00088ffc &&\n          (((param_1 = DAT_00088ffc, (DAT_00088fc8 & 0x38600) == 0 && (DAT_00088fc8._3_1_ == '\0'))\n           || ((undefined4 *)0x4 < DAT_00088ffc)))))" ( (parenthesized_expression "(uVar9 = DAT_0008900c, (undefined4 *)0x2 < DAT_00088ffc &&\n          (((param_1 = DAT_00088ffc, (DAT_00088fc8 & 0x38600) == 0 && (DAT_00088fc8._3_1_ == '\0'))\n           || ((undefined4 *)0x4 < DAT_00088ffc))))" ( (comma_expression "uVar9 = DAT_0008900c, (undefined4 *)0x2 < DAT_00088ffc &&\n          (((param_1 = DAT_00088ffc, (DAT_00088fc8 & 0x38600) == 0 && (DAT_00088fc8._3_1_ == '\0'))\n           || ((undefined4 *)0x4 < DAT_00088ffc)))" (assignment_expression "uVar9 = DAT_0008900c" identifier = identifier) , (binary_expression "(undefined4 *)0x2 < DAT_00088ffc &&\n          (((param_1 = DAT_00088ffc, (DAT_00088fc8 & 0x38600) == 0 && (DAT_00088fc8._3_1_ == '\0'))\n           || ((undefined4 *)0x4 < DAT_00088ffc)))" (binary_expression "(undefined4 *)0x2 < DAT_00088ffc" (cast_expression "(undefined4 *)0x2" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) < identifier) && (parenthesized_expression "(((param_1 = DAT_00088ffc, (DAT_00088fc8 & 0x38600) == 0 && (DAT_00088fc8._3_1_ == '\0'))\n           || ((undefined4 *)0x4 < DAT_00088ffc)))" ( (parenthesized_expression "((param_1 = DAT_00088ffc, (DAT_00088fc8 & 0x38600) == 0 && (DAT_00088fc8._3_1_ == '\0'))\n           || ((undefined4 *)0x4 < DAT_00088ffc))" ( (binary_expression "(param_1 = DAT_00088ffc, (DAT_00088fc8 & 0x38600) == 0 && (DAT_00088fc8._3_1_ == '\0'))\n           || ((undefined4 *)0x4 < DAT_00088ffc)" (parenthesized_expression "(param_1 = DAT_00088ffc, (DAT_00088fc8 & 0x38600) == 0 && (DAT_00088fc8._3_1_ == '\0'))" ( (comma_expression "param_1 = DAT_00088ffc, (DAT_00088fc8 & 0x38600) == 0 && (DAT_00088fc8._3_1_ == '\0')" (assignment_expression "param_1 = DAT_00088ffc" identifier = identifier) , (binary_expression "(DAT_00088fc8 & 0x38600) == 0 && (DAT_00088fc8._3_1_ == '\0')" (binary_expression "(DAT_00088fc8 & 0x38600) == 0" (parenthesized_expression "(DAT_00088fc8 & 0x38600)" ( (binary_expression "DAT_00088fc8 & 0x38600" identifier & number_literal) )) == number_literal) && (parenthesized_expression "(DAT_00088fc8._3_1_ == '\0')" ( (binary_expression "DAT_00088fc8._3_1_ == '\0'" (field_expression "DAT_00088fc8._3_1_" identifier . field_identifier) == (char_literal "'\0'" ' escape_sequence ')) )))) )) || (parenthesized_expression "((undefined4 *)0x4 < DAT_00088ffc)" ( (binary_expression "(undefined4 *)0x4 < DAT_00088ffc" (cast_expression "(undefined4 *)0x4" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) < identifier) ))) )) )))) )) ))) )) (goto_statement "goto LAB_00042628;" goto statement_identifier ;))) (goto_statement "goto LAB_000424cc;" goto statement_identifier ;) })) }))) (labeled_statement "LAB_000424b7:\n  uVar9 = DAT_0008900c;" statement_identifier : (expression_statement "uVar9 = DAT_0008900c;" (assignment_expression "uVar9 = DAT_0008900c" identifier = identifier) ;)) (if_statement "if (1 < DAT_0008900c) {\nLAB_00042628:\n                    \n    FUN_0002be80("../../gas/config/tc-i386.c",0xe94,"process_immext",param_1);\n  }" if (parenthesized_expression "(1 < DAT_0008900c)" ( (binary_expression "1 < DAT_0008900c" number_literal < identifier) )) (compound_statement "{\nLAB_00042628:\n                    \n    FUN_0002be80("../../gas/config/tc-i386.c",0xe94,"process_immext",param_1);\n  }" { (labeled_statement "LAB_00042628:\n                    \n    FUN_0002be80("../../gas/config/tc-i386.c",0xe94,"process_immext",param_1);" statement_identifier : (expression_statement "FUN_0002be80("../../gas/config/tc-i386.c",0xe94,"process_immext",param_1);" (call_expression "FUN_0002be80("../../gas/config/tc-i386.c",0xe94,"process_immext",param_1)" identifier (argument_list "("../../gas/config/tc-i386.c",0xe94,"process_immext",param_1)" ( (string_literal ""../../gas/config/tc-i386.c"" " string_content ") , number_literal , (string_literal ""process_immext"" " string_content ") , identifier ))) ;)) })) (labeled_statement "LAB_000424cc:\n  DAT_0008900c = uVar9 + 1;" statement_identifier : (expression_statement "DAT_0008900c = uVar9 + 1;" (assignment_expression "DAT_0008900c = uVar9 + 1" identifier = (binary_expression "uVar9 + 1" identifier + number_literal)) ;)) (expression_statement "iVar1 = (int)DAT_00088ffc + 0xe;" (assignment_expression "iVar1 = (int)DAT_00088ffc + 0xe" identifier = (binary_expression "(int)DAT_00088ffc + 0xe" (cast_expression "(int)DAT_00088ffc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "(&DAT_00088fa0)[iVar1 * 2] = 0;" (assignment_expression "(&DAT_00088fa0)[iVar1 * 2] = 0" (subscript_expression "(&DAT_00088fa0)[iVar1 * 2]" (parenthesized_expression "(&DAT_00088fa0)" ( (pointer_expression "&DAT_00088fa0" & identifier) )) [ (binary_expression "iVar1 * 2" identifier * number_literal) ]) = number_literal) ;) (expression_statement "(&DAT_00089038)[(int)DAT_00088ffc] = &DAT_00088f20 + uVar9 * 5;" (assignment_expression "(&DAT_00089038)[(int)DAT_00088ffc] = &DAT_00088f20 + uVar9 * 5" (subscript_expression "(&DAT_00089038)[(int)DAT_00088ffc]" (parenthesized_expression "(&DAT_00089038)" ( (pointer_expression "&DAT_00089038" & identifier) )) [ (cast_expression "(int)DAT_00088ffc" ( (type_descriptor "int" primitive_type) ) identifier) ]) = (binary_expression "&DAT_00088f20 + uVar9 * 5" (pointer_expression "&DAT_00088f20" & identifier) + (binary_expression "uVar9 * 5" identifier * number_literal))) ;) (expression_statement "DAT_00088ffc = (undefined4 *)((int)DAT_00088ffc + 1);" (assignment_expression "DAT_00088ffc = (undefined4 *)((int)DAT_00088ffc + 1)" identifier = (cast_expression "(undefined4 *)((int)DAT_00088ffc + 1)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)DAT_00088ffc + 1)" ( (binary_expression "(int)DAT_00088ffc + 1" (cast_expression "(int)DAT_00088ffc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "(&DAT_00088f30)[uVar9 * 0x14] = 2;" (assignment_expression "(&DAT_00088f30)[uVar9 * 0x14] = 2" (subscript_expression "(&DAT_00088f30)[uVar9 * 0x14]" (parenthesized_expression "(&DAT_00088f30)" ( (pointer_expression "&DAT_00088f30" & identifier) )) [ (binary_expression "uVar9 * 0x14" identifier * number_literal) ]) = number_literal) ;) (expression_statement "*(undefined4 *)(&DAT_00088fa4 + iVar1 * 8) = 0;" (assignment_expression "*(undefined4 *)(&DAT_00088fa4 + iVar1 * 8) = 0" (pointer_expression "*(undefined4 *)(&DAT_00088fa4 + iVar1 * 8)" * (cast_expression "(undefined4 *)(&DAT_00088fa4 + iVar1 * 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00088fa4 + iVar1 * 8)" ( (binary_expression "&DAT_00088fa4 + iVar1 * 8" (pointer_expression "&DAT_00088fa4" & identifier) + (binary_expression "iVar1 * 8" identifier * number_literal)) )))) = number_literal) ;) (expression_statement "pbVar2 = (byte *)((int)&DAT_00088fa0 + iVar1 * 8 + 1);" (assignment_expression "pbVar2 = (byte *)((int)&DAT_00088fa0 + iVar1 * 8 + 1)" identifier = (cast_expression "(byte *)((int)&DAT_00088fa0 + iVar1 * 8 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&DAT_00088fa0 + iVar1 * 8 + 1)" ( (binary_expression "(int)&DAT_00088fa0 + iVar1 * 8 + 1" (binary_expression "(int)&DAT_00088fa0 + iVar1 * 8" (cast_expression "(int)&DAT_00088fa0" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&DAT_00088fa0" & identifier)) + (binary_expression "iVar1 * 8" identifier * number_literal)) + number_literal) )))) ;) (expression_statement "*pbVar2 = *pbVar2 | 4;" (assignment_expression "*pbVar2 = *pbVar2 | 4" (pointer_expression "*pbVar2" * identifier) = (binary_expression "*pbVar2 | 4" (pointer_expression "*pbVar2" * identifier) | number_literal)) ;) (expression_statement "(&DAT_00088f28)[uVar9 * 5] = DAT_00088fac;" (assignment_expression "(&DAT_00088f28)[uVar9 * 5] = DAT_00088fac" (subscript_expression "(&DAT_00088f28)[uVar9 * 5]" (parenthesized_expression "(&DAT_00088f28)" ( (pointer_expression "&DAT_00088f28" & identifier) )) [ (binary_expression "uVar9 * 5" identifier * number_literal) ]) = identifier) ;) (expression_statement "(&DAT_00088f2c)[uVar9 * 5] = 0;" (assignment_expression "(&DAT_00088f2c)[uVar9 * 5] = 0" (subscript_expression "(&DAT_00088f2c)[uVar9 * 5]" (parenthesized_expression "(&DAT_00088f2c)" ( (pointer_expression "&DAT_00088f2c" & identifier) )) [ (binary_expression "uVar9 * 5" identifier * number_literal) ]) = number_literal) ;) (expression_statement "DAT_00088fac = 0xffff;" (assignment_expression "DAT_00088fac = 0xffff" identifier = number_literal) ;) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (ERROR IDENT) (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") , IDENT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) )) && (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) && (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) == (char_literal ' escape_sequence '))) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) != LIT) )) || (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) != (char_literal ' escape_sequence ')) ))) )) || (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (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 IDENT + LIT) )))) & LIT) )) != LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) + (char_literal ' escape_sequence ')) ))) != (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))))) ))) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content ") , LIT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT , IDENT ))))) ;) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (do_statement do (compound_statement { (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ (cast_expression ( (type_descriptor TYPE) ) IDENT) ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) )) && (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( IDENT ))) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) == IDENT) ))) )) && (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) ))) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT < IDENT) )) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;)) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression LIT < IDENT) )) || (parenthesized_expression ( (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) < IDENT) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) && (parenthesized_expression ( (binary_expression (field_expression IDENT . field_identifier) == (char_literal ' escape_sequence ')) )))) )) || (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) < IDENT) ))) )) )))) )) ))) )) (goto_statement goto statement_identifier ;))) (goto_statement goto statement_identifier ;) })) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") , IDENT ))) ;)) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT)) ;) (expression_statement (assignment_expression (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ (binary_expression IDENT * LIT) ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ (cast_expression ( (type_descriptor TYPE) ) IDENT) ]) = (binary_expression (pointer_expression & IDENT) + (binary_expression IDENT * LIT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ (binary_expression IDENT * LIT) ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression IDENT * LIT)) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & IDENT)) + (binary_expression IDENT * LIT)) + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (pointer_expression * IDENT) | LIT)) ;) (expression_statement (assignment_expression (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ (binary_expression IDENT * LIT) ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ (binary_expression IDENT * LIT) ]) = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (return_statement return ;) })))
(function_definition "void __regparm3 FUN_000423f0(undefined4 *param_1,undefined4 param_2)\n\n{\n  int iVar1;\n  byte *pbVar2;\n  undefined4 *puVar3;\n  undefined *puVar4;\n  undefined4 uVar5;\n  undefined4 uVar6;\n  undefined4 *puVar7;\n  undefined4 uVar8;\n  uint uVar9;\n  undefined4 uVar10;\n  \n  uVar5 = DAT_00088fa0;\n  puVar4 = PTR_DAT_00080714;\n  if ((DAT_00088fb6 & 0x28) == 0) {\n    if ((DAT_00088fbe & 0x40) == 0) goto LAB_000425f0;\n    if (DAT_00088ffc == (undefined4 *)0x0) goto LAB_000424b7;\n    if (DAT_00088ffc != (undefined4 *)0x3) {\n                    \n      FUN_0002be80("../../gas/config/tc-i386.c",0xe74,"process_immext",param_2);\n    }\n    if (((*(byte *)(DAT_00089038 + 3) & 1) == 0) &&\n       ((*(byte *)(DAT_00089038 + 3) & 4) == 0 && *(char *)((int)DAT_00089038 + 0xd) == '\0')) {\n      if ((((*(byte *)(DAT_0008903c + 3) & 1) != 0) ||\n          (*(char *)((int)DAT_0008903c + 0xd) != '\x01')) ||\n         ((*(byte *)(DAT_0008903c + 3) & 4) != 0)) {\n        uVar10 = 2;\n        puVar7 = DAT_0008903c;\n        goto LAB_0004264d;\n      }\n      uVar10 = 3;\n      puVar7 = DAT_00089040;\n      if (((*(byte *)(DAT_00089040 + 3) & 5) != 0) ||\n         (param_1 = DAT_00089040,\n         (char)((DAT_00088fac == 0xfb) + '\x02') != *(char *)((int)DAT_00089040 + 0xd)))\n      goto LAB_0004264d;\n    }\n    else {\n      uVar10 = 1;\n      puVar7 = DAT_00089038;\nLAB_0004264d:\n      uVar6 = *puVar7;\n      uVar8 = dcgettext(0,"can\'t use register \'%s%s\' as operand %d in \'%s\'.",5);\n      param_1 = (undefined4 *)FUN_0002bd60(uVar8,puVar4,uVar6,uVar10,uVar5);\n    }\n    DAT_00088ffc = (undefined4 *)0x0;\n  }\n  else {\n    if (DAT_00088ffc != (undefined4 *)0x0) {\n      puVar7 = (undefined4 *)0x0;\n      do {\n        while( true ) {\n          uVar5 = DAT_00088fa0;\n          puVar4 = PTR_DAT_00080714;\n          puVar3 = (&DAT_00089038)[(int)puVar7];\n          param_1 = (undefined4 *)((int)puVar7 + 1);\n          if ((((*(byte *)(puVar3 + 3) & 1) == 0) &&\n              ((undefined4 *)(uint)*(byte *)((int)puVar3 + 0xd) == puVar7)) &&\n             ((*(byte *)(puVar3 + 3) & 4) == 0)) break;\n          uVar10 = *puVar3;\n          uVar6 = dcgettext(0,"can\'t use register \'%s%s\' as operand %d in \'%s\'.",5);\n          FUN_0002bd60(uVar6,puVar4,uVar10,param_1,uVar5);\n          puVar7 = param_1;\n          if (DAT_00088ffc <= param_1) goto LAB_000424a2;\n        }\n        puVar7 = param_1;\n      } while (param_1 < DAT_00088ffc);\nLAB_000424a2:\n      DAT_00088ffc = (undefined4 *)0x0;\n    }\n    if ((DAT_00088fbe & 0x40) == 0) {\nLAB_000425f0:\n      if ((1 < DAT_0008900c) ||\n         ((uVar9 = DAT_0008900c, (undefined4 *)0x2 < DAT_00088ffc &&\n          (((param_1 = DAT_00088ffc, (DAT_00088fc8 & 0x38600) == 0 && (DAT_00088fc8._3_1_ == '\0'))\n           || ((undefined4 *)0x4 < DAT_00088ffc)))))) goto LAB_00042628;\n      goto LAB_000424cc;\n    }\n  }\nLAB_000424b7:\n  uVar9 = DAT_0008900c;\n  if (1 < DAT_0008900c) {\nLAB_00042628:\n                    \n    FUN_0002be80("../../gas/config/tc-i386.c",0xe94,"process_immext",param_1);\n  }\nLAB_000424cc:\n  DAT_0008900c = uVar9 + 1;\n  iVar1 = (int)DAT_00088ffc + 0xe;\n  (&DAT_00088fa0)[iVar1 * 2] = 0;\n  (&DAT_00089038)[(int)DAT_00088ffc] = &DAT_00088f20 + uVar9 * 5;\n  DAT_00088ffc = (undefined4 *)((int)DAT_00088ffc + 1);\n  (&DAT_00088f30)[uVar9 * 0x14] = 2;\n  *(undefined4 *)(&DAT_00088fa4 + iVar1 * 8) = 0;\n  pbVar2 = (byte *)((int)&DAT_00088fa0 + iVar1 * 8 + 1);\n  *pbVar2 = *pbVar2 | 4;\n  (&DAT_00088f28)[uVar9 * 5] = DAT_00088fac;\n  (&DAT_00088f2c)[uVar9 * 5] = 0;\n  DAT_00088fac = 0xffff;\n  return;\n}" (primitive_type "void") (ERROR "__regparm3" (identifier "__regparm3")) (function_declarator "FUN_000423f0(undefined4 *param_1,undefined4 param_2)" (identifier "FUN_000423f0") (parameter_list "(undefined4 *param_1,undefined4 param_2)" (( "(") (parameter_declaration "undefined4 *param_1" (type_identifier "undefined4") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "undefined4 param_2" (type_identifier "undefined4") (identifier "param_2")) () ")"))) (compound_statement "{\n  int iVar1;\n  byte *pbVar2;\n  undefined4 *puVar3;\n  undefined *puVar4;\n  undefined4 uVar5;\n  undefined4 uVar6;\n  undefined4 *puVar7;\n  undefined4 uVar8;\n  uint uVar9;\n  undefined4 uVar10;\n  \n  uVar5 = DAT_00088fa0;\n  puVar4 = PTR_DAT_00080714;\n  if ((DAT_00088fb6 & 0x28) == 0) {\n    if ((DAT_00088fbe & 0x40) == 0) goto LAB_000425f0;\n    if (DAT_00088ffc == (undefined4 *)0x0) goto LAB_000424b7;\n    if (DAT_00088ffc != (undefined4 *)0x3) {\n                    \n      FUN_0002be80("../../gas/config/tc-i386.c",0xe74,"process_immext",param_2);\n    }\n    if (((*(byte *)(DAT_00089038 + 3) & 1) == 0) &&\n       ((*(byte *)(DAT_00089038 + 3) & 4) == 0 && *(char *)((int)DAT_00089038 + 0xd) == '\0')) {\n      if ((((*(byte *)(DAT_0008903c + 3) & 1) != 0) ||\n          (*(char *)((int)DAT_0008903c + 0xd) != '\x01')) ||\n         ((*(byte *)(DAT_0008903c + 3) & 4) != 0)) {\n        uVar10 = 2;\n        puVar7 = DAT_0008903c;\n        goto LAB_0004264d;\n      }\n      uVar10 = 3;\n      puVar7 = DAT_00089040;\n      if (((*(byte *)(DAT_00089040 + 3) & 5) != 0) ||\n         (param_1 = DAT_00089040,\n         (char)((DAT_00088fac == 0xfb) + '\x02') != *(char *)((int)DAT_00089040 + 0xd)))\n      goto LAB_0004264d;\n    }\n    else {\n      uVar10 = 1;\n      puVar7 = DAT_00089038;\nLAB_0004264d:\n      uVar6 = *puVar7;\n      uVar8 = dcgettext(0,"can\'t use register \'%s%s\' as operand %d in \'%s\'.",5);\n      param_1 = (undefined4 *)FUN_0002bd60(uVar8,puVar4,uVar6,uVar10,uVar5);\n    }\n    DAT_00088ffc = (undefined4 *)0x0;\n  }\n  else {\n    if (DAT_00088ffc != (undefined4 *)0x0) {\n      puVar7 = (undefined4 *)0x0;\n      do {\n        while( true ) {\n          uVar5 = DAT_00088fa0;\n          puVar4 = PTR_DAT_00080714;\n          puVar3 = (&DAT_00089038)[(int)puVar7];\n          param_1 = (undefined4 *)((int)puVar7 + 1);\n          if ((((*(byte *)(puVar3 + 3) & 1) == 0) &&\n              ((undefined4 *)(uint)*(byte *)((int)puVar3 + 0xd) == puVar7)) &&\n             ((*(byte *)(puVar3 + 3) & 4) == 0)) break;\n          uVar10 = *puVar3;\n          uVar6 = dcgettext(0,"can\'t use register \'%s%s\' as operand %d in \'%s\'.",5);\n          FUN_0002bd60(uVar6,puVar4,uVar10,param_1,uVar5);\n          puVar7 = param_1;\n          if (DAT_00088ffc <= param_1) goto LAB_000424a2;\n        }\n        puVar7 = param_1;\n      } while (param_1 < DAT_00088ffc);\nLAB_000424a2:\n      DAT_00088ffc = (undefined4 *)0x0;\n    }\n    if ((DAT_00088fbe & 0x40) == 0) {\nLAB_000425f0:\n      if ((1 < DAT_0008900c) ||\n         ((uVar9 = DAT_0008900c, (undefined4 *)0x2 < DAT_00088ffc &&\n          (((param_1 = DAT_00088ffc, (DAT_00088fc8 & 0x38600) == 0 && (DAT_00088fc8._3_1_ == '\0'))\n           || ((undefined4 *)0x4 < DAT_00088ffc)))))) goto LAB_00042628;\n      goto LAB_000424cc;\n    }\n  }\nLAB_000424b7:\n  uVar9 = DAT_0008900c;\n  if (1 < DAT_0008900c) {\nLAB_00042628:\n                    \n    FUN_0002be80("../../gas/config/tc-i386.c",0xe94,"process_immext",param_1);\n  }\nLAB_000424cc:\n  DAT_0008900c = uVar9 + 1;\n  iVar1 = (int)DAT_00088ffc + 0xe;\n  (&DAT_00088fa0)[iVar1 * 2] = 0;\n  (&DAT_00089038)[(int)DAT_00088ffc] = &DAT_00088f20 + uVar9 * 5;\n  DAT_00088ffc = (undefined4 *)((int)DAT_00088ffc + 1);\n  (&DAT_00088f30)[uVar9 * 0x14] = 2;\n  *(undefined4 *)(&DAT_00088fa4 + iVar1 * 8) = 0;\n  pbVar2 = (byte *)((int)&DAT_00088fa0 + iVar1 * 8 + 1);\n  *pbVar2 = *pbVar2 | 4;\n  (&DAT_00088f28)[uVar9 * 5] = DAT_00088fac;\n  (&DAT_00088f2c)[uVar9 * 5] = 0;\n  DAT_00088fac = 0xffff;\n  return;\n}" ({ "{") (declaration "int iVar1;" (primitive_type "int") (identifier "iVar1") (; ";")) (declaration "byte *pbVar2;" (type_identifier "byte") (pointer_declarator "*pbVar2" (* "*") (identifier "pbVar2")) (; ";")) (declaration "undefined4 *puVar3;" (type_identifier "undefined4") (pointer_declarator "*puVar3" (* "*") (identifier "puVar3")) (; ";")) (declaration "undefined *puVar4;" (type_identifier "undefined") (pointer_declarator "*puVar4" (* "*") (identifier "puVar4")) (; ";")) (declaration "undefined4 uVar5;" (type_identifier "undefined4") (identifier "uVar5") (; ";")) (declaration "undefined4 uVar6;" (type_identifier "undefined4") (identifier "uVar6") (; ";")) (declaration "undefined4 *puVar7;" (type_identifier "undefined4") (pointer_declarator "*puVar7" (* "*") (identifier "puVar7")) (; ";")) (declaration "undefined4 uVar8;" (type_identifier "undefined4") (identifier "uVar8") (; ";")) (declaration "uint uVar9;" (type_identifier "uint") (identifier "uVar9") (; ";")) (declaration "undefined4 uVar10;" (type_identifier "undefined4") (identifier "uVar10") (; ";")) (expression_statement "uVar5 = DAT_00088fa0;" (assignment_expression "uVar5 = DAT_00088fa0" (identifier "uVar5") (= "=") (identifier "DAT_00088fa0")) (; ";")) (expression_statement "puVar4 = PTR_DAT_00080714;" (assignment_expression "puVar4 = PTR_DAT_00080714" (identifier "puVar4") (= "=") (identifier "PTR_DAT_00080714")) (; ";")) (if_statement "if ((DAT_00088fb6 & 0x28) == 0) {\n    if ((DAT_00088fbe & 0x40) == 0) goto LAB_000425f0;\n    if (DAT_00088ffc == (undefined4 *)0x0) goto LAB_000424b7;\n    if (DAT_00088ffc != (undefined4 *)0x3) {\n                    \n      FUN_0002be80("../../gas/config/tc-i386.c",0xe74,"process_immext",param_2);\n    }\n    if (((*(byte *)(DAT_00089038 + 3) & 1) == 0) &&\n       ((*(byte *)(DAT_00089038 + 3) & 4) == 0 && *(char *)((int)DAT_00089038 + 0xd) == '\0')) {\n      if ((((*(byte *)(DAT_0008903c + 3) & 1) != 0) ||\n          (*(char *)((int)DAT_0008903c + 0xd) != '\x01')) ||\n         ((*(byte *)(DAT_0008903c + 3) & 4) != 0)) {\n        uVar10 = 2;\n        puVar7 = DAT_0008903c;\n        goto LAB_0004264d;\n      }\n      uVar10 = 3;\n      puVar7 = DAT_00089040;\n      if (((*(byte *)(DAT_00089040 + 3) & 5) != 0) ||\n         (param_1 = DAT_00089040,\n         (char)((DAT_00088fac == 0xfb) + '\x02') != *(char *)((int)DAT_00089040 + 0xd)))\n      goto LAB_0004264d;\n    }\n    else {\n      uVar10 = 1;\n      puVar7 = DAT_00089038;\nLAB_0004264d:\n      uVar6 = *puVar7;\n      uVar8 = dcgettext(0,"can\'t use register \'%s%s\' as operand %d in \'%s\'.",5);\n      param_1 = (undefined4 *)FUN_0002bd60(uVar8,puVar4,uVar6,uVar10,uVar5);\n    }\n    DAT_00088ffc = (undefined4 *)0x0;\n  }\n  else {\n    if (DAT_00088ffc != (undefined4 *)0x0) {\n      puVar7 = (undefined4 *)0x0;\n      do {\n        while( true ) {\n          uVar5 = DAT_00088fa0;\n          puVar4 = PTR_DAT_00080714;\n          puVar3 = (&DAT_00089038)[(int)puVar7];\n          param_1 = (undefined4 *)((int)puVar7 + 1);\n          if ((((*(byte *)(puVar3 + 3) & 1) == 0) &&\n              ((undefined4 *)(uint)*(byte *)((int)puVar3 + 0xd) == puVar7)) &&\n             ((*(byte *)(puVar3 + 3) & 4) == 0)) break;\n          uVar10 = *puVar3;\n          uVar6 = dcgettext(0,"can\'t use register \'%s%s\' as operand %d in \'%s\'.",5);\n          FUN_0002bd60(uVar6,puVar4,uVar10,param_1,uVar5);\n          puVar7 = param_1;\n          if (DAT_00088ffc <= param_1) goto LAB_000424a2;\n        }\n        puVar7 = param_1;\n      } while (param_1 < DAT_00088ffc);\nLAB_000424a2:\n      DAT_00088ffc = (undefined4 *)0x0;\n    }\n    if ((DAT_00088fbe & 0x40) == 0) {\nLAB_000425f0:\n      if ((1 < DAT_0008900c) ||\n         ((uVar9 = DAT_0008900c, (undefined4 *)0x2 < DAT_00088ffc &&\n          (((param_1 = DAT_00088ffc, (DAT_00088fc8 & 0x38600) == 0 && (DAT_00088fc8._3_1_ == '\0'))\n           || ((undefined4 *)0x4 < DAT_00088ffc)))))) goto LAB_00042628;\n      goto LAB_000424cc;\n    }\n  }" (if "if") (parenthesized_expression "((DAT_00088fb6 & 0x28) == 0)" (( "(") (binary_expression "(DAT_00088fb6 & 0x28) == 0" (parenthesized_expression "(DAT_00088fb6 & 0x28)" (( "(") (binary_expression "DAT_00088fb6 & 0x28" (identifier "DAT_00088fb6") (& "&") (number_literal "0x28")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    if ((DAT_00088fbe & 0x40) == 0) goto LAB_000425f0;\n    if (DAT_00088ffc == (undefined4 *)0x0) goto LAB_000424b7;\n    if (DAT_00088ffc != (undefined4 *)0x3) {\n                    \n      FUN_0002be80("../../gas/config/tc-i386.c",0xe74,"process_immext",param_2);\n    }\n    if (((*(byte *)(DAT_00089038 + 3) & 1) == 0) &&\n       ((*(byte *)(DAT_00089038 + 3) & 4) == 0 && *(char *)((int)DAT_00089038 + 0xd) == '\0')) {\n      if ((((*(byte *)(DAT_0008903c + 3) & 1) != 0) ||\n          (*(char *)((int)DAT_0008903c + 0xd) != '\x01')) ||\n         ((*(byte *)(DAT_0008903c + 3) & 4) != 0)) {\n        uVar10 = 2;\n        puVar7 = DAT_0008903c;\n        goto LAB_0004264d;\n      }\n      uVar10 = 3;\n      puVar7 = DAT_00089040;\n      if (((*(byte *)(DAT_00089040 + 3) & 5) != 0) ||\n         (param_1 = DAT_00089040,\n         (char)((DAT_00088fac == 0xfb) + '\x02') != *(char *)((int)DAT_00089040 + 0xd)))\n      goto LAB_0004264d;\n    }\n    else {\n      uVar10 = 1;\n      puVar7 = DAT_00089038;\nLAB_0004264d:\n      uVar6 = *puVar7;\n      uVar8 = dcgettext(0,"can\'t use register \'%s%s\' as operand %d in \'%s\'.",5);\n      param_1 = (undefined4 *)FUN_0002bd60(uVar8,puVar4,uVar6,uVar10,uVar5);\n    }\n    DAT_00088ffc = (undefined4 *)0x0;\n  }" ({ "{") (if_statement "if ((DAT_00088fbe & 0x40) == 0) goto LAB_000425f0;" (if "if") (parenthesized_expression "((DAT_00088fbe & 0x40) == 0)" (( "(") (binary_expression "(DAT_00088fbe & 0x40) == 0" (parenthesized_expression "(DAT_00088fbe & 0x40)" (( "(") (binary_expression "DAT_00088fbe & 0x40" (identifier "DAT_00088fbe") (& "&") (number_literal "0x40")) () ")")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_000425f0;" (goto "goto") (statement_identifier "LAB_000425f0") (; ";"))) (if_statement "if (DAT_00088ffc == (undefined4 *)0x0) goto LAB_000424b7;" (if "if") (parenthesized_expression "(DAT_00088ffc == (undefined4 *)0x0)" (( "(") (binary_expression "DAT_00088ffc == (undefined4 *)0x0" (identifier "DAT_00088ffc") (== "==") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_000424b7;" (goto "goto") (statement_identifier "LAB_000424b7") (; ";"))) (if_statement "if (DAT_00088ffc != (undefined4 *)0x3) {\n                    \n      FUN_0002be80("../../gas/config/tc-i386.c",0xe74,"process_immext",param_2);\n    }" (if "if") (parenthesized_expression "(DAT_00088ffc != (undefined4 *)0x3)" (( "(") (binary_expression "DAT_00088ffc != (undefined4 *)0x3" (identifier "DAT_00088ffc") (!= "!=") (cast_expression "(undefined4 *)0x3" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x3"))) () ")")) (compound_statement "{\n                    \n      FUN_0002be80("../../gas/config/tc-i386.c",0xe74,"process_immext",param_2);\n    }" ({ "{") (expression_statement "FUN_0002be80("../../gas/config/tc-i386.c",0xe74,"process_immext",param_2);" (call_expression "FUN_0002be80("../../gas/config/tc-i386.c",0xe74,"process_immext",param_2)" (identifier "FUN_0002be80") (argument_list "("../../gas/config/tc-i386.c",0xe74,"process_immext",param_2)" (( "(") (string_literal ""../../gas/config/tc-i386.c"" (" """) (string_content "../../gas/config/tc-i386.c") (" """)) (, ",") (number_literal "0xe74") (, ",") (string_literal ""process_immext"" (" """) (string_content "process_immext") (" """)) (, ",") (identifier "param_2") () ")"))) (; ";")) (} "}"))) (if_statement "if (((*(byte *)(DAT_00089038 + 3) & 1) == 0) &&\n       ((*(byte *)(DAT_00089038 + 3) & 4) == 0 && *(char *)((int)DAT_00089038 + 0xd) == '\0')) {\n      if ((((*(byte *)(DAT_0008903c + 3) & 1) != 0) ||\n          (*(char *)((int)DAT_0008903c + 0xd) != '\x01')) ||\n         ((*(byte *)(DAT_0008903c + 3) & 4) != 0)) {\n        uVar10 = 2;\n        puVar7 = DAT_0008903c;\n        goto LAB_0004264d;\n      }\n      uVar10 = 3;\n      puVar7 = DAT_00089040;\n      if (((*(byte *)(DAT_00089040 + 3) & 5) != 0) ||\n         (param_1 = DAT_00089040,\n         (char)((DAT_00088fac == 0xfb) + '\x02') != *(char *)((int)DAT_00089040 + 0xd)))\n      goto LAB_0004264d;\n    }\n    else {\n      uVar10 = 1;\n      puVar7 = DAT_00089038;\nLAB_0004264d:\n      uVar6 = *puVar7;\n      uVar8 = dcgettext(0,"can\'t use register \'%s%s\' as operand %d in \'%s\'.",5);\n      param_1 = (undefined4 *)FUN_0002bd60(uVar8,puVar4,uVar6,uVar10,uVar5);\n    }" (if "if") (parenthesized_expression "(((*(byte *)(DAT_00089038 + 3) & 1) == 0) &&\n       ((*(byte *)(DAT_00089038 + 3) & 4) == 0 && *(char *)((int)DAT_00089038 + 0xd) == '\0'))" (( "(") (binary_expression "((*(byte *)(DAT_00089038 + 3) & 1) == 0) &&\n       ((*(byte *)(DAT_00089038 + 3) & 4) == 0 && *(char *)((int)DAT_00089038 + 0xd) == '\0')" (parenthesized_expression "((*(byte *)(DAT_00089038 + 3) & 1) == 0)" (( "(") (binary_expression "(*(byte *)(DAT_00089038 + 3) & 1) == 0" (parenthesized_expression "(*(byte *)(DAT_00089038 + 3) & 1)" (( "(") (binary_expression "*(byte *)(DAT_00089038 + 3) & 1" (pointer_expression "*(byte *)(DAT_00089038 + 3)" (* "*") (cast_expression "(byte *)(DAT_00089038 + 3)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_00089038 + 3)" (( "(") (binary_expression "DAT_00089038 + 3" (identifier "DAT_00089038") (+ "+") (number_literal "3")) () ")")))) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "((*(byte *)(DAT_00089038 + 3) & 4) == 0 && *(char *)((int)DAT_00089038 + 0xd) == '\0')" (( "(") (binary_expression "(*(byte *)(DAT_00089038 + 3) & 4) == 0 && *(char *)((int)DAT_00089038 + 0xd) == '\0'" (binary_expression "(*(byte *)(DAT_00089038 + 3) & 4) == 0" (parenthesized_expression "(*(byte *)(DAT_00089038 + 3) & 4)" (( "(") (binary_expression "*(byte *)(DAT_00089038 + 3) & 4" (pointer_expression "*(byte *)(DAT_00089038 + 3)" (* "*") (cast_expression "(byte *)(DAT_00089038 + 3)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_00089038 + 3)" (( "(") (binary_expression "DAT_00089038 + 3" (identifier "DAT_00089038") (+ "+") (number_literal "3")) () ")")))) (& "&") (number_literal "4")) () ")")) (== "==") (number_literal "0")) (&& "&&") (binary_expression "*(char *)((int)DAT_00089038 + 0xd) == '\0'" (pointer_expression "*(char *)((int)DAT_00089038 + 0xd)" (* "*") (cast_expression "(char *)((int)DAT_00089038 + 0xd)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)DAT_00089038 + 0xd)" (( "(") (binary_expression "(int)DAT_00089038 + 0xd" (cast_expression "(int)DAT_00089038" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "DAT_00089038")) (+ "+") (number_literal "0xd")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'")))) () ")"))) () ")")) (compound_statement "{\n      if ((((*(byte *)(DAT_0008903c + 3) & 1) != 0) ||\n          (*(char *)((int)DAT_0008903c + 0xd) != '\x01')) ||\n         ((*(byte *)(DAT_0008903c + 3) & 4) != 0)) {\n        uVar10 = 2;\n        puVar7 = DAT_0008903c;\n        goto LAB_0004264d;\n      }\n      uVar10 = 3;\n      puVar7 = DAT_00089040;\n      if (((*(byte *)(DAT_00089040 + 3) & 5) != 0) ||\n         (param_1 = DAT_00089040,\n         (char)((DAT_00088fac == 0xfb) + '\x02') != *(char *)((int)DAT_00089040 + 0xd)))\n      goto LAB_0004264d;\n    }" ({ "{") (if_statement "if ((((*(byte *)(DAT_0008903c + 3) & 1) != 0) ||\n          (*(char *)((int)DAT_0008903c + 0xd) != '\x01')) ||\n         ((*(byte *)(DAT_0008903c + 3) & 4) != 0)) {\n        uVar10 = 2;\n        puVar7 = DAT_0008903c;\n        goto LAB_0004264d;\n      }" (if "if") (parenthesized_expression "((((*(byte *)(DAT_0008903c + 3) & 1) != 0) ||\n          (*(char *)((int)DAT_0008903c + 0xd) != '\x01')) ||\n         ((*(byte *)(DAT_0008903c + 3) & 4) != 0))" (( "(") (binary_expression "(((*(byte *)(DAT_0008903c + 3) & 1) != 0) ||\n          (*(char *)((int)DAT_0008903c + 0xd) != '\x01')) ||\n         ((*(byte *)(DAT_0008903c + 3) & 4) != 0)" (parenthesized_expression "(((*(byte *)(DAT_0008903c + 3) & 1) != 0) ||\n          (*(char *)((int)DAT_0008903c + 0xd) != '\x01'))" (( "(") (binary_expression "((*(byte *)(DAT_0008903c + 3) & 1) != 0) ||\n          (*(char *)((int)DAT_0008903c + 0xd) != '\x01')" (parenthesized_expression "((*(byte *)(DAT_0008903c + 3) & 1) != 0)" (( "(") (binary_expression "(*(byte *)(DAT_0008903c + 3) & 1) != 0" (parenthesized_expression "(*(byte *)(DAT_0008903c + 3) & 1)" (( "(") (binary_expression "*(byte *)(DAT_0008903c + 3) & 1" (pointer_expression "*(byte *)(DAT_0008903c + 3)" (* "*") (cast_expression "(byte *)(DAT_0008903c + 3)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_0008903c + 3)" (( "(") (binary_expression "DAT_0008903c + 3" (identifier "DAT_0008903c") (+ "+") (number_literal "3")) () ")")))) (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(*(char *)((int)DAT_0008903c + 0xd) != '\x01')" (( "(") (binary_expression "*(char *)((int)DAT_0008903c + 0xd) != '\x01'" (pointer_expression "*(char *)((int)DAT_0008903c + 0xd)" (* "*") (cast_expression "(char *)((int)DAT_0008903c + 0xd)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)DAT_0008903c + 0xd)" (( "(") (binary_expression "(int)DAT_0008903c + 0xd" (cast_expression "(int)DAT_0008903c" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "DAT_0008903c")) (+ "+") (number_literal "0xd")) () ")")))) (!= "!=") (char_literal "'\x01'" (' "'") (escape_sequence "\x01") (' "'"))) () ")"))) () ")")) (|| "||") (parenthesized_expression "((*(byte *)(DAT_0008903c + 3) & 4) != 0)" (( "(") (binary_expression "(*(byte *)(DAT_0008903c + 3) & 4) != 0" (parenthesized_expression "(*(byte *)(DAT_0008903c + 3) & 4)" (( "(") (binary_expression "*(byte *)(DAT_0008903c + 3) & 4" (pointer_expression "*(byte *)(DAT_0008903c + 3)" (* "*") (cast_expression "(byte *)(DAT_0008903c + 3)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_0008903c + 3)" (( "(") (binary_expression "DAT_0008903c + 3" (identifier "DAT_0008903c") (+ "+") (number_literal "3")) () ")")))) (& "&") (number_literal "4")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n        uVar10 = 2;\n        puVar7 = DAT_0008903c;\n        goto LAB_0004264d;\n      }" ({ "{") (expression_statement "uVar10 = 2;" (assignment_expression "uVar10 = 2" (identifier "uVar10") (= "=") (number_literal "2")) (; ";")) (expression_statement "puVar7 = DAT_0008903c;" (assignment_expression "puVar7 = DAT_0008903c" (identifier "puVar7") (= "=") (identifier "DAT_0008903c")) (; ";")) (goto_statement "goto LAB_0004264d;" (goto "goto") (statement_identifier "LAB_0004264d") (; ";")) (} "}"))) (expression_statement "uVar10 = 3;" (assignment_expression "uVar10 = 3" (identifier "uVar10") (= "=") (number_literal "3")) (; ";")) (expression_statement "puVar7 = DAT_00089040;" (assignment_expression "puVar7 = DAT_00089040" (identifier "puVar7") (= "=") (identifier "DAT_00089040")) (; ";")) (if_statement "if (((*(byte *)(DAT_00089040 + 3) & 5) != 0) ||\n         (param_1 = DAT_00089040,\n         (char)((DAT_00088fac == 0xfb) + '\x02') != *(char *)((int)DAT_00089040 + 0xd)))\n      goto LAB_0004264d;" (if "if") (parenthesized_expression "(((*(byte *)(DAT_00089040 + 3) & 5) != 0) ||\n         (param_1 = DAT_00089040,\n         (char)((DAT_00088fac == 0xfb) + '\x02') != *(char *)((int)DAT_00089040 + 0xd)))" (( "(") (binary_expression "((*(byte *)(DAT_00089040 + 3) & 5) != 0) ||\n         (param_1 = DAT_00089040,\n         (char)((DAT_00088fac == 0xfb) + '\x02') != *(char *)((int)DAT_00089040 + 0xd))" (parenthesized_expression "((*(byte *)(DAT_00089040 + 3) & 5) != 0)" (( "(") (binary_expression "(*(byte *)(DAT_00089040 + 3) & 5) != 0" (parenthesized_expression "(*(byte *)(DAT_00089040 + 3) & 5)" (( "(") (binary_expression "*(byte *)(DAT_00089040 + 3) & 5" (pointer_expression "*(byte *)(DAT_00089040 + 3)" (* "*") (cast_expression "(byte *)(DAT_00089040 + 3)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_00089040 + 3)" (( "(") (binary_expression "DAT_00089040 + 3" (identifier "DAT_00089040") (+ "+") (number_literal "3")) () ")")))) (& "&") (number_literal "5")) () ")")) (!= "!=") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(param_1 = DAT_00089040,\n         (char)((DAT_00088fac == 0xfb) + '\x02') != *(char *)((int)DAT_00089040 + 0xd))" (( "(") (comma_expression "param_1 = DAT_00089040,\n         (char)((DAT_00088fac == 0xfb) + '\x02') != *(char *)((int)DAT_00089040 + 0xd)" (assignment_expression "param_1 = DAT_00089040" (identifier "param_1") (= "=") (identifier "DAT_00089040")) (, ",") (binary_expression "(char)((DAT_00088fac == 0xfb) + '\x02') != *(char *)((int)DAT_00089040 + 0xd)" (cast_expression "(char)((DAT_00088fac == 0xfb) + '\x02')" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (parenthesized_expression "((DAT_00088fac == 0xfb) + '\x02')" (( "(") (binary_expression "(DAT_00088fac == 0xfb) + '\x02'" (parenthesized_expression "(DAT_00088fac == 0xfb)" (( "(") (binary_expression "DAT_00088fac == 0xfb" (identifier "DAT_00088fac") (== "==") (number_literal "0xfb")) () ")")) (+ "+") (char_literal "'\x02'" (' "'") (escape_sequence "\x02") (' "'"))) () ")"))) (!= "!=") (pointer_expression "*(char *)((int)DAT_00089040 + 0xd)" (* "*") (cast_expression "(char *)((int)DAT_00089040 + 0xd)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)DAT_00089040 + 0xd)" (( "(") (binary_expression "(int)DAT_00089040 + 0xd" (cast_expression "(int)DAT_00089040" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "DAT_00089040")) (+ "+") (number_literal "0xd")) () ")")))))) () ")"))) () ")")) (goto_statement "goto LAB_0004264d;" (goto "goto") (statement_identifier "LAB_0004264d") (; ";"))) (} "}")) (else_clause "else {\n      uVar10 = 1;\n      puVar7 = DAT_00089038;\nLAB_0004264d:\n      uVar6 = *puVar7;\n      uVar8 = dcgettext(0,"can\'t use register \'%s%s\' as operand %d in \'%s\'.",5);\n      param_1 = (undefined4 *)FUN_0002bd60(uVar8,puVar4,uVar6,uVar10,uVar5);\n    }" (else "else") (compound_statement "{\n      uVar10 = 1;\n      puVar7 = DAT_00089038;\nLAB_0004264d:\n      uVar6 = *puVar7;\n      uVar8 = dcgettext(0,"can\'t use register \'%s%s\' as operand %d in \'%s\'.",5);\n      param_1 = (undefined4 *)FUN_0002bd60(uVar8,puVar4,uVar6,uVar10,uVar5);\n    }" ({ "{") (expression_statement "uVar10 = 1;" (assignment_expression "uVar10 = 1" (identifier "uVar10") (= "=") (number_literal "1")) (; ";")) (expression_statement "puVar7 = DAT_00089038;" (assignment_expression "puVar7 = DAT_00089038" (identifier "puVar7") (= "=") (identifier "DAT_00089038")) (; ";")) (labeled_statement "LAB_0004264d:\n      uVar6 = *puVar7;" (statement_identifier "LAB_0004264d") (: ":") (expression_statement "uVar6 = *puVar7;" (assignment_expression "uVar6 = *puVar7" (identifier "uVar6") (= "=") (pointer_expression "*puVar7" (* "*") (identifier "puVar7"))) (; ";"))) (expression_statement "uVar8 = dcgettext(0,"can\'t use register \'%s%s\' as operand %d in \'%s\'.",5);" (assignment_expression "uVar8 = dcgettext(0,"can\'t use register \'%s%s\' as operand %d in \'%s\'.",5)" (identifier "uVar8") (= "=") (call_expression "dcgettext(0,"can\'t use register \'%s%s\' as operand %d in \'%s\'.",5)" (identifier "dcgettext") (argument_list "(0,"can\'t use register \'%s%s\' as operand %d in \'%s\'.",5)" (( "(") (number_literal "0") (, ",") (string_literal ""can\'t use register \'%s%s\' as operand %d in \'%s\'."" (" """) (string_content "can") (escape_sequence "\'") (string_content "t use register ") (escape_sequence "\'") (string_content "%s%s") (escape_sequence "\'") (string_content " as operand %d in ") (escape_sequence "\'") (string_content "%s") (escape_sequence "\'") (string_content ".") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "param_1 = (undefined4 *)FUN_0002bd60(uVar8,puVar4,uVar6,uVar10,uVar5);" (assignment_expression "param_1 = (undefined4 *)FUN_0002bd60(uVar8,puVar4,uVar6,uVar10,uVar5)" (identifier "param_1") (= "=") (cast_expression "(undefined4 *)FUN_0002bd60(uVar8,puVar4,uVar6,uVar10,uVar5)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_0002bd60(uVar8,puVar4,uVar6,uVar10,uVar5)" (identifier "FUN_0002bd60") (argument_list "(uVar8,puVar4,uVar6,uVar10,uVar5)" (( "(") (identifier "uVar8") (, ",") (identifier "puVar4") (, ",") (identifier "uVar6") (, ",") (identifier "uVar10") (, ",") (identifier "uVar5") () ")"))))) (; ";")) (} "}")))) (expression_statement "DAT_00088ffc = (undefined4 *)0x0;" (assignment_expression "DAT_00088ffc = (undefined4 *)0x0" (identifier "DAT_00088ffc") (= "=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (} "}")) (else_clause "else {\n    if (DAT_00088ffc != (undefined4 *)0x0) {\n      puVar7 = (undefined4 *)0x0;\n      do {\n        while( true ) {\n          uVar5 = DAT_00088fa0;\n          puVar4 = PTR_DAT_00080714;\n          puVar3 = (&DAT_00089038)[(int)puVar7];\n          param_1 = (undefined4 *)((int)puVar7 + 1);\n          if ((((*(byte *)(puVar3 + 3) & 1) == 0) &&\n              ((undefined4 *)(uint)*(byte *)((int)puVar3 + 0xd) == puVar7)) &&\n             ((*(byte *)(puVar3 + 3) & 4) == 0)) break;\n          uVar10 = *puVar3;\n          uVar6 = dcgettext(0,"can\'t use register \'%s%s\' as operand %d in \'%s\'.",5);\n          FUN_0002bd60(uVar6,puVar4,uVar10,param_1,uVar5);\n          puVar7 = param_1;\n          if (DAT_00088ffc <= param_1) goto LAB_000424a2;\n        }\n        puVar7 = param_1;\n      } while (param_1 < DAT_00088ffc);\nLAB_000424a2:\n      DAT_00088ffc = (undefined4 *)0x0;\n    }\n    if ((DAT_00088fbe & 0x40) == 0) {\nLAB_000425f0:\n      if ((1 < DAT_0008900c) ||\n         ((uVar9 = DAT_0008900c, (undefined4 *)0x2 < DAT_00088ffc &&\n          (((param_1 = DAT_00088ffc, (DAT_00088fc8 & 0x38600) == 0 && (DAT_00088fc8._3_1_ == '\0'))\n           || ((undefined4 *)0x4 < DAT_00088ffc)))))) goto LAB_00042628;\n      goto LAB_000424cc;\n    }\n  }" (else "else") (compound_statement "{\n    if (DAT_00088ffc != (undefined4 *)0x0) {\n      puVar7 = (undefined4 *)0x0;\n      do {\n        while( true ) {\n          uVar5 = DAT_00088fa0;\n          puVar4 = PTR_DAT_00080714;\n          puVar3 = (&DAT_00089038)[(int)puVar7];\n          param_1 = (undefined4 *)((int)puVar7 + 1);\n          if ((((*(byte *)(puVar3 + 3) & 1) == 0) &&\n              ((undefined4 *)(uint)*(byte *)((int)puVar3 + 0xd) == puVar7)) &&\n             ((*(byte *)(puVar3 + 3) & 4) == 0)) break;\n          uVar10 = *puVar3;\n          uVar6 = dcgettext(0,"can\'t use register \'%s%s\' as operand %d in \'%s\'.",5);\n          FUN_0002bd60(uVar6,puVar4,uVar10,param_1,uVar5);\n          puVar7 = param_1;\n          if (DAT_00088ffc <= param_1) goto LAB_000424a2;\n        }\n        puVar7 = param_1;\n      } while (param_1 < DAT_00088ffc);\nLAB_000424a2:\n      DAT_00088ffc = (undefined4 *)0x0;\n    }\n    if ((DAT_00088fbe & 0x40) == 0) {\nLAB_000425f0:\n      if ((1 < DAT_0008900c) ||\n         ((uVar9 = DAT_0008900c, (undefined4 *)0x2 < DAT_00088ffc &&\n          (((param_1 = DAT_00088ffc, (DAT_00088fc8 & 0x38600) == 0 && (DAT_00088fc8._3_1_ == '\0'))\n           || ((undefined4 *)0x4 < DAT_00088ffc)))))) goto LAB_00042628;\n      goto LAB_000424cc;\n    }\n  }" ({ "{") (if_statement "if (DAT_00088ffc != (undefined4 *)0x0) {\n      puVar7 = (undefined4 *)0x0;\n      do {\n        while( true ) {\n          uVar5 = DAT_00088fa0;\n          puVar4 = PTR_DAT_00080714;\n          puVar3 = (&DAT_00089038)[(int)puVar7];\n          param_1 = (undefined4 *)((int)puVar7 + 1);\n          if ((((*(byte *)(puVar3 + 3) & 1) == 0) &&\n              ((undefined4 *)(uint)*(byte *)((int)puVar3 + 0xd) == puVar7)) &&\n             ((*(byte *)(puVar3 + 3) & 4) == 0)) break;\n          uVar10 = *puVar3;\n          uVar6 = dcgettext(0,"can\'t use register \'%s%s\' as operand %d in \'%s\'.",5);\n          FUN_0002bd60(uVar6,puVar4,uVar10,param_1,uVar5);\n          puVar7 = param_1;\n          if (DAT_00088ffc <= param_1) goto LAB_000424a2;\n        }\n        puVar7 = param_1;\n      } while (param_1 < DAT_00088ffc);\nLAB_000424a2:\n      DAT_00088ffc = (undefined4 *)0x0;\n    }" (if "if") (parenthesized_expression "(DAT_00088ffc != (undefined4 *)0x0)" (( "(") (binary_expression "DAT_00088ffc != (undefined4 *)0x0" (identifier "DAT_00088ffc") (!= "!=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      puVar7 = (undefined4 *)0x0;\n      do {\n        while( true ) {\n          uVar5 = DAT_00088fa0;\n          puVar4 = PTR_DAT_00080714;\n          puVar3 = (&DAT_00089038)[(int)puVar7];\n          param_1 = (undefined4 *)((int)puVar7 + 1);\n          if ((((*(byte *)(puVar3 + 3) & 1) == 0) &&\n              ((undefined4 *)(uint)*(byte *)((int)puVar3 + 0xd) == puVar7)) &&\n             ((*(byte *)(puVar3 + 3) & 4) == 0)) break;\n          uVar10 = *puVar3;\n          uVar6 = dcgettext(0,"can\'t use register \'%s%s\' as operand %d in \'%s\'.",5);\n          FUN_0002bd60(uVar6,puVar4,uVar10,param_1,uVar5);\n          puVar7 = param_1;\n          if (DAT_00088ffc <= param_1) goto LAB_000424a2;\n        }\n        puVar7 = param_1;\n      } while (param_1 < DAT_00088ffc);\nLAB_000424a2:\n      DAT_00088ffc = (undefined4 *)0x0;\n    }" ({ "{") (expression_statement "puVar7 = (undefined4 *)0x0;" (assignment_expression "puVar7 = (undefined4 *)0x0" (identifier "puVar7") (= "=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (do_statement "do {\n        while( true ) {\n          uVar5 = DAT_00088fa0;\n          puVar4 = PTR_DAT_00080714;\n          puVar3 = (&DAT_00089038)[(int)puVar7];\n          param_1 = (undefined4 *)((int)puVar7 + 1);\n          if ((((*(byte *)(puVar3 + 3) & 1) == 0) &&\n              ((undefined4 *)(uint)*(byte *)((int)puVar3 + 0xd) == puVar7)) &&\n             ((*(byte *)(puVar3 + 3) & 4) == 0)) break;\n          uVar10 = *puVar3;\n          uVar6 = dcgettext(0,"can\'t use register \'%s%s\' as operand %d in \'%s\'.",5);\n          FUN_0002bd60(uVar6,puVar4,uVar10,param_1,uVar5);\n          puVar7 = param_1;\n          if (DAT_00088ffc <= param_1) goto LAB_000424a2;\n        }\n        puVar7 = param_1;\n      } while (param_1 < DAT_00088ffc);" (do "do") (compound_statement "{\n        while( true ) {\n          uVar5 = DAT_00088fa0;\n          puVar4 = PTR_DAT_00080714;\n          puVar3 = (&DAT_00089038)[(int)puVar7];\n          param_1 = (undefined4 *)((int)puVar7 + 1);\n          if ((((*(byte *)(puVar3 + 3) & 1) == 0) &&\n              ((undefined4 *)(uint)*(byte *)((int)puVar3 + 0xd) == puVar7)) &&\n             ((*(byte *)(puVar3 + 3) & 4) == 0)) break;\n          uVar10 = *puVar3;\n          uVar6 = dcgettext(0,"can\'t use register \'%s%s\' as operand %d in \'%s\'.",5);\n          FUN_0002bd60(uVar6,puVar4,uVar10,param_1,uVar5);\n          puVar7 = param_1;\n          if (DAT_00088ffc <= param_1) goto LAB_000424a2;\n        }\n        puVar7 = param_1;\n      }" ({ "{") (while_statement "while( true ) {\n          uVar5 = DAT_00088fa0;\n          puVar4 = PTR_DAT_00080714;\n          puVar3 = (&DAT_00089038)[(int)puVar7];\n          param_1 = (undefined4 *)((int)puVar7 + 1);\n          if ((((*(byte *)(puVar3 + 3) & 1) == 0) &&\n              ((undefined4 *)(uint)*(byte *)((int)puVar3 + 0xd) == puVar7)) &&\n             ((*(byte *)(puVar3 + 3) & 4) == 0)) break;\n          uVar10 = *puVar3;\n          uVar6 = dcgettext(0,"can\'t use register \'%s%s\' as operand %d in \'%s\'.",5);\n          FUN_0002bd60(uVar6,puVar4,uVar10,param_1,uVar5);\n          puVar7 = param_1;\n          if (DAT_00088ffc <= param_1) goto LAB_000424a2;\n        }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n          uVar5 = DAT_00088fa0;\n          puVar4 = PTR_DAT_00080714;\n          puVar3 = (&DAT_00089038)[(int)puVar7];\n          param_1 = (undefined4 *)((int)puVar7 + 1);\n          if ((((*(byte *)(puVar3 + 3) & 1) == 0) &&\n              ((undefined4 *)(uint)*(byte *)((int)puVar3 + 0xd) == puVar7)) &&\n             ((*(byte *)(puVar3 + 3) & 4) == 0)) break;\n          uVar10 = *puVar3;\n          uVar6 = dcgettext(0,"can\'t use register \'%s%s\' as operand %d in \'%s\'.",5);\n          FUN_0002bd60(uVar6,puVar4,uVar10,param_1,uVar5);\n          puVar7 = param_1;\n          if (DAT_00088ffc <= param_1) goto LAB_000424a2;\n        }" ({ "{") (expression_statement "uVar5 = DAT_00088fa0;" (assignment_expression "uVar5 = DAT_00088fa0" (identifier "uVar5") (= "=") (identifier "DAT_00088fa0")) (; ";")) (expression_statement "puVar4 = PTR_DAT_00080714;" (assignment_expression "puVar4 = PTR_DAT_00080714" (identifier "puVar4") (= "=") (identifier "PTR_DAT_00080714")) (; ";")) (expression_statement "puVar3 = (&DAT_00089038)[(int)puVar7];" (assignment_expression "puVar3 = (&DAT_00089038)[(int)puVar7]" (identifier "puVar3") (= "=") (subscript_expression "(&DAT_00089038)[(int)puVar7]" (parenthesized_expression "(&DAT_00089038)" (( "(") (pointer_expression "&DAT_00089038" (& "&") (identifier "DAT_00089038")) () ")")) ([ "[") (cast_expression "(int)puVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar7")) (] "]"))) (; ";")) (expression_statement "param_1 = (undefined4 *)((int)puVar7 + 1);" (assignment_expression "param_1 = (undefined4 *)((int)puVar7 + 1)" (identifier "param_1") (= "=") (cast_expression "(undefined4 *)((int)puVar7 + 1)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar7 + 1)" (( "(") (binary_expression "(int)puVar7 + 1" (cast_expression "(int)puVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar7")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (if_statement "if ((((*(byte *)(puVar3 + 3) & 1) == 0) &&\n              ((undefined4 *)(uint)*(byte *)((int)puVar3 + 0xd) == puVar7)) &&\n             ((*(byte *)(puVar3 + 3) & 4) == 0)) break;" (if "if") (parenthesized_expression "((((*(byte *)(puVar3 + 3) & 1) == 0) &&\n              ((undefined4 *)(uint)*(byte *)((int)puVar3 + 0xd) == puVar7)) &&\n             ((*(byte *)(puVar3 + 3) & 4) == 0))" (( "(") (binary_expression "(((*(byte *)(puVar3 + 3) & 1) == 0) &&\n              ((undefined4 *)(uint)*(byte *)((int)puVar3 + 0xd) == puVar7)) &&\n             ((*(byte *)(puVar3 + 3) & 4) == 0)" (parenthesized_expression "(((*(byte *)(puVar3 + 3) & 1) == 0) &&\n              ((undefined4 *)(uint)*(byte *)((int)puVar3 + 0xd) == puVar7))" (( "(") (binary_expression "((*(byte *)(puVar3 + 3) & 1) == 0) &&\n              ((undefined4 *)(uint)*(byte *)((int)puVar3 + 0xd) == puVar7)" (parenthesized_expression "((*(byte *)(puVar3 + 3) & 1) == 0)" (( "(") (binary_expression "(*(byte *)(puVar3 + 3) & 1) == 0" (parenthesized_expression "(*(byte *)(puVar3 + 3) & 1)" (( "(") (binary_expression "*(byte *)(puVar3 + 3) & 1" (pointer_expression "*(byte *)(puVar3 + 3)" (* "*") (cast_expression "(byte *)(puVar3 + 3)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar3 + 3)" (( "(") (binary_expression "puVar3 + 3" (identifier "puVar3") (+ "+") (number_literal "3")) () ")")))) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "((undefined4 *)(uint)*(byte *)((int)puVar3 + 0xd) == puVar7)" (( "(") (binary_expression "(undefined4 *)(uint)*(byte *)((int)puVar3 + 0xd) == puVar7" (binary_expression "(undefined4 *)(uint)*(byte *)((int)puVar3 + 0xd)" (cast_expression "(undefined4 *)(uint)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")"))) (* "*") (cast_expression "(byte *)((int)puVar3 + 0xd)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar3 + 0xd)" (( "(") (binary_expression "(int)puVar3 + 0xd" (cast_expression "(int)puVar3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar3")) (+ "+") (number_literal "0xd")) () ")")))) (== "==") (identifier "puVar7")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((*(byte *)(puVar3 + 3) & 4) == 0)" (( "(") (binary_expression "(*(byte *)(puVar3 + 3) & 4) == 0" (parenthesized_expression "(*(byte *)(puVar3 + 3) & 4)" (( "(") (binary_expression "*(byte *)(puVar3 + 3) & 4" (pointer_expression "*(byte *)(puVar3 + 3)" (* "*") (cast_expression "(byte *)(puVar3 + 3)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar3 + 3)" (( "(") (binary_expression "puVar3 + 3" (identifier "puVar3") (+ "+") (number_literal "3")) () ")")))) (& "&") (number_literal "4")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "uVar10 = *puVar3;" (assignment_expression "uVar10 = *puVar3" (identifier "uVar10") (= "=") (pointer_expression "*puVar3" (* "*") (identifier "puVar3"))) (; ";")) (expression_statement "uVar6 = dcgettext(0,"can\'t use register \'%s%s\' as operand %d in \'%s\'.",5);" (assignment_expression "uVar6 = dcgettext(0,"can\'t use register \'%s%s\' as operand %d in \'%s\'.",5)" (identifier "uVar6") (= "=") (call_expression "dcgettext(0,"can\'t use register \'%s%s\' as operand %d in \'%s\'.",5)" (identifier "dcgettext") (argument_list "(0,"can\'t use register \'%s%s\' as operand %d in \'%s\'.",5)" (( "(") (number_literal "0") (, ",") (string_literal ""can\'t use register \'%s%s\' as operand %d in \'%s\'."" (" """) (string_content "can") (escape_sequence "\'") (string_content "t use register ") (escape_sequence "\'") (string_content "%s%s") (escape_sequence "\'") (string_content " as operand %d in ") (escape_sequence "\'") (string_content "%s") (escape_sequence "\'") (string_content ".") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_0002bd60(uVar6,puVar4,uVar10,param_1,uVar5);" (call_expression "FUN_0002bd60(uVar6,puVar4,uVar10,param_1,uVar5)" (identifier "FUN_0002bd60") (argument_list "(uVar6,puVar4,uVar10,param_1,uVar5)" (( "(") (identifier "uVar6") (, ",") (identifier "puVar4") (, ",") (identifier "uVar10") (, ",") (identifier "param_1") (, ",") (identifier "uVar5") () ")"))) (; ";")) (expression_statement "puVar7 = param_1;" (assignment_expression "puVar7 = param_1" (identifier "puVar7") (= "=") (identifier "param_1")) (; ";")) (if_statement "if (DAT_00088ffc <= param_1) goto LAB_000424a2;" (if "if") (parenthesized_expression "(DAT_00088ffc <= param_1)" (( "(") (binary_expression "DAT_00088ffc <= param_1" (identifier "DAT_00088ffc") (<= "<=") (identifier "param_1")) () ")")) (goto_statement "goto LAB_000424a2;" (goto "goto") (statement_identifier "LAB_000424a2") (; ";"))) (} "}"))) (expression_statement "puVar7 = param_1;" (assignment_expression "puVar7 = param_1" (identifier "puVar7") (= "=") (identifier "param_1")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(param_1 < DAT_00088ffc)" (( "(") (binary_expression "param_1 < DAT_00088ffc" (identifier "param_1") (< "<") (identifier "DAT_00088ffc")) () ")")) (; ";")) (labeled_statement "LAB_000424a2:\n      DAT_00088ffc = (undefined4 *)0x0;" (statement_identifier "LAB_000424a2") (: ":") (expression_statement "DAT_00088ffc = (undefined4 *)0x0;" (assignment_expression "DAT_00088ffc = (undefined4 *)0x0" (identifier "DAT_00088ffc") (= "=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";"))) (} "}"))) (if_statement "if ((DAT_00088fbe & 0x40) == 0) {\nLAB_000425f0:\n      if ((1 < DAT_0008900c) ||\n         ((uVar9 = DAT_0008900c, (undefined4 *)0x2 < DAT_00088ffc &&\n          (((param_1 = DAT_00088ffc, (DAT_00088fc8 & 0x38600) == 0 && (DAT_00088fc8._3_1_ == '\0'))\n           || ((undefined4 *)0x4 < DAT_00088ffc)))))) goto LAB_00042628;\n      goto LAB_000424cc;\n    }" (if "if") (parenthesized_expression "((DAT_00088fbe & 0x40) == 0)" (( "(") (binary_expression "(DAT_00088fbe & 0x40) == 0" (parenthesized_expression "(DAT_00088fbe & 0x40)" (( "(") (binary_expression "DAT_00088fbe & 0x40" (identifier "DAT_00088fbe") (& "&") (number_literal "0x40")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_000425f0:\n      if ((1 < DAT_0008900c) ||\n         ((uVar9 = DAT_0008900c, (undefined4 *)0x2 < DAT_00088ffc &&\n          (((param_1 = DAT_00088ffc, (DAT_00088fc8 & 0x38600) == 0 && (DAT_00088fc8._3_1_ == '\0'))\n           || ((undefined4 *)0x4 < DAT_00088ffc)))))) goto LAB_00042628;\n      goto LAB_000424cc;\n    }" ({ "{") (labeled_statement "LAB_000425f0:\n      if ((1 < DAT_0008900c) ||\n         ((uVar9 = DAT_0008900c, (undefined4 *)0x2 < DAT_00088ffc &&\n          (((param_1 = DAT_00088ffc, (DAT_00088fc8 & 0x38600) == 0 && (DAT_00088fc8._3_1_ == '\0'))\n           || ((undefined4 *)0x4 < DAT_00088ffc)))))) goto LAB_00042628;" (statement_identifier "LAB_000425f0") (: ":") (if_statement "if ((1 < DAT_0008900c) ||\n         ((uVar9 = DAT_0008900c, (undefined4 *)0x2 < DAT_00088ffc &&\n          (((param_1 = DAT_00088ffc, (DAT_00088fc8 & 0x38600) == 0 && (DAT_00088fc8._3_1_ == '\0'))\n           || ((undefined4 *)0x4 < DAT_00088ffc)))))) goto LAB_00042628;" (if "if") (parenthesized_expression "((1 < DAT_0008900c) ||\n         ((uVar9 = DAT_0008900c, (undefined4 *)0x2 < DAT_00088ffc &&\n          (((param_1 = DAT_00088ffc, (DAT_00088fc8 & 0x38600) == 0 && (DAT_00088fc8._3_1_ == '\0'))\n           || ((undefined4 *)0x4 < DAT_00088ffc))))))" (( "(") (binary_expression "(1 < DAT_0008900c) ||\n         ((uVar9 = DAT_0008900c, (undefined4 *)0x2 < DAT_00088ffc &&\n          (((param_1 = DAT_00088ffc, (DAT_00088fc8 & 0x38600) == 0 && (DAT_00088fc8._3_1_ == '\0'))\n           || ((undefined4 *)0x4 < DAT_00088ffc)))))" (parenthesized_expression "(1 < DAT_0008900c)" (( "(") (binary_expression "1 < DAT_0008900c" (number_literal "1") (< "<") (identifier "DAT_0008900c")) () ")")) (|| "||") (parenthesized_expression "((uVar9 = DAT_0008900c, (undefined4 *)0x2 < DAT_00088ffc &&\n          (((param_1 = DAT_00088ffc, (DAT_00088fc8 & 0x38600) == 0 && (DAT_00088fc8._3_1_ == '\0'))\n           || ((undefined4 *)0x4 < DAT_00088ffc)))))" (( "(") (parenthesized_expression "(uVar9 = DAT_0008900c, (undefined4 *)0x2 < DAT_00088ffc &&\n          (((param_1 = DAT_00088ffc, (DAT_00088fc8 & 0x38600) == 0 && (DAT_00088fc8._3_1_ == '\0'))\n           || ((undefined4 *)0x4 < DAT_00088ffc))))" (( "(") (comma_expression "uVar9 = DAT_0008900c, (undefined4 *)0x2 < DAT_00088ffc &&\n          (((param_1 = DAT_00088ffc, (DAT_00088fc8 & 0x38600) == 0 && (DAT_00088fc8._3_1_ == '\0'))\n           || ((undefined4 *)0x4 < DAT_00088ffc)))" (assignment_expression "uVar9 = DAT_0008900c" (identifier "uVar9") (= "=") (identifier "DAT_0008900c")) (, ",") (binary_expression "(undefined4 *)0x2 < DAT_00088ffc &&\n          (((param_1 = DAT_00088ffc, (DAT_00088fc8 & 0x38600) == 0 && (DAT_00088fc8._3_1_ == '\0'))\n           || ((undefined4 *)0x4 < DAT_00088ffc)))" (binary_expression "(undefined4 *)0x2 < DAT_00088ffc" (cast_expression "(undefined4 *)0x2" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x2")) (< "<") (identifier "DAT_00088ffc")) (&& "&&") (parenthesized_expression "(((param_1 = DAT_00088ffc, (DAT_00088fc8 & 0x38600) == 0 && (DAT_00088fc8._3_1_ == '\0'))\n           || ((undefined4 *)0x4 < DAT_00088ffc)))" (( "(") (parenthesized_expression "((param_1 = DAT_00088ffc, (DAT_00088fc8 & 0x38600) == 0 && (DAT_00088fc8._3_1_ == '\0'))\n           || ((undefined4 *)0x4 < DAT_00088ffc))" (( "(") (binary_expression "(param_1 = DAT_00088ffc, (DAT_00088fc8 & 0x38600) == 0 && (DAT_00088fc8._3_1_ == '\0'))\n           || ((undefined4 *)0x4 < DAT_00088ffc)" (parenthesized_expression "(param_1 = DAT_00088ffc, (DAT_00088fc8 & 0x38600) == 0 && (DAT_00088fc8._3_1_ == '\0'))" (( "(") (comma_expression "param_1 = DAT_00088ffc, (DAT_00088fc8 & 0x38600) == 0 && (DAT_00088fc8._3_1_ == '\0')" (assignment_expression "param_1 = DAT_00088ffc" (identifier "param_1") (= "=") (identifier "DAT_00088ffc")) (, ",") (binary_expression "(DAT_00088fc8 & 0x38600) == 0 && (DAT_00088fc8._3_1_ == '\0')" (binary_expression "(DAT_00088fc8 & 0x38600) == 0" (parenthesized_expression "(DAT_00088fc8 & 0x38600)" (( "(") (binary_expression "DAT_00088fc8 & 0x38600" (identifier "DAT_00088fc8") (& "&") (number_literal "0x38600")) () ")")) (== "==") (number_literal "0")) (&& "&&") (parenthesized_expression "(DAT_00088fc8._3_1_ == '\0')" (( "(") (binary_expression "DAT_00088fc8._3_1_ == '\0'" (field_expression "DAT_00088fc8._3_1_" (identifier "DAT_00088fc8") (. ".") (field_identifier "_3_1_")) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")))) () ")")) (|| "||") (parenthesized_expression "((undefined4 *)0x4 < DAT_00088ffc)" (( "(") (binary_expression "(undefined4 *)0x4 < DAT_00088ffc" (cast_expression "(undefined4 *)0x4" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x4")) (< "<") (identifier "DAT_00088ffc")) () ")"))) () ")")) () ")")))) () ")")) () ")"))) () ")")) (goto_statement "goto LAB_00042628;" (goto "goto") (statement_identifier "LAB_00042628") (; ";")))) (goto_statement "goto LAB_000424cc;" (goto "goto") (statement_identifier "LAB_000424cc") (; ";")) (} "}"))) (} "}")))) (labeled_statement "LAB_000424b7:\n  uVar9 = DAT_0008900c;" (statement_identifier "LAB_000424b7") (: ":") (expression_statement "uVar9 = DAT_0008900c;" (assignment_expression "uVar9 = DAT_0008900c" (identifier "uVar9") (= "=") (identifier "DAT_0008900c")) (; ";"))) (if_statement "if (1 < DAT_0008900c) {\nLAB_00042628:\n                    \n    FUN_0002be80("../../gas/config/tc-i386.c",0xe94,"process_immext",param_1);\n  }" (if "if") (parenthesized_expression "(1 < DAT_0008900c)" (( "(") (binary_expression "1 < DAT_0008900c" (number_literal "1") (< "<") (identifier "DAT_0008900c")) () ")")) (compound_statement "{\nLAB_00042628:\n                    \n    FUN_0002be80("../../gas/config/tc-i386.c",0xe94,"process_immext",param_1);\n  }" ({ "{") (labeled_statement "LAB_00042628:\n                    \n    FUN_0002be80("../../gas/config/tc-i386.c",0xe94,"process_immext",param_1);" (statement_identifier "LAB_00042628") (: ":") (expression_statement "FUN_0002be80("../../gas/config/tc-i386.c",0xe94,"process_immext",param_1);" (call_expression "FUN_0002be80("../../gas/config/tc-i386.c",0xe94,"process_immext",param_1)" (identifier "FUN_0002be80") (argument_list "("../../gas/config/tc-i386.c",0xe94,"process_immext",param_1)" (( "(") (string_literal ""../../gas/config/tc-i386.c"" (" """) (string_content "../../gas/config/tc-i386.c") (" """)) (, ",") (number_literal "0xe94") (, ",") (string_literal ""process_immext"" (" """) (string_content "process_immext") (" """)) (, ",") (identifier "param_1") () ")"))) (; ";"))) (} "}"))) (labeled_statement "LAB_000424cc:\n  DAT_0008900c = uVar9 + 1;" (statement_identifier "LAB_000424cc") (: ":") (expression_statement "DAT_0008900c = uVar9 + 1;" (assignment_expression "DAT_0008900c = uVar9 + 1" (identifier "DAT_0008900c") (= "=") (binary_expression "uVar9 + 1" (identifier "uVar9") (+ "+") (number_literal "1"))) (; ";"))) (expression_statement "iVar1 = (int)DAT_00088ffc + 0xe;" (assignment_expression "iVar1 = (int)DAT_00088ffc + 0xe" (identifier "iVar1") (= "=") (binary_expression "(int)DAT_00088ffc + 0xe" (cast_expression "(int)DAT_00088ffc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "DAT_00088ffc")) (+ "+") (number_literal "0xe"))) (; ";")) (expression_statement "(&DAT_00088fa0)[iVar1 * 2] = 0;" (assignment_expression "(&DAT_00088fa0)[iVar1 * 2] = 0" (subscript_expression "(&DAT_00088fa0)[iVar1 * 2]" (parenthesized_expression "(&DAT_00088fa0)" (( "(") (pointer_expression "&DAT_00088fa0" (& "&") (identifier "DAT_00088fa0")) () ")")) ([ "[") (binary_expression "iVar1 * 2" (identifier "iVar1") (* "*") (number_literal "2")) (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "(&DAT_00089038)[(int)DAT_00088ffc] = &DAT_00088f20 + uVar9 * 5;" (assignment_expression "(&DAT_00089038)[(int)DAT_00088ffc] = &DAT_00088f20 + uVar9 * 5" (subscript_expression "(&DAT_00089038)[(int)DAT_00088ffc]" (parenthesized_expression "(&DAT_00089038)" (( "(") (pointer_expression "&DAT_00089038" (& "&") (identifier "DAT_00089038")) () ")")) ([ "[") (cast_expression "(int)DAT_00088ffc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "DAT_00088ffc")) (] "]")) (= "=") (binary_expression "&DAT_00088f20 + uVar9 * 5" (pointer_expression "&DAT_00088f20" (& "&") (identifier "DAT_00088f20")) (+ "+") (binary_expression "uVar9 * 5" (identifier "uVar9") (* "*") (number_literal "5")))) (; ";")) (expression_statement "DAT_00088ffc = (undefined4 *)((int)DAT_00088ffc + 1);" (assignment_expression "DAT_00088ffc = (undefined4 *)((int)DAT_00088ffc + 1)" (identifier "DAT_00088ffc") (= "=") (cast_expression "(undefined4 *)((int)DAT_00088ffc + 1)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)DAT_00088ffc + 1)" (( "(") (binary_expression "(int)DAT_00088ffc + 1" (cast_expression "(int)DAT_00088ffc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "DAT_00088ffc")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "(&DAT_00088f30)[uVar9 * 0x14] = 2;" (assignment_expression "(&DAT_00088f30)[uVar9 * 0x14] = 2" (subscript_expression "(&DAT_00088f30)[uVar9 * 0x14]" (parenthesized_expression "(&DAT_00088f30)" (( "(") (pointer_expression "&DAT_00088f30" (& "&") (identifier "DAT_00088f30")) () ")")) ([ "[") (binary_expression "uVar9 * 0x14" (identifier "uVar9") (* "*") (number_literal "0x14")) (] "]")) (= "=") (number_literal "2")) (; ";")) (expression_statement "*(undefined4 *)(&DAT_00088fa4 + iVar1 * 8) = 0;" (assignment_expression "*(undefined4 *)(&DAT_00088fa4 + iVar1 * 8) = 0" (pointer_expression "*(undefined4 *)(&DAT_00088fa4 + iVar1 * 8)" (* "*") (cast_expression "(undefined4 *)(&DAT_00088fa4 + iVar1 * 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00088fa4 + iVar1 * 8)" (( "(") (binary_expression "&DAT_00088fa4 + iVar1 * 8" (pointer_expression "&DAT_00088fa4" (& "&") (identifier "DAT_00088fa4")) (+ "+") (binary_expression "iVar1 * 8" (identifier "iVar1") (* "*") (number_literal "8"))) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "pbVar2 = (byte *)((int)&DAT_00088fa0 + iVar1 * 8 + 1);" (assignment_expression "pbVar2 = (byte *)((int)&DAT_00088fa0 + iVar1 * 8 + 1)" (identifier "pbVar2") (= "=") (cast_expression "(byte *)((int)&DAT_00088fa0 + iVar1 * 8 + 1)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)&DAT_00088fa0 + iVar1 * 8 + 1)" (( "(") (binary_expression "(int)&DAT_00088fa0 + iVar1 * 8 + 1" (binary_expression "(int)&DAT_00088fa0 + iVar1 * 8" (cast_expression "(int)&DAT_00088fa0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "&DAT_00088fa0" (& "&") (identifier "DAT_00088fa0"))) (+ "+") (binary_expression "iVar1 * 8" (identifier "iVar1") (* "*") (number_literal "8"))) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "*pbVar2 = *pbVar2 | 4;" (assignment_expression "*pbVar2 = *pbVar2 | 4" (pointer_expression "*pbVar2" (* "*") (identifier "pbVar2")) (= "=") (binary_expression "*pbVar2 | 4" (pointer_expression "*pbVar2" (* "*") (identifier "pbVar2")) (| "|") (number_literal "4"))) (; ";")) (expression_statement "(&DAT_00088f28)[uVar9 * 5] = DAT_00088fac;" (assignment_expression "(&DAT_00088f28)[uVar9 * 5] = DAT_00088fac" (subscript_expression "(&DAT_00088f28)[uVar9 * 5]" (parenthesized_expression "(&DAT_00088f28)" (( "(") (pointer_expression "&DAT_00088f28" (& "&") (identifier "DAT_00088f28")) () ")")) ([ "[") (binary_expression "uVar9 * 5" (identifier "uVar9") (* "*") (number_literal "5")) (] "]")) (= "=") (identifier "DAT_00088fac")) (; ";")) (expression_statement "(&DAT_00088f2c)[uVar9 * 5] = 0;" (assignment_expression "(&DAT_00088f2c)[uVar9 * 5] = 0" (subscript_expression "(&DAT_00088f2c)[uVar9 * 5]" (parenthesized_expression "(&DAT_00088f2c)" (( "(") (pointer_expression "&DAT_00088f2c" (& "&") (identifier "DAT_00088f2c")) () ")")) ([ "[") (binary_expression "uVar9 * 5" (identifier "uVar9") (* "*") (number_literal "5")) (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_00088fac = 0xffff;" (assignment_expression "DAT_00088fac = 0xffff" (identifier "DAT_00088fac") (= "=") (number_literal "0xffff")) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Unknown calling convention -- yet parameter storage is locked */
/* WARNING: Enum "anon_enum_32": Some values do not have unique names */

void function_1(void)

{
  type_1 *pbVar1;
  type_2 *prVar2;
  type_3 *psVar3;
  char *pcVar4;
  char *pcVar5;
  type_4 var_4;
  char *format;
  type_5 iVar7;
  char *pcVar8;
  type_4 var_5;
  type_6 uVar10;
  
  pcVar5 = i.tm.name;
  pcVar4 = register_prefix;
  if ((i.tm.cpu_flags.array[0]._2_1_ & 0x28) == 0) {
    if ((i.tm.cpu_flags.array[2]._2_1_ & 0x40) == 0) goto LAB_000425f0;
    if (i.operands == 0) goto LAB_000424b7;
    if (i.operands != 3) {
                    /* WARNING: Subroutine does not return */
      var_1("../../gas/config/tc-i386.c",0xe74,"process_immext");
    }
    if ((((i.op[0].regs)->reg_flags & 1) == 0) &&
       (((i.op[0].regs)->reg_flags & 4) == 0 && (i.op[0].regs)->reg_num == '\0')) {
      if (((((i.op[1].regs)->reg_flags & 1) != 0) || ((i.op[1].regs)->reg_num != '\x01')) ||
         (((i.op[1].regs)->reg_flags & 4) != 0)) {
        uVar10 = 2;
        iVar7 = i.op[1];
        goto LAB_0004264d;
      }
      uVar10 = 3;
      iVar7 = i.op[2];
      if ((((i.op[2].regs)->reg_flags & 5) != 0) ||
         ((uchar)((i.tm.extension_opcode == 0xfb) + '\x02') != (i.op[2].regs)->reg_num))
      goto LAB_0004264d;
    }
    else {
      uVar10 = 1;
      iVar7 = i.op[0];
LAB_0004264d:
      psVar3 = (iVar7.disps)->X_add_symbol;
      pcVar8 = (char *)var_2(0,"can\'t use register \'%s%s\' as operand %d in \'%s\'.",5);
      var_3(pcVar8,pcVar4,psVar3,uVar10,pcVar5);
    }
    i.operands = 0;
  }
  else {
    if (i.operands != 0) {
      var_4 = 0;
      do {
        while( true ) {
          pcVar5 = i.tm.name;
          pcVar4 = register_prefix;
          prVar2 = i.op[var_4].regs;
          var_5 = var_4 + 1;
          if ((((prVar2->reg_flags & 1) == 0) && (prVar2->reg_num == var_4)) &&
             ((prVar2->reg_flags & 4) == 0)) break;
          pcVar8 = prVar2->reg_name;
          format = (char *)var_2(0,"can\'t use register \'%s%s\' as operand %d in \'%s\'.",5);
          var_3(format,pcVar4,pcVar8,var_5,pcVar5);
          var_4 = var_5;
          if (i.operands <= var_5) goto LAB_000424a2;
        }
        var_4 = var_5;
      } while (var_5 < i.operands);
LAB_000424a2:
      i.operands = 0;
    }
    if ((i.tm.cpu_flags.array[2]._2_1_ & 0x40) == 0) {
LAB_000425f0:
      if ((1 < i.imm_operands) ||
         ((var_4 = i.operands, var_5 = i.imm_operands, 2 < i.operands &&
          ((((i.tm.opcode_modifier._4_4_ & 0x38600) == 0 && (i.tm.opcode_modifier._7_1_ == '\0')) ||
           (4 < i.operands)))))) goto LAB_00042628;
      goto LAB_000424cc;
    }
  }
LAB_000424b7:
  var_4 = i.operands;
  var_5 = i.imm_operands;
  if (1 < i.imm_operands) {
LAB_00042628:
                    /* WARNING: Subroutine does not return */
    var_1("../../gas/config/tc-i386.c",0xe94,"process_immext");
  }
LAB_000424cc:
  i.imm_operands = var_5 + 1;
  i.types[var_4].array[0] = 0;
  i.op[var_4].disps = var_6 + var_5;
  i.operands = var_4 + 1;
  var_6[var_5].field_0x10 = 2;
  *(type_6 *)((int)i.types + var_4 * 8 + 4) = 0;
  pbVar1 = (type_1 *)((int)i.types + var_4 * 8 + 1);
  *pbVar1 = *pbVar1 | 4;
  *(type_4 *)&var_6[var_5].X_add_number = i.tm.extension_opcode;
  *(type_6 *)((int)&var_6[var_5].X_add_number + 4) = 0;
  i.tm.extension_opcode = 0xffff;
  return;
}


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

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

void __regparm3 MASKED(undefined4 *param_1,undefined4 param_2)

{
  int iVar1;
  byte *pbVar2;
  undefined4 *puVar3;
  undefined *puVar4;
  undefined4 uVar5;
  undefined4 uVar6;
  undefined4 *puVar7;
  undefined4 uVar8;
  uint uVar9;
  undefined4 uVar10;
  
  uVar5 = DAT_00088fa0;
  puVar4 = PTR_DAT_00080714;
  if ((DAT_00088fb6 & 0x28) == 0) {
    if ((DAT_00088fbe & 0x40) == 0) goto LAB_000425f0;
    if (DAT_00088ffc == (undefined4 *)0x0) goto LAB_000424b7;
    if (DAT_00088ffc != (undefined4 *)0x3) {
                    /* WARNING: Subroutine does not return */
      FUN_0002be80("../../gas/config/tc-i386.c",0xe74,"process_immext",param_2);
    }
    if (((*(byte *)(DAT_00089038 + 3) & 1) == 0) &&
       ((*(byte *)(DAT_00089038 + 3) & 4) == 0 && *(char *)((int)DAT_00089038 + 0xd) == '\0')) {
      if ((((*(byte *)(DAT_0008903c + 3) & 1) != 0) ||
          (*(char *)((int)DAT_0008903c + 0xd) != '\x01')) ||
         ((*(byte *)(DAT_0008903c + 3) & 4) != 0)) {
        uVar10 = 2;
        puVar7 = DAT_0008903c;
        goto LAB_0004264d;
      }
      uVar10 = 3;
      puVar7 = DAT_00089040;
      if (((*(byte *)(DAT_00089040 + 3) & 5) != 0) ||
         (param_1 = DAT_00089040,
         (char)((DAT_00088fac == 0xfb) + '\x02') != *(char *)((int)DAT_00089040 + 0xd)))
      goto LAB_0004264d;
    }
    else {
      uVar10 = 1;
      puVar7 = DAT_00089038;
LAB_0004264d:
      uVar6 = *puVar7;
      uVar8 = dcgettext(0,"can\'t use register \'%s%s\' as operand %d in \'%s\'.",5);
      param_1 = (undefined4 *)FUN_0002bd60(uVar8,puVar4,uVar6,uVar10,uVar5);
    }
    DAT_00088ffc = (undefined4 *)0x0;
  }
  else {
    if (DAT_00088ffc != (undefined4 *)0x0) {
      puVar7 = (undefined4 *)0x0;
      do {
        while( true ) {
          uVar5 = DAT_00088fa0;
          puVar4 = PTR_DAT_00080714;
          puVar3 = (&DAT_00089038)[(int)puVar7];
          param_1 = (undefined4 *)((int)puVar7 + 1);
          if ((((*(byte *)(puVar3 + 3) & 1) == 0) &&
              ((undefined4 *)(uint)*(byte *)((int)puVar3 + 0xd) == puVar7)) &&
             ((*(byte *)(puVar3 + 3) & 4) == 0)) break;
          uVar10 = *puVar3;
          uVar6 = dcgettext(0,"can\'t use register \'%s%s\' as operand %d in \'%s\'.",5);
          FUN_0002bd60(uVar6,puVar4,uVar10,param_1,uVar5);
          puVar7 = param_1;
          if (DAT_00088ffc <= param_1) goto LAB_000424a2;
        }
        puVar7 = param_1;
      } while (param_1 < DAT_00088ffc);
LAB_000424a2:
      DAT_00088ffc = (undefined4 *)0x0;
    }
    if ((DAT_00088fbe & 0x40) == 0) {
LAB_000425f0:
      if ((1 < DAT_0008900c) ||
         ((uVar9 = DAT_0008900c, (undefined4 *)0x2 < DAT_00088ffc &&
          (((param_1 = DAT_00088ffc, (DAT_00088fc8 & 0x38600) == 0 && (DAT_00088fc8._3_1_ == '\0'))
           || ((undefined4 *)0x4 < DAT_00088ffc)))))) goto LAB_00042628;
      goto LAB_000424cc;
    }
  }
LAB_000424b7:
  uVar9 = DAT_0008900c;
  if (1 < DAT_0008900c) {
LAB_00042628:
                    /* WARNING: Subroutine does not return */
    FUN_0002be80("../../gas/config/tc-i386.c",0xe94,"process_immext",param_1);
  }
LAB_000424cc:
  DAT_0008900c = uVar9 + 1;
  iVar1 = (int)DAT_00088ffc + 0xe;
  (&DAT_00088fa0)[iVar1 * 2] = 0;
  (&DAT_00089038)[(int)DAT_00088ffc] = &DAT_00088f20 + uVar9 * 5;
  DAT_00088ffc = (undefined4 *)((int)DAT_00088ffc + 1);
  (&DAT_00088f30)[uVar9 * 0x14] = 2;
  *(undefined4 *)(&DAT_00088fa4 + iVar1 * 8) = 0;
  pbVar2 = (byte *)((int)&DAT_00088fa0 + iVar1 * 8 + 1);
  *pbVar2 = *pbVar2 | 4;
  (&DAT_00088f28)[uVar9 * 5] = DAT_00088fac;
  (&DAT_00088f2c)[uVar9 * 5] = 0;
  DAT_00088fac = 0xffff;
  return;
}

