
void md_convert_frag(bfd *abfd,segT sec,fragS *fragP)

{
  byte bVar1;
  byte *pbVar2;
  long lVar3;
  long lVar4;
  addressT aVar5;
  valueT vVar6;
  char *pcVar7;
  uint uVar8;
  int n;
  byte *buf;
  long lVar9;
  
  pbVar2 = (byte *)fragP->fr_opcode;
  vVar6 = S_GET_VALUE(fragP->fr_symbol);
  uVar8 = fragP->fr_subtype;
  lVar3 = fragP->fr_offset;
  lVar4 = fragP->fr_fix;
  aVar5 = fragP->fr_address;
  if ((uVar8 & 2) == 0) {
    buf = pbVar2 + 1;
    lVar9 = 1;
  }
  else {
    if ((no_cond_jump_promotion != 0) && (uVar8 >> 2 != 0)) {
      pcVar7 = (char *)dcgettext(0,"long jump required",5);
      as_warn_where(fragP->fr_file,fragP->fr_line,pcVar7);
      uVar8 = fragP->fr_subtype;
    }
    switch((ulong)uVar8) {
    default:
      pcVar7 = (char *)dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);
                    /* WARNING: Subroutine does not return */
      as_fatal(pcVar7,(ulong)uVar8,0x26c9,"../../gas/config/tc-i386.c");
    case 2:
      *pbVar2 = 0xe9;
      lVar9 = 4;
      buf = pbVar2 + 1;
      uVar8 = fragP->fr_subtype;
      break;
    case 3:
      *pbVar2 = 0xe9;
      lVar9 = 2;
      buf = pbVar2 + 1;
      uVar8 = fragP->fr_subtype;
      break;
    case 6:
    case 10:
      bVar1 = *pbVar2;
      lVar9 = 5;
      *pbVar2 = 0xf;
      buf = pbVar2 + 2;
      pbVar2[1] = bVar1 + 0x10;
      uVar8 = fragP->fr_subtype;
      break;
    case 7:
      bVar1 = *pbVar2;
      lVar9 = 3;
      *pbVar2 = 0xf;
      buf = pbVar2 + 2;
      pbVar2[1] = bVar1 + 0x10;
      uVar8 = fragP->fr_subtype;
      break;
    case 0xb:
      *pbVar2 = *pbVar2 ^ 1;
      lVar9 = 4;
      buf = pbVar2 + 3;
      pbVar2[1] = 3;
      pbVar2[2] = 0xe9;
      uVar8 = fragP->fr_subtype;
    }
  }
  uVar8 = uVar8 & 3;
  vVar6 = (((vVar6 + lVar3) - lVar4) - aVar5) - lVar9;
  if (uVar8 == 2) {
    n = 4;
    if ((object_64bit == 0) || (vVar6 + 0x80000000 < 0x100000000)) goto LAB_001409b9;
    pcVar7 = (char *)dcgettext(0,"jump target out of range",5);
    as_bad_where(fragP->fr_file,fragP->fr_line,pcVar7);
    vVar6 = 0;
    uVar8 = fragP->fr_subtype & 3;
    if (uVar8 == 2) goto LAB_001409b9;
  }
  n = (uVar8 == 3) + 1;
LAB_001409b9:
  number_to_chars_littleendian((char *)buf,vVar6,n);
  fragP->fr_fix = fragP->fr_fix + lVar9;
  return;
}



void FUN_00140960(undefined8 param_1,undefined8 param_2,long *param_3)

{
  byte bVar1;
  byte *pbVar2;
  long lVar3;
  long lVar4;
  long lVar5;
  undefined8 uVar6;
  uint uVar7;
  char cVar8;
  long lVar9;
  byte *pbVar10;
  long lVar11;
  
  pbVar2 = (byte *)param_3[6];
  lVar5 = thunk_FUN_0012a990(param_3[5]);
  uVar7 = *(uint *)(param_3 + 0xc);
  lVar9 = param_3[4];
  lVar3 = param_3[2];
  lVar4 = *param_3;
  if ((uVar7 & 2) == 0) {
    pbVar10 = pbVar2 + 1;
    lVar11 = 1;
  }
  else {
    if ((DAT_001e3a9c != 0) && (uVar7 >> 2 != 0)) {
      uVar6 = dcgettext(0,"long jump required",5);
      FUN_0011d990(param_3[8],(int)param_3[9],uVar6);
      uVar7 = *(uint *)(param_3 + 0xc);
    }
    switch(uVar7) {
    default:
      uVar6 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);
                    /* WARNING: Subroutine does not return */
      FUN_0011dc10(uVar6,uVar7,0x26c9,"../../gas/config/tc-i386.c");
    case 2:
      *pbVar2 = 0xe9;
      lVar11 = 4;
      pbVar10 = pbVar2 + 1;
      uVar7 = *(uint *)(param_3 + 0xc);
      break;
    case 3:
      *pbVar2 = 0xe9;
      lVar11 = 2;
      pbVar10 = pbVar2 + 1;
      uVar7 = *(uint *)(param_3 + 0xc);
      break;
    case 6:
    case 10:
      bVar1 = *pbVar2;
      lVar11 = 5;
      *pbVar2 = 0xf;
      pbVar10 = pbVar2 + 2;
      pbVar2[1] = bVar1 + 0x10;
      uVar7 = *(uint *)(param_3 + 0xc);
      break;
    case 7:
      bVar1 = *pbVar2;
      lVar11 = 3;
      *pbVar2 = 0xf;
      pbVar10 = pbVar2 + 2;
      pbVar2[1] = bVar1 + 0x10;
      uVar7 = *(uint *)(param_3 + 0xc);
      break;
    case 0xb:
      *pbVar2 = *pbVar2 ^ 1;
      lVar11 = 4;
      pbVar10 = pbVar2 + 3;
      pbVar2[1] = 3;
      pbVar2[2] = 0xe9;
      uVar7 = *(uint *)(param_3 + 0xc);
    }
  }
  uVar7 = uVar7 & 3;
  lVar9 = (((lVar5 + lVar9) - lVar3) - lVar4) - lVar11;
  if (uVar7 == 2) {
    cVar8 = '\x04';
    if ((DAT_001e3b10 == 0) || (lVar9 + 0x80000000U < 0x100000000)) goto LAB_001409b9;
    uVar6 = dcgettext(0,"jump target out of range",5);
    FUN_0011db40(param_3[8],(int)param_3[9],uVar6);
    lVar9 = 0;
    uVar7 = *(uint *)(param_3 + 0xc) & 3;
    if (uVar7 == 2) goto LAB_001409b9;
  }
  cVar8 = (uVar7 == 3) + '\x01';
LAB_001409b9:
  FUN_00131030(pbVar10,lVar9,cVar8);
  param_3[2] = param_3[2] + lVar11;
  return;
}


PUSH R14
PUSH R13
PUSH R12
MOV R12,RDX
PUSH RBP
PUSH RBX
MOV RDI,qword ptr [RDX + 0x28]
MOV R13,qword ptr [RDX + 0x30]
CALL 0x0012ab30
MOV EDX,dword ptr [R12 + 0x60]
ADD RAX,qword ptr [R12 + 0x20]
MOV RSI,RAX
SUB RSI,qword ptr [R12 + 0x10]
SUB RSI,qword ptr [R12]
MOV RBP,RSI
TEST DL,0x2
JNZ 0x001409d8
ADD R13,0x1
MOV R14D,0x1
MOV RSI,RBP
AND EDX,0x3
SUB RSI,R14
CMP EDX,0x2
JZ 0x00140a10
XOR EBX,EBX
CMP EDX,0x3
SETZ BL
ADD EBX,0x1
MOV EDX,EBX
MOV RDI,R13
CALL 0x00131030
POP RBX
ADD qword ptr [R12 + 0x10],R14
POP RBP
POP R12
POP R13
POP R14
RET
MOV ECX,dword ptr [0x001e3a9c]
TEST ECX,ECX
JZ 0x001409ed
MOV EAX,EDX
SHR EAX,0x2
JNZ 0x00140b28
MOV EBX,EDX
CMP EDX,0xb
JA 0x00140b59
LEA RDX,[0x1532c4]
MOVSXD RAX,dword ptr [RDX + RBX*0x4]
ADD RAX,RDX
JMP RAX
MOV EAX,dword ptr [0x001e3b10]
MOV EBX,0x4
TEST EAX,EAX
JZ 0x001409b9
MOV EAX,0x80000000
MOV EDX,0xffffffff
ADD RAX,RSI
CMP RAX,RDX
JBE 0x001409b9
MOV EDX,0x5
LEA RSI,[0x1525b1]
XOR EDI,EDI
CALL 0x001081c0
MOV ESI,dword ptr [R12 + 0x48]
MOV RDI,qword ptr [R12 + 0x40]
MOV RDX,RAX
XOR EAX,EAX
CALL 0x0011db40
MOV EDX,dword ptr [R12 + 0x60]
XOR ESI,ESI
AND EDX,0x3
CMP EDX,0x2
JZ 0x001409b9
JMP 0x001409ae
MOV EDX,0xffffe903
XOR byte ptr [R13],0x1
MOV R14D,0x4
ADD R13,0x3
MOV word ptr [R13 + -0x2],DX
MOV EDX,dword ptr [R12 + 0x60]
JMP 0x001409a0
MOVZX EAX,byte ptr [R13]
MOV R14D,0x3
MOV byte ptr [R13],0xf
ADD R13,0x2
ADD EAX,0x10
MOV byte ptr [R13 + -0x1],AL
MOV EDX,dword ptr [R12 + 0x60]
JMP 0x001409a0
MOVZX EAX,byte ptr [R13]
MOV R14D,0x5
MOV byte ptr [R13],0xf
ADD R13,0x2
ADD EAX,0x10
MOV byte ptr [R13 + -0x1],AL
MOV EDX,dword ptr [R12 + 0x60]
JMP 0x001409a0
MOV byte ptr [R13],0xe9
MOV R14D,0x2
ADD R13,0x1
MOV EDX,dword ptr [R12 + 0x60]
JMP 0x001409a0
MOV byte ptr [R13],0xe9
MOV R14D,0x4
ADD R13,0x1
MOV EDX,dword ptr [R12 + 0x60]
JMP 0x001409a0
MOV EDX,0x5
LEA RSI,[0x15259e]
XOR EDI,EDI
CALL 0x001081c0
MOV ESI,dword ptr [R12 + 0x48]
MOV RDI,qword ptr [R12 + 0x40]
MOV RDX,RAX
XOR EAX,EAX
CALL 0x0011d990
MOV EDX,dword ptr [R12 + 0x60]
JMP 0x001409ed
MOV EDX,0x5
LEA RSI,[0x149098]
XOR EDI,EDI
CALL 0x001081c0
LEA RCX,[0x152046]
MOV EDX,0x26c9
MOV RSI,RBX
MOV RDI,RAX
XOR EAX,EAX
CALL 0x0011dc10
(translation_unit "void FUN_00140960(undefined8 param_1,undefined8 param_2,long *param_3)\n\n{\n  byte bVar1;\n  byte *pbVar2;\n  long lVar3;\n  long lVar4;\n  long lVar5;\n  undefined8 uVar6;\n  uint uVar7;\n  char cVar8;\n  long lVar9;\n  byte *pbVar10;\n  long lVar11;\n  \n  pbVar2 = (byte *)param_3[6];\n  lVar5 = thunk_FUN_0012a990(param_3[5]);\n  uVar7 = *(uint *)(param_3 + 0xc);\n  lVar9 = param_3[4];\n  lVar3 = param_3[2];\n  lVar4 = *param_3;\n  if ((uVar7 & 2) == 0) {\n    pbVar10 = pbVar2 + 1;\n    lVar11 = 1;\n  }\n  else {\n    if ((DAT_001e3a9c != 0) && (uVar7 >> 2 != 0)) {\n      uVar6 = dcgettext(0,"long jump required",5);\n      FUN_0011d990(param_3[8],(int)param_3[9],uVar6);\n      uVar7 = *(uint *)(param_3 + 0xc);\n    }\n    switch(uVar7) {\n    default:\n      uVar6 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);\n                    /* WARNING: Subroutine does not return */\n      FUN_0011dc10(uVar6,uVar7,0x26c9,"../../gas/config/tc-i386.c");\n    case 2:\n      *pbVar2 = 0xe9;\n      lVar11 = 4;\n      pbVar10 = pbVar2 + 1;\n      uVar7 = *(uint *)(param_3 + 0xc);\n      break;\n    case 3:\n      *pbVar2 = 0xe9;\n      lVar11 = 2;\n      pbVar10 = pbVar2 + 1;\n      uVar7 = *(uint *)(param_3 + 0xc);\n      break;\n    case 6:\n    case 10:\n      bVar1 = *pbVar2;\n      lVar11 = 5;\n      *pbVar2 = 0xf;\n      pbVar10 = pbVar2 + 2;\n      pbVar2[1] = bVar1 + 0x10;\n      uVar7 = *(uint *)(param_3 + 0xc);\n      break;\n    case 7:\n      bVar1 = *pbVar2;\n      lVar11 = 3;\n      *pbVar2 = 0xf;\n      pbVar10 = pbVar2 + 2;\n      pbVar2[1] = bVar1 + 0x10;\n      uVar7 = *(uint *)(param_3 + 0xc);\n      break;\n    case 0xb:\n      *pbVar2 = *pbVar2 ^ 1;\n      lVar11 = 4;\n      pbVar10 = pbVar2 + 3;\n      pbVar2[1] = 3;\n      pbVar2[2] = 0xe9;\n      uVar7 = *(uint *)(param_3 + 0xc);\n    }\n  }\n  uVar7 = uVar7 & 3;\n  lVar9 = (((lVar5 + lVar9) - lVar3) - lVar4) - lVar11;\n  if (uVar7 == 2) {\n    cVar8 = '\x04';\n    if ((DAT_001e3b10 == 0) || (lVar9 + 0x80000000U < 0x100000000)) goto LAB_001409b9;\n    uVar6 = dcgettext(0,"jump target out of range",5);\n    FUN_0011db40(param_3[8],(int)param_3[9],uVar6);\n    lVar9 = 0;\n    uVar7 = *(uint *)(param_3 + 0xc) & 3;\n    if (uVar7 == 2) goto LAB_001409b9;\n  }\n  cVar8 = (uVar7 == 3) + '\x01';\nLAB_001409b9:\n  FUN_00131030(pbVar10,lVar9,cVar8);\n  param_3[2] = param_3[2] + lVar11;\n  return;\n}\n\n" (function_definition "void FUN_00140960(undefined8 param_1,undefined8 param_2,long *param_3)\n\n{\n  byte bVar1;\n  byte *pbVar2;\n  long lVar3;\n  long lVar4;\n  long lVar5;\n  undefined8 uVar6;\n  uint uVar7;\n  char cVar8;\n  long lVar9;\n  byte *pbVar10;\n  long lVar11;\n  \n  pbVar2 = (byte *)param_3[6];\n  lVar5 = thunk_FUN_0012a990(param_3[5]);\n  uVar7 = *(uint *)(param_3 + 0xc);\n  lVar9 = param_3[4];\n  lVar3 = param_3[2];\n  lVar4 = *param_3;\n  if ((uVar7 & 2) == 0) {\n    pbVar10 = pbVar2 + 1;\n    lVar11 = 1;\n  }\n  else {\n    if ((DAT_001e3a9c != 0) && (uVar7 >> 2 != 0)) {\n      uVar6 = dcgettext(0,"long jump required",5);\n      FUN_0011d990(param_3[8],(int)param_3[9],uVar6);\n      uVar7 = *(uint *)(param_3 + 0xc);\n    }\n    switch(uVar7) {\n    default:\n      uVar6 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);\n                    /* WARNING: Subroutine does not return */\n      FUN_0011dc10(uVar6,uVar7,0x26c9,"../../gas/config/tc-i386.c");\n    case 2:\n      *pbVar2 = 0xe9;\n      lVar11 = 4;\n      pbVar10 = pbVar2 + 1;\n      uVar7 = *(uint *)(param_3 + 0xc);\n      break;\n    case 3:\n      *pbVar2 = 0xe9;\n      lVar11 = 2;\n      pbVar10 = pbVar2 + 1;\n      uVar7 = *(uint *)(param_3 + 0xc);\n      break;\n    case 6:\n    case 10:\n      bVar1 = *pbVar2;\n      lVar11 = 5;\n      *pbVar2 = 0xf;\n      pbVar10 = pbVar2 + 2;\n      pbVar2[1] = bVar1 + 0x10;\n      uVar7 = *(uint *)(param_3 + 0xc);\n      break;\n    case 7:\n      bVar1 = *pbVar2;\n      lVar11 = 3;\n      *pbVar2 = 0xf;\n      pbVar10 = pbVar2 + 2;\n      pbVar2[1] = bVar1 + 0x10;\n      uVar7 = *(uint *)(param_3 + 0xc);\n      break;\n    case 0xb:\n      *pbVar2 = *pbVar2 ^ 1;\n      lVar11 = 4;\n      pbVar10 = pbVar2 + 3;\n      pbVar2[1] = 3;\n      pbVar2[2] = 0xe9;\n      uVar7 = *(uint *)(param_3 + 0xc);\n    }\n  }\n  uVar7 = uVar7 & 3;\n  lVar9 = (((lVar5 + lVar9) - lVar3) - lVar4) - lVar11;\n  if (uVar7 == 2) {\n    cVar8 = '\x04';\n    if ((DAT_001e3b10 == 0) || (lVar9 + 0x80000000U < 0x100000000)) goto LAB_001409b9;\n    uVar6 = dcgettext(0,"jump target out of range",5);\n    FUN_0011db40(param_3[8],(int)param_3[9],uVar6);\n    lVar9 = 0;\n    uVar7 = *(uint *)(param_3 + 0xc) & 3;\n    if (uVar7 == 2) goto LAB_001409b9;\n  }\n  cVar8 = (uVar7 == 3) + '\x01';\nLAB_001409b9:\n  FUN_00131030(pbVar10,lVar9,cVar8);\n  param_3[2] = param_3[2] + lVar11;\n  return;\n}" primitive_type (function_declarator "FUN_00140960(undefined8 param_1,undefined8 param_2,long *param_3)" identifier (parameter_list "(undefined8 param_1,undefined8 param_2,long *param_3)" ( (parameter_declaration "undefined8 param_1" type_identifier identifier) , (parameter_declaration "undefined8 param_2" type_identifier identifier) , (parameter_declaration "long *param_3" (sized_type_specifier "long" long) (pointer_declarator "*param_3" * identifier)) ))) (compound_statement "{\n  byte bVar1;\n  byte *pbVar2;\n  long lVar3;\n  long lVar4;\n  long lVar5;\n  undefined8 uVar6;\n  uint uVar7;\n  char cVar8;\n  long lVar9;\n  byte *pbVar10;\n  long lVar11;\n  \n  pbVar2 = (byte *)param_3[6];\n  lVar5 = thunk_FUN_0012a990(param_3[5]);\n  uVar7 = *(uint *)(param_3 + 0xc);\n  lVar9 = param_3[4];\n  lVar3 = param_3[2];\n  lVar4 = *param_3;\n  if ((uVar7 & 2) == 0) {\n    pbVar10 = pbVar2 + 1;\n    lVar11 = 1;\n  }\n  else {\n    if ((DAT_001e3a9c != 0) && (uVar7 >> 2 != 0)) {\n      uVar6 = dcgettext(0,"long jump required",5);\n      FUN_0011d990(param_3[8],(int)param_3[9],uVar6);\n      uVar7 = *(uint *)(param_3 + 0xc);\n    }\n    switch(uVar7) {\n    default:\n      uVar6 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);\n                    /* WARNING: Subroutine does not return */\n      FUN_0011dc10(uVar6,uVar7,0x26c9,"../../gas/config/tc-i386.c");\n    case 2:\n      *pbVar2 = 0xe9;\n      lVar11 = 4;\n      pbVar10 = pbVar2 + 1;\n      uVar7 = *(uint *)(param_3 + 0xc);\n      break;\n    case 3:\n      *pbVar2 = 0xe9;\n      lVar11 = 2;\n      pbVar10 = pbVar2 + 1;\n      uVar7 = *(uint *)(param_3 + 0xc);\n      break;\n    case 6:\n    case 10:\n      bVar1 = *pbVar2;\n      lVar11 = 5;\n      *pbVar2 = 0xf;\n      pbVar10 = pbVar2 + 2;\n      pbVar2[1] = bVar1 + 0x10;\n      uVar7 = *(uint *)(param_3 + 0xc);\n      break;\n    case 7:\n      bVar1 = *pbVar2;\n      lVar11 = 3;\n      *pbVar2 = 0xf;\n      pbVar10 = pbVar2 + 2;\n      pbVar2[1] = bVar1 + 0x10;\n      uVar7 = *(uint *)(param_3 + 0xc);\n      break;\n    case 0xb:\n      *pbVar2 = *pbVar2 ^ 1;\n      lVar11 = 4;\n      pbVar10 = pbVar2 + 3;\n      pbVar2[1] = 3;\n      pbVar2[2] = 0xe9;\n      uVar7 = *(uint *)(param_3 + 0xc);\n    }\n  }\n  uVar7 = uVar7 & 3;\n  lVar9 = (((lVar5 + lVar9) - lVar3) - lVar4) - lVar11;\n  if (uVar7 == 2) {\n    cVar8 = '\x04';\n    if ((DAT_001e3b10 == 0) || (lVar9 + 0x80000000U < 0x100000000)) goto LAB_001409b9;\n    uVar6 = dcgettext(0,"jump target out of range",5);\n    FUN_0011db40(param_3[8],(int)param_3[9],uVar6);\n    lVar9 = 0;\n    uVar7 = *(uint *)(param_3 + 0xc) & 3;\n    if (uVar7 == 2) goto LAB_001409b9;\n  }\n  cVar8 = (uVar7 == 3) + '\x01';\nLAB_001409b9:\n  FUN_00131030(pbVar10,lVar9,cVar8);\n  param_3[2] = param_3[2] + lVar11;\n  return;\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "byte *pbVar2;" type_identifier (pointer_declarator "*pbVar2" * identifier) ;) (declaration "long lVar3;" (sized_type_specifier "long" long) identifier ;) (declaration "long lVar4;" (sized_type_specifier "long" long) identifier ;) (declaration "long lVar5;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined8 uVar6;" type_identifier identifier ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "char cVar8;" primitive_type identifier ;) (declaration "long lVar9;" (sized_type_specifier "long" long) identifier ;) (declaration "byte *pbVar10;" type_identifier (pointer_declarator "*pbVar10" * identifier) ;) (declaration "long lVar11;" (sized_type_specifier "long" long) identifier ;) (expression_statement "pbVar2 = (byte *)param_3[6];" (assignment_expression "pbVar2 = (byte *)param_3[6]" identifier = (cast_expression "(byte *)param_3[6]" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_3[6]" identifier [ number_literal ]))) ;) (expression_statement "lVar5 = thunk_FUN_0012a990(param_3[5]);" (assignment_expression "lVar5 = thunk_FUN_0012a990(param_3[5])" identifier = (call_expression "thunk_FUN_0012a990(param_3[5])" identifier (argument_list "(param_3[5])" ( (subscript_expression "param_3[5]" identifier [ number_literal ]) )))) ;) (expression_statement "uVar7 = *(uint *)(param_3 + 0xc);" (assignment_expression "uVar7 = *(uint *)(param_3 + 0xc)" identifier = (pointer_expression "*(uint *)(param_3 + 0xc)" * (cast_expression "(uint *)(param_3 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0xc)" ( (binary_expression "param_3 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "lVar9 = param_3[4];" (assignment_expression "lVar9 = param_3[4]" identifier = (subscript_expression "param_3[4]" identifier [ number_literal ])) ;) (expression_statement "lVar3 = param_3[2];" (assignment_expression "lVar3 = param_3[2]" identifier = (subscript_expression "param_3[2]" identifier [ number_literal ])) ;) (expression_statement "lVar4 = *param_3;" (assignment_expression "lVar4 = *param_3" identifier = (pointer_expression "*param_3" * identifier)) ;) (if_statement "if ((uVar7 & 2) == 0) {\n    pbVar10 = pbVar2 + 1;\n    lVar11 = 1;\n  }\n  else {\n    if ((DAT_001e3a9c != 0) && (uVar7 >> 2 != 0)) {\n      uVar6 = dcgettext(0,"long jump required",5);\n      FUN_0011d990(param_3[8],(int)param_3[9],uVar6);\n      uVar7 = *(uint *)(param_3 + 0xc);\n    }\n    switch(uVar7) {\n    default:\n      uVar6 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);\n                    /* WARNING: Subroutine does not return */\n      FUN_0011dc10(uVar6,uVar7,0x26c9,"../../gas/config/tc-i386.c");\n    case 2:\n      *pbVar2 = 0xe9;\n      lVar11 = 4;\n      pbVar10 = pbVar2 + 1;\n      uVar7 = *(uint *)(param_3 + 0xc);\n      break;\n    case 3:\n      *pbVar2 = 0xe9;\n      lVar11 = 2;\n      pbVar10 = pbVar2 + 1;\n      uVar7 = *(uint *)(param_3 + 0xc);\n      break;\n    case 6:\n    case 10:\n      bVar1 = *pbVar2;\n      lVar11 = 5;\n      *pbVar2 = 0xf;\n      pbVar10 = pbVar2 + 2;\n      pbVar2[1] = bVar1 + 0x10;\n      uVar7 = *(uint *)(param_3 + 0xc);\n      break;\n    case 7:\n      bVar1 = *pbVar2;\n      lVar11 = 3;\n      *pbVar2 = 0xf;\n      pbVar10 = pbVar2 + 2;\n      pbVar2[1] = bVar1 + 0x10;\n      uVar7 = *(uint *)(param_3 + 0xc);\n      break;\n    case 0xb:\n      *pbVar2 = *pbVar2 ^ 1;\n      lVar11 = 4;\n      pbVar10 = pbVar2 + 3;\n      pbVar2[1] = 3;\n      pbVar2[2] = 0xe9;\n      uVar7 = *(uint *)(param_3 + 0xc);\n    }\n  }" if (parenthesized_expression "((uVar7 & 2) == 0)" ( (binary_expression "(uVar7 & 2) == 0" (parenthesized_expression "(uVar7 & 2)" ( (binary_expression "uVar7 & 2" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n    pbVar10 = pbVar2 + 1;\n    lVar11 = 1;\n  }" { (expression_statement "pbVar10 = pbVar2 + 1;" (assignment_expression "pbVar10 = pbVar2 + 1" identifier = (binary_expression "pbVar2 + 1" identifier + number_literal)) ;) (expression_statement "lVar11 = 1;" (assignment_expression "lVar11 = 1" identifier = number_literal) ;) }) (else_clause "else {\n    if ((DAT_001e3a9c != 0) && (uVar7 >> 2 != 0)) {\n      uVar6 = dcgettext(0,"long jump required",5);\n      FUN_0011d990(param_3[8],(int)param_3[9],uVar6);\n      uVar7 = *(uint *)(param_3 + 0xc);\n    }\n    switch(uVar7) {\n    default:\n      uVar6 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);\n                    /* WARNING: Subroutine does not return */\n      FUN_0011dc10(uVar6,uVar7,0x26c9,"../../gas/config/tc-i386.c");\n    case 2:\n      *pbVar2 = 0xe9;\n      lVar11 = 4;\n      pbVar10 = pbVar2 + 1;\n      uVar7 = *(uint *)(param_3 + 0xc);\n      break;\n    case 3:\n      *pbVar2 = 0xe9;\n      lVar11 = 2;\n      pbVar10 = pbVar2 + 1;\n      uVar7 = *(uint *)(param_3 + 0xc);\n      break;\n    case 6:\n    case 10:\n      bVar1 = *pbVar2;\n      lVar11 = 5;\n      *pbVar2 = 0xf;\n      pbVar10 = pbVar2 + 2;\n      pbVar2[1] = bVar1 + 0x10;\n      uVar7 = *(uint *)(param_3 + 0xc);\n      break;\n    case 7:\n      bVar1 = *pbVar2;\n      lVar11 = 3;\n      *pbVar2 = 0xf;\n      pbVar10 = pbVar2 + 2;\n      pbVar2[1] = bVar1 + 0x10;\n      uVar7 = *(uint *)(param_3 + 0xc);\n      break;\n    case 0xb:\n      *pbVar2 = *pbVar2 ^ 1;\n      lVar11 = 4;\n      pbVar10 = pbVar2 + 3;\n      pbVar2[1] = 3;\n      pbVar2[2] = 0xe9;\n      uVar7 = *(uint *)(param_3 + 0xc);\n    }\n  }" else (compound_statement "{\n    if ((DAT_001e3a9c != 0) && (uVar7 >> 2 != 0)) {\n      uVar6 = dcgettext(0,"long jump required",5);\n      FUN_0011d990(param_3[8],(int)param_3[9],uVar6);\n      uVar7 = *(uint *)(param_3 + 0xc);\n    }\n    switch(uVar7) {\n    default:\n      uVar6 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);\n                    /* WARNING: Subroutine does not return */\n      FUN_0011dc10(uVar6,uVar7,0x26c9,"../../gas/config/tc-i386.c");\n    case 2:\n      *pbVar2 = 0xe9;\n      lVar11 = 4;\n      pbVar10 = pbVar2 + 1;\n      uVar7 = *(uint *)(param_3 + 0xc);\n      break;\n    case 3:\n      *pbVar2 = 0xe9;\n      lVar11 = 2;\n      pbVar10 = pbVar2 + 1;\n      uVar7 = *(uint *)(param_3 + 0xc);\n      break;\n    case 6:\n    case 10:\n      bVar1 = *pbVar2;\n      lVar11 = 5;\n      *pbVar2 = 0xf;\n      pbVar10 = pbVar2 + 2;\n      pbVar2[1] = bVar1 + 0x10;\n      uVar7 = *(uint *)(param_3 + 0xc);\n      break;\n    case 7:\n      bVar1 = *pbVar2;\n      lVar11 = 3;\n      *pbVar2 = 0xf;\n      pbVar10 = pbVar2 + 2;\n      pbVar2[1] = bVar1 + 0x10;\n      uVar7 = *(uint *)(param_3 + 0xc);\n      break;\n    case 0xb:\n      *pbVar2 = *pbVar2 ^ 1;\n      lVar11 = 4;\n      pbVar10 = pbVar2 + 3;\n      pbVar2[1] = 3;\n      pbVar2[2] = 0xe9;\n      uVar7 = *(uint *)(param_3 + 0xc);\n    }\n  }" { (if_statement "if ((DAT_001e3a9c != 0) && (uVar7 >> 2 != 0)) {\n      uVar6 = dcgettext(0,"long jump required",5);\n      FUN_0011d990(param_3[8],(int)param_3[9],uVar6);\n      uVar7 = *(uint *)(param_3 + 0xc);\n    }" if (parenthesized_expression "((DAT_001e3a9c != 0) && (uVar7 >> 2 != 0))" ( (binary_expression "(DAT_001e3a9c != 0) && (uVar7 >> 2 != 0)" (parenthesized_expression "(DAT_001e3a9c != 0)" ( (binary_expression "DAT_001e3a9c != 0" identifier != number_literal) )) && (parenthesized_expression "(uVar7 >> 2 != 0)" ( (binary_expression "uVar7 >> 2 != 0" (binary_expression "uVar7 >> 2" identifier >> number_literal) != number_literal) ))) )) (compound_statement "{\n      uVar6 = dcgettext(0,"long jump required",5);\n      FUN_0011d990(param_3[8],(int)param_3[9],uVar6);\n      uVar7 = *(uint *)(param_3 + 0xc);\n    }" { (expression_statement "uVar6 = dcgettext(0,"long jump required",5);" (assignment_expression "uVar6 = dcgettext(0,"long jump required",5)" identifier = (call_expression "dcgettext(0,"long jump required",5)" identifier (argument_list "(0,"long jump required",5)" ( number_literal , (string_literal ""long jump required"" " string_content ") , number_literal )))) ;) (expression_statement "FUN_0011d990(param_3[8],(int)param_3[9],uVar6);" (call_expression "FUN_0011d990(param_3[8],(int)param_3[9],uVar6)" identifier (argument_list "(param_3[8],(int)param_3[9],uVar6)" ( (subscript_expression "param_3[8]" identifier [ number_literal ]) , (cast_expression "(int)param_3[9]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "param_3[9]" identifier [ number_literal ])) , identifier ))) ;) (expression_statement "uVar7 = *(uint *)(param_3 + 0xc);" (assignment_expression "uVar7 = *(uint *)(param_3 + 0xc)" identifier = (pointer_expression "*(uint *)(param_3 + 0xc)" * (cast_expression "(uint *)(param_3 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0xc)" ( (binary_expression "param_3 + 0xc" identifier + number_literal) ))))) ;) })) (switch_statement "switch(uVar7) {\n    default:\n      uVar6 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);\n                    /* WARNING: Subroutine does not return */\n      FUN_0011dc10(uVar6,uVar7,0x26c9,"../../gas/config/tc-i386.c");\n    case 2:\n      *pbVar2 = 0xe9;\n      lVar11 = 4;\n      pbVar10 = pbVar2 + 1;\n      uVar7 = *(uint *)(param_3 + 0xc);\n      break;\n    case 3:\n      *pbVar2 = 0xe9;\n      lVar11 = 2;\n      pbVar10 = pbVar2 + 1;\n      uVar7 = *(uint *)(param_3 + 0xc);\n      break;\n    case 6:\n    case 10:\n      bVar1 = *pbVar2;\n      lVar11 = 5;\n      *pbVar2 = 0xf;\n      pbVar10 = pbVar2 + 2;\n      pbVar2[1] = bVar1 + 0x10;\n      uVar7 = *(uint *)(param_3 + 0xc);\n      break;\n    case 7:\n      bVar1 = *pbVar2;\n      lVar11 = 3;\n      *pbVar2 = 0xf;\n      pbVar10 = pbVar2 + 2;\n      pbVar2[1] = bVar1 + 0x10;\n      uVar7 = *(uint *)(param_3 + 0xc);\n      break;\n    case 0xb:\n      *pbVar2 = *pbVar2 ^ 1;\n      lVar11 = 4;\n      pbVar10 = pbVar2 + 3;\n      pbVar2[1] = 3;\n      pbVar2[2] = 0xe9;\n      uVar7 = *(uint *)(param_3 + 0xc);\n    }" switch (parenthesized_expression "(uVar7)" ( identifier )) (compound_statement "{\n    default:\n      uVar6 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);\n                    /* WARNING: Subroutine does not return */\n      FUN_0011dc10(uVar6,uVar7,0x26c9,"../../gas/config/tc-i386.c");\n    case 2:\n      *pbVar2 = 0xe9;\n      lVar11 = 4;\n      pbVar10 = pbVar2 + 1;\n      uVar7 = *(uint *)(param_3 + 0xc);\n      break;\n    case 3:\n      *pbVar2 = 0xe9;\n      lVar11 = 2;\n      pbVar10 = pbVar2 + 1;\n      uVar7 = *(uint *)(param_3 + 0xc);\n      break;\n    case 6:\n    case 10:\n      bVar1 = *pbVar2;\n      lVar11 = 5;\n      *pbVar2 = 0xf;\n      pbVar10 = pbVar2 + 2;\n      pbVar2[1] = bVar1 + 0x10;\n      uVar7 = *(uint *)(param_3 + 0xc);\n      break;\n    case 7:\n      bVar1 = *pbVar2;\n      lVar11 = 3;\n      *pbVar2 = 0xf;\n      pbVar10 = pbVar2 + 2;\n      pbVar2[1] = bVar1 + 0x10;\n      uVar7 = *(uint *)(param_3 + 0xc);\n      break;\n    case 0xb:\n      *pbVar2 = *pbVar2 ^ 1;\n      lVar11 = 4;\n      pbVar10 = pbVar2 + 3;\n      pbVar2[1] = 3;\n      pbVar2[2] = 0xe9;\n      uVar7 = *(uint *)(param_3 + 0xc);\n    }" { (case_statement "default:\n      uVar6 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);\n                    /* WARNING: Subroutine does not return */\n      FUN_0011dc10(uVar6,uVar7,0x26c9,"../../gas/config/tc-i386.c");" default : (expression_statement "uVar6 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);" (assignment_expression "uVar6 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5)" identifier = (call_expression "dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5)" identifier (argument_list "(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5)" ( number_literal , (string_literal ""Case value %ld unexpected at line %d of file \"%s\"\n"" " string_content escape_sequence string_content escape_sequence escape_sequence ") , number_literal )))) ;) comment (expression_statement "FUN_0011dc10(uVar6,uVar7,0x26c9,"../../gas/config/tc-i386.c");" (call_expression "FUN_0011dc10(uVar6,uVar7,0x26c9,"../../gas/config/tc-i386.c")" identifier (argument_list "(uVar6,uVar7,0x26c9,"../../gas/config/tc-i386.c")" ( identifier , identifier , number_literal , (string_literal ""../../gas/config/tc-i386.c"" " string_content ") ))) ;)) (case_statement "case 2:\n      *pbVar2 = 0xe9;\n      lVar11 = 4;\n      pbVar10 = pbVar2 + 1;\n      uVar7 = *(uint *)(param_3 + 0xc);\n      break;" case number_literal : (expression_statement "*pbVar2 = 0xe9;" (assignment_expression "*pbVar2 = 0xe9" (pointer_expression "*pbVar2" * identifier) = number_literal) ;) (expression_statement "lVar11 = 4;" (assignment_expression "lVar11 = 4" identifier = number_literal) ;) (expression_statement "pbVar10 = pbVar2 + 1;" (assignment_expression "pbVar10 = pbVar2 + 1" identifier = (binary_expression "pbVar2 + 1" identifier + number_literal)) ;) (expression_statement "uVar7 = *(uint *)(param_3 + 0xc);" (assignment_expression "uVar7 = *(uint *)(param_3 + 0xc)" identifier = (pointer_expression "*(uint *)(param_3 + 0xc)" * (cast_expression "(uint *)(param_3 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0xc)" ( (binary_expression "param_3 + 0xc" identifier + number_literal) ))))) ;) (break_statement "break;" break ;)) (case_statement "case 3:\n      *pbVar2 = 0xe9;\n      lVar11 = 2;\n      pbVar10 = pbVar2 + 1;\n      uVar7 = *(uint *)(param_3 + 0xc);\n      break;" case number_literal : (expression_statement "*pbVar2 = 0xe9;" (assignment_expression "*pbVar2 = 0xe9" (pointer_expression "*pbVar2" * identifier) = number_literal) ;) (expression_statement "lVar11 = 2;" (assignment_expression "lVar11 = 2" identifier = number_literal) ;) (expression_statement "pbVar10 = pbVar2 + 1;" (assignment_expression "pbVar10 = pbVar2 + 1" identifier = (binary_expression "pbVar2 + 1" identifier + number_literal)) ;) (expression_statement "uVar7 = *(uint *)(param_3 + 0xc);" (assignment_expression "uVar7 = *(uint *)(param_3 + 0xc)" identifier = (pointer_expression "*(uint *)(param_3 + 0xc)" * (cast_expression "(uint *)(param_3 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0xc)" ( (binary_expression "param_3 + 0xc" identifier + number_literal) ))))) ;) (break_statement "break;" break ;)) (case_statement "case 6:" case number_literal :) (case_statement "case 10:\n      bVar1 = *pbVar2;\n      lVar11 = 5;\n      *pbVar2 = 0xf;\n      pbVar10 = pbVar2 + 2;\n      pbVar2[1] = bVar1 + 0x10;\n      uVar7 = *(uint *)(param_3 + 0xc);\n      break;" case number_literal : (expression_statement "bVar1 = *pbVar2;" (assignment_expression "bVar1 = *pbVar2" identifier = (pointer_expression "*pbVar2" * identifier)) ;) (expression_statement "lVar11 = 5;" (assignment_expression "lVar11 = 5" identifier = number_literal) ;) (expression_statement "*pbVar2 = 0xf;" (assignment_expression "*pbVar2 = 0xf" (pointer_expression "*pbVar2" * identifier) = number_literal) ;) (expression_statement "pbVar10 = pbVar2 + 2;" (assignment_expression "pbVar10 = pbVar2 + 2" identifier = (binary_expression "pbVar2 + 2" identifier + number_literal)) ;) (expression_statement "pbVar2[1] = bVar1 + 0x10;" (assignment_expression "pbVar2[1] = bVar1 + 0x10" (subscript_expression "pbVar2[1]" identifier [ number_literal ]) = (binary_expression "bVar1 + 0x10" identifier + number_literal)) ;) (expression_statement "uVar7 = *(uint *)(param_3 + 0xc);" (assignment_expression "uVar7 = *(uint *)(param_3 + 0xc)" identifier = (pointer_expression "*(uint *)(param_3 + 0xc)" * (cast_expression "(uint *)(param_3 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0xc)" ( (binary_expression "param_3 + 0xc" identifier + number_literal) ))))) ;) (break_statement "break;" break ;)) (case_statement "case 7:\n      bVar1 = *pbVar2;\n      lVar11 = 3;\n      *pbVar2 = 0xf;\n      pbVar10 = pbVar2 + 2;\n      pbVar2[1] = bVar1 + 0x10;\n      uVar7 = *(uint *)(param_3 + 0xc);\n      break;" case number_literal : (expression_statement "bVar1 = *pbVar2;" (assignment_expression "bVar1 = *pbVar2" identifier = (pointer_expression "*pbVar2" * identifier)) ;) (expression_statement "lVar11 = 3;" (assignment_expression "lVar11 = 3" identifier = number_literal) ;) (expression_statement "*pbVar2 = 0xf;" (assignment_expression "*pbVar2 = 0xf" (pointer_expression "*pbVar2" * identifier) = number_literal) ;) (expression_statement "pbVar10 = pbVar2 + 2;" (assignment_expression "pbVar10 = pbVar2 + 2" identifier = (binary_expression "pbVar2 + 2" identifier + number_literal)) ;) (expression_statement "pbVar2[1] = bVar1 + 0x10;" (assignment_expression "pbVar2[1] = bVar1 + 0x10" (subscript_expression "pbVar2[1]" identifier [ number_literal ]) = (binary_expression "bVar1 + 0x10" identifier + number_literal)) ;) (expression_statement "uVar7 = *(uint *)(param_3 + 0xc);" (assignment_expression "uVar7 = *(uint *)(param_3 + 0xc)" identifier = (pointer_expression "*(uint *)(param_3 + 0xc)" * (cast_expression "(uint *)(param_3 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0xc)" ( (binary_expression "param_3 + 0xc" identifier + number_literal) ))))) ;) (break_statement "break;" break ;)) (case_statement "case 0xb:\n      *pbVar2 = *pbVar2 ^ 1;\n      lVar11 = 4;\n      pbVar10 = pbVar2 + 3;\n      pbVar2[1] = 3;\n      pbVar2[2] = 0xe9;\n      uVar7 = *(uint *)(param_3 + 0xc);" case number_literal : (expression_statement "*pbVar2 = *pbVar2 ^ 1;" (assignment_expression "*pbVar2 = *pbVar2 ^ 1" (pointer_expression "*pbVar2" * identifier) = (binary_expression "*pbVar2 ^ 1" (pointer_expression "*pbVar2" * identifier) ^ number_literal)) ;) (expression_statement "lVar11 = 4;" (assignment_expression "lVar11 = 4" identifier = number_literal) ;) (expression_statement "pbVar10 = pbVar2 + 3;" (assignment_expression "pbVar10 = pbVar2 + 3" identifier = (binary_expression "pbVar2 + 3" identifier + number_literal)) ;) (expression_statement "pbVar2[1] = 3;" (assignment_expression "pbVar2[1] = 3" (subscript_expression "pbVar2[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "pbVar2[2] = 0xe9;" (assignment_expression "pbVar2[2] = 0xe9" (subscript_expression "pbVar2[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "uVar7 = *(uint *)(param_3 + 0xc);" (assignment_expression "uVar7 = *(uint *)(param_3 + 0xc)" identifier = (pointer_expression "*(uint *)(param_3 + 0xc)" * (cast_expression "(uint *)(param_3 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0xc)" ( (binary_expression "param_3 + 0xc" identifier + number_literal) ))))) ;)) })) }))) (expression_statement "uVar7 = uVar7 & 3;" (assignment_expression "uVar7 = uVar7 & 3" identifier = (binary_expression "uVar7 & 3" identifier & number_literal)) ;) (expression_statement "lVar9 = (((lVar5 + lVar9) - lVar3) - lVar4) - lVar11;" (assignment_expression "lVar9 = (((lVar5 + lVar9) - lVar3) - lVar4) - lVar11" identifier = (binary_expression "(((lVar5 + lVar9) - lVar3) - lVar4) - lVar11" (parenthesized_expression "(((lVar5 + lVar9) - lVar3) - lVar4)" ( (binary_expression "((lVar5 + lVar9) - lVar3) - lVar4" (parenthesized_expression "((lVar5 + lVar9) - lVar3)" ( (binary_expression "(lVar5 + lVar9) - lVar3" (parenthesized_expression "(lVar5 + lVar9)" ( (binary_expression "lVar5 + lVar9" identifier + identifier) )) - identifier) )) - identifier) )) - identifier)) ;) (if_statement "if (uVar7 == 2) {\n    cVar8 = '\x04';\n    if ((DAT_001e3b10 == 0) || (lVar9 + 0x80000000U < 0x100000000)) goto LAB_001409b9;\n    uVar6 = dcgettext(0,"jump target out of range",5);\n    FUN_0011db40(param_3[8],(int)param_3[9],uVar6);\n    lVar9 = 0;\n    uVar7 = *(uint *)(param_3 + 0xc) & 3;\n    if (uVar7 == 2) goto LAB_001409b9;\n  }" if (parenthesized_expression "(uVar7 == 2)" ( (binary_expression "uVar7 == 2" identifier == number_literal) )) (compound_statement "{\n    cVar8 = '\x04';\n    if ((DAT_001e3b10 == 0) || (lVar9 + 0x80000000U < 0x100000000)) goto LAB_001409b9;\n    uVar6 = dcgettext(0,"jump target out of range",5);\n    FUN_0011db40(param_3[8],(int)param_3[9],uVar6);\n    lVar9 = 0;\n    uVar7 = *(uint *)(param_3 + 0xc) & 3;\n    if (uVar7 == 2) goto LAB_001409b9;\n  }" { (expression_statement "cVar8 = '\x04';" (assignment_expression "cVar8 = '\x04'" identifier = (char_literal "'\x04'" ' escape_sequence ')) ;) (if_statement "if ((DAT_001e3b10 == 0) || (lVar9 + 0x80000000U < 0x100000000)) goto LAB_001409b9;" if (parenthesized_expression "((DAT_001e3b10 == 0) || (lVar9 + 0x80000000U < 0x100000000))" ( (binary_expression "(DAT_001e3b10 == 0) || (lVar9 + 0x80000000U < 0x100000000)" (parenthesized_expression "(DAT_001e3b10 == 0)" ( (binary_expression "DAT_001e3b10 == 0" identifier == number_literal) )) || (parenthesized_expression "(lVar9 + 0x80000000U < 0x100000000)" ( (binary_expression "lVar9 + 0x80000000U < 0x100000000" (binary_expression "lVar9 + 0x80000000U" identifier + number_literal) < number_literal) ))) )) (goto_statement "goto LAB_001409b9;" goto statement_identifier ;)) (expression_statement "uVar6 = dcgettext(0,"jump target out of range",5);" (assignment_expression "uVar6 = dcgettext(0,"jump target out of range",5)" identifier = (call_expression "dcgettext(0,"jump target out of range",5)" identifier (argument_list "(0,"jump target out of range",5)" ( number_literal , (string_literal ""jump target out of range"" " string_content ") , number_literal )))) ;) (expression_statement "FUN_0011db40(param_3[8],(int)param_3[9],uVar6);" (call_expression "FUN_0011db40(param_3[8],(int)param_3[9],uVar6)" identifier (argument_list "(param_3[8],(int)param_3[9],uVar6)" ( (subscript_expression "param_3[8]" identifier [ number_literal ]) , (cast_expression "(int)param_3[9]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "param_3[9]" identifier [ number_literal ])) , identifier ))) ;) (expression_statement "lVar9 = 0;" (assignment_expression "lVar9 = 0" identifier = number_literal) ;) (expression_statement "uVar7 = *(uint *)(param_3 + 0xc) & 3;" (assignment_expression "uVar7 = *(uint *)(param_3 + 0xc) & 3" identifier = (binary_expression "*(uint *)(param_3 + 0xc) & 3" (pointer_expression "*(uint *)(param_3 + 0xc)" * (cast_expression "(uint *)(param_3 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0xc)" ( (binary_expression "param_3 + 0xc" identifier + number_literal) )))) & number_literal)) ;) (if_statement "if (uVar7 == 2) goto LAB_001409b9;" if (parenthesized_expression "(uVar7 == 2)" ( (binary_expression "uVar7 == 2" identifier == number_literal) )) (goto_statement "goto LAB_001409b9;" goto statement_identifier ;)) })) (expression_statement "cVar8 = (uVar7 == 3) + '\x01';" (assignment_expression "cVar8 = (uVar7 == 3) + '\x01'" identifier = (binary_expression "(uVar7 == 3) + '\x01'" (parenthesized_expression "(uVar7 == 3)" ( (binary_expression "uVar7 == 3" identifier == number_literal) )) + (char_literal "'\x01'" ' escape_sequence '))) ;) (labeled_statement "LAB_001409b9:\n  FUN_00131030(pbVar10,lVar9,cVar8);" statement_identifier : (expression_statement "FUN_00131030(pbVar10,lVar9,cVar8);" (call_expression "FUN_00131030(pbVar10,lVar9,cVar8)" identifier (argument_list "(pbVar10,lVar9,cVar8)" ( identifier , identifier , identifier ))) ;)) (expression_statement "param_3[2] = param_3[2] + lVar11;" (assignment_expression "param_3[2] = param_3[2] + lVar11" (subscript_expression "param_3[2]" identifier [ number_literal ]) = (binary_expression "param_3[2] + lVar11" (subscript_expression "param_3[2]" identifier [ number_literal ]) + identifier)) ;) (return_statement "return;" return ;) })))
(translation_unit "void md_convert_frag(bfd *abfd,segT sec,fragS *fragP)\n\n{\n  byte bVar1;\n  byte *pbVar2;\n  long lVar3;\n  long lVar4;\n  addressT aVar5;\n  valueT vVar6;\n  char *pcVar7;\n  uint uVar8;\n  int n;\n  byte *buf;\n  long lVar9;\n  \n  pbVar2 = (byte *)fragP->fr_opcode;\n  vVar6 = S_GET_VALUE(fragP->fr_symbol);\n  uVar8 = fragP->fr_subtype;\n  lVar3 = fragP->fr_offset;\n  lVar4 = fragP->fr_fix;\n  aVar5 = fragP->fr_address;\n  if ((uVar8 & 2) == 0) {\n    buf = pbVar2 + 1;\n    lVar9 = 1;\n  }\n  else {\n    if ((no_cond_jump_promotion != 0) && (uVar8 >> 2 != 0)) {\n      pcVar7 = (char *)dcgettext(0,"long jump required",5);\n      as_warn_where(fragP->fr_file,fragP->fr_line,pcVar7);\n      uVar8 = fragP->fr_subtype;\n    }\n    switch((ulong)uVar8) {\n    default:\n      pcVar7 = (char *)dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);\n                    /* WARNING: Subroutine does not return */\n      as_fatal(pcVar7,(ulong)uVar8,0x26c9,"../../gas/config/tc-i386.c");\n    case 2:\n      *pbVar2 = 0xe9;\n      lVar9 = 4;\n      buf = pbVar2 + 1;\n      uVar8 = fragP->fr_subtype;\n      break;\n    case 3:\n      *pbVar2 = 0xe9;\n      lVar9 = 2;\n      buf = pbVar2 + 1;\n      uVar8 = fragP->fr_subtype;\n      break;\n    case 6:\n    case 10:\n      bVar1 = *pbVar2;\n      lVar9 = 5;\n      *pbVar2 = 0xf;\n      buf = pbVar2 + 2;\n      pbVar2[1] = bVar1 + 0x10;\n      uVar8 = fragP->fr_subtype;\n      break;\n    case 7:\n      bVar1 = *pbVar2;\n      lVar9 = 3;\n      *pbVar2 = 0xf;\n      buf = pbVar2 + 2;\n      pbVar2[1] = bVar1 + 0x10;\n      uVar8 = fragP->fr_subtype;\n      break;\n    case 0xb:\n      *pbVar2 = *pbVar2 ^ 1;\n      lVar9 = 4;\n      buf = pbVar2 + 3;\n      pbVar2[1] = 3;\n      pbVar2[2] = 0xe9;\n      uVar8 = fragP->fr_subtype;\n    }\n  }\n  uVar8 = uVar8 & 3;\n  vVar6 = (((vVar6 + lVar3) - lVar4) - aVar5) - lVar9;\n  if (uVar8 == 2) {\n    n = 4;\n    if ((object_64bit == 0) || (vVar6 + 0x80000000 < 0x100000000)) goto LAB_001409b9;\n    pcVar7 = (char *)dcgettext(0,"jump target out of range",5);\n    as_bad_where(fragP->fr_file,fragP->fr_line,pcVar7);\n    vVar6 = 0;\n    uVar8 = fragP->fr_subtype & 3;\n    if (uVar8 == 2) goto LAB_001409b9;\n  }\n  n = (uVar8 == 3) + 1;\nLAB_001409b9:\n  number_to_chars_littleendian((char *)buf,vVar6,n);\n  fragP->fr_fix = fragP->fr_fix + lVar9;\n  return;\n}\n\n" (function_definition "void md_convert_frag(bfd *abfd,segT sec,fragS *fragP)\n\n{\n  byte bVar1;\n  byte *pbVar2;\n  long lVar3;\n  long lVar4;\n  addressT aVar5;\n  valueT vVar6;\n  char *pcVar7;\n  uint uVar8;\n  int n;\n  byte *buf;\n  long lVar9;\n  \n  pbVar2 = (byte *)fragP->fr_opcode;\n  vVar6 = S_GET_VALUE(fragP->fr_symbol);\n  uVar8 = fragP->fr_subtype;\n  lVar3 = fragP->fr_offset;\n  lVar4 = fragP->fr_fix;\n  aVar5 = fragP->fr_address;\n  if ((uVar8 & 2) == 0) {\n    buf = pbVar2 + 1;\n    lVar9 = 1;\n  }\n  else {\n    if ((no_cond_jump_promotion != 0) && (uVar8 >> 2 != 0)) {\n      pcVar7 = (char *)dcgettext(0,"long jump required",5);\n      as_warn_where(fragP->fr_file,fragP->fr_line,pcVar7);\n      uVar8 = fragP->fr_subtype;\n    }\n    switch((ulong)uVar8) {\n    default:\n      pcVar7 = (char *)dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);\n                    /* WARNING: Subroutine does not return */\n      as_fatal(pcVar7,(ulong)uVar8,0x26c9,"../../gas/config/tc-i386.c");\n    case 2:\n      *pbVar2 = 0xe9;\n      lVar9 = 4;\n      buf = pbVar2 + 1;\n      uVar8 = fragP->fr_subtype;\n      break;\n    case 3:\n      *pbVar2 = 0xe9;\n      lVar9 = 2;\n      buf = pbVar2 + 1;\n      uVar8 = fragP->fr_subtype;\n      break;\n    case 6:\n    case 10:\n      bVar1 = *pbVar2;\n      lVar9 = 5;\n      *pbVar2 = 0xf;\n      buf = pbVar2 + 2;\n      pbVar2[1] = bVar1 + 0x10;\n      uVar8 = fragP->fr_subtype;\n      break;\n    case 7:\n      bVar1 = *pbVar2;\n      lVar9 = 3;\n      *pbVar2 = 0xf;\n      buf = pbVar2 + 2;\n      pbVar2[1] = bVar1 + 0x10;\n      uVar8 = fragP->fr_subtype;\n      break;\n    case 0xb:\n      *pbVar2 = *pbVar2 ^ 1;\n      lVar9 = 4;\n      buf = pbVar2 + 3;\n      pbVar2[1] = 3;\n      pbVar2[2] = 0xe9;\n      uVar8 = fragP->fr_subtype;\n    }\n  }\n  uVar8 = uVar8 & 3;\n  vVar6 = (((vVar6 + lVar3) - lVar4) - aVar5) - lVar9;\n  if (uVar8 == 2) {\n    n = 4;\n    if ((object_64bit == 0) || (vVar6 + 0x80000000 < 0x100000000)) goto LAB_001409b9;\n    pcVar7 = (char *)dcgettext(0,"jump target out of range",5);\n    as_bad_where(fragP->fr_file,fragP->fr_line,pcVar7);\n    vVar6 = 0;\n    uVar8 = fragP->fr_subtype & 3;\n    if (uVar8 == 2) goto LAB_001409b9;\n  }\n  n = (uVar8 == 3) + 1;\nLAB_001409b9:\n  number_to_chars_littleendian((char *)buf,vVar6,n);\n  fragP->fr_fix = fragP->fr_fix + lVar9;\n  return;\n}" primitive_type (function_declarator "md_convert_frag(bfd *abfd,segT sec,fragS *fragP)" identifier (parameter_list "(bfd *abfd,segT sec,fragS *fragP)" ( (parameter_declaration "bfd *abfd" type_identifier (pointer_declarator "*abfd" * identifier)) , (parameter_declaration "segT sec" type_identifier identifier) , (parameter_declaration "fragS *fragP" type_identifier (pointer_declarator "*fragP" * identifier)) ))) (compound_statement "{\n  byte bVar1;\n  byte *pbVar2;\n  long lVar3;\n  long lVar4;\n  addressT aVar5;\n  valueT vVar6;\n  char *pcVar7;\n  uint uVar8;\n  int n;\n  byte *buf;\n  long lVar9;\n  \n  pbVar2 = (byte *)fragP->fr_opcode;\n  vVar6 = S_GET_VALUE(fragP->fr_symbol);\n  uVar8 = fragP->fr_subtype;\n  lVar3 = fragP->fr_offset;\n  lVar4 = fragP->fr_fix;\n  aVar5 = fragP->fr_address;\n  if ((uVar8 & 2) == 0) {\n    buf = pbVar2 + 1;\n    lVar9 = 1;\n  }\n  else {\n    if ((no_cond_jump_promotion != 0) && (uVar8 >> 2 != 0)) {\n      pcVar7 = (char *)dcgettext(0,"long jump required",5);\n      as_warn_where(fragP->fr_file,fragP->fr_line,pcVar7);\n      uVar8 = fragP->fr_subtype;\n    }\n    switch((ulong)uVar8) {\n    default:\n      pcVar7 = (char *)dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);\n                    /* WARNING: Subroutine does not return */\n      as_fatal(pcVar7,(ulong)uVar8,0x26c9,"../../gas/config/tc-i386.c");\n    case 2:\n      *pbVar2 = 0xe9;\n      lVar9 = 4;\n      buf = pbVar2 + 1;\n      uVar8 = fragP->fr_subtype;\n      break;\n    case 3:\n      *pbVar2 = 0xe9;\n      lVar9 = 2;\n      buf = pbVar2 + 1;\n      uVar8 = fragP->fr_subtype;\n      break;\n    case 6:\n    case 10:\n      bVar1 = *pbVar2;\n      lVar9 = 5;\n      *pbVar2 = 0xf;\n      buf = pbVar2 + 2;\n      pbVar2[1] = bVar1 + 0x10;\n      uVar8 = fragP->fr_subtype;\n      break;\n    case 7:\n      bVar1 = *pbVar2;\n      lVar9 = 3;\n      *pbVar2 = 0xf;\n      buf = pbVar2 + 2;\n      pbVar2[1] = bVar1 + 0x10;\n      uVar8 = fragP->fr_subtype;\n      break;\n    case 0xb:\n      *pbVar2 = *pbVar2 ^ 1;\n      lVar9 = 4;\n      buf = pbVar2 + 3;\n      pbVar2[1] = 3;\n      pbVar2[2] = 0xe9;\n      uVar8 = fragP->fr_subtype;\n    }\n  }\n  uVar8 = uVar8 & 3;\n  vVar6 = (((vVar6 + lVar3) - lVar4) - aVar5) - lVar9;\n  if (uVar8 == 2) {\n    n = 4;\n    if ((object_64bit == 0) || (vVar6 + 0x80000000 < 0x100000000)) goto LAB_001409b9;\n    pcVar7 = (char *)dcgettext(0,"jump target out of range",5);\n    as_bad_where(fragP->fr_file,fragP->fr_line,pcVar7);\n    vVar6 = 0;\n    uVar8 = fragP->fr_subtype & 3;\n    if (uVar8 == 2) goto LAB_001409b9;\n  }\n  n = (uVar8 == 3) + 1;\nLAB_001409b9:\n  number_to_chars_littleendian((char *)buf,vVar6,n);\n  fragP->fr_fix = fragP->fr_fix + lVar9;\n  return;\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "byte *pbVar2;" type_identifier (pointer_declarator "*pbVar2" * identifier) ;) (declaration "long lVar3;" (sized_type_specifier "long" long) identifier ;) (declaration "long lVar4;" (sized_type_specifier "long" long) identifier ;) (declaration "addressT aVar5;" type_identifier identifier ;) (declaration "valueT vVar6;" type_identifier identifier ;) (declaration "char *pcVar7;" primitive_type (pointer_declarator "*pcVar7" * identifier) ;) (declaration "uint uVar8;" type_identifier identifier ;) (declaration "int n;" primitive_type identifier ;) (declaration "byte *buf;" type_identifier (pointer_declarator "*buf" * identifier) ;) (declaration "long lVar9;" (sized_type_specifier "long" long) identifier ;) (expression_statement "pbVar2 = (byte *)fragP->fr_opcode;" (assignment_expression "pbVar2 = (byte *)fragP->fr_opcode" identifier = (cast_expression "(byte *)fragP->fr_opcode" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "fragP->fr_opcode" identifier -> field_identifier))) ;) (expression_statement "vVar6 = S_GET_VALUE(fragP->fr_symbol);" (assignment_expression "vVar6 = S_GET_VALUE(fragP->fr_symbol)" identifier = (call_expression "S_GET_VALUE(fragP->fr_symbol)" identifier (argument_list "(fragP->fr_symbol)" ( (field_expression "fragP->fr_symbol" identifier -> field_identifier) )))) ;) (expression_statement "uVar8 = fragP->fr_subtype;" (assignment_expression "uVar8 = fragP->fr_subtype" identifier = (field_expression "fragP->fr_subtype" identifier -> field_identifier)) ;) (expression_statement "lVar3 = fragP->fr_offset;" (assignment_expression "lVar3 = fragP->fr_offset" identifier = (field_expression "fragP->fr_offset" identifier -> field_identifier)) ;) (expression_statement "lVar4 = fragP->fr_fix;" (assignment_expression "lVar4 = fragP->fr_fix" identifier = (field_expression "fragP->fr_fix" identifier -> field_identifier)) ;) (expression_statement "aVar5 = fragP->fr_address;" (assignment_expression "aVar5 = fragP->fr_address" identifier = (field_expression "fragP->fr_address" identifier -> field_identifier)) ;) (if_statement "if ((uVar8 & 2) == 0) {\n    buf = pbVar2 + 1;\n    lVar9 = 1;\n  }\n  else {\n    if ((no_cond_jump_promotion != 0) && (uVar8 >> 2 != 0)) {\n      pcVar7 = (char *)dcgettext(0,"long jump required",5);\n      as_warn_where(fragP->fr_file,fragP->fr_line,pcVar7);\n      uVar8 = fragP->fr_subtype;\n    }\n    switch((ulong)uVar8) {\n    default:\n      pcVar7 = (char *)dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);\n                    /* WARNING: Subroutine does not return */\n      as_fatal(pcVar7,(ulong)uVar8,0x26c9,"../../gas/config/tc-i386.c");\n    case 2:\n      *pbVar2 = 0xe9;\n      lVar9 = 4;\n      buf = pbVar2 + 1;\n      uVar8 = fragP->fr_subtype;\n      break;\n    case 3:\n      *pbVar2 = 0xe9;\n      lVar9 = 2;\n      buf = pbVar2 + 1;\n      uVar8 = fragP->fr_subtype;\n      break;\n    case 6:\n    case 10:\n      bVar1 = *pbVar2;\n      lVar9 = 5;\n      *pbVar2 = 0xf;\n      buf = pbVar2 + 2;\n      pbVar2[1] = bVar1 + 0x10;\n      uVar8 = fragP->fr_subtype;\n      break;\n    case 7:\n      bVar1 = *pbVar2;\n      lVar9 = 3;\n      *pbVar2 = 0xf;\n      buf = pbVar2 + 2;\n      pbVar2[1] = bVar1 + 0x10;\n      uVar8 = fragP->fr_subtype;\n      break;\n    case 0xb:\n      *pbVar2 = *pbVar2 ^ 1;\n      lVar9 = 4;\n      buf = pbVar2 + 3;\n      pbVar2[1] = 3;\n      pbVar2[2] = 0xe9;\n      uVar8 = fragP->fr_subtype;\n    }\n  }" if (parenthesized_expression "((uVar8 & 2) == 0)" ( (binary_expression "(uVar8 & 2) == 0" (parenthesized_expression "(uVar8 & 2)" ( (binary_expression "uVar8 & 2" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n    buf = pbVar2 + 1;\n    lVar9 = 1;\n  }" { (expression_statement "buf = pbVar2 + 1;" (assignment_expression "buf = pbVar2 + 1" identifier = (binary_expression "pbVar2 + 1" identifier + number_literal)) ;) (expression_statement "lVar9 = 1;" (assignment_expression "lVar9 = 1" identifier = number_literal) ;) }) (else_clause "else {\n    if ((no_cond_jump_promotion != 0) && (uVar8 >> 2 != 0)) {\n      pcVar7 = (char *)dcgettext(0,"long jump required",5);\n      as_warn_where(fragP->fr_file,fragP->fr_line,pcVar7);\n      uVar8 = fragP->fr_subtype;\n    }\n    switch((ulong)uVar8) {\n    default:\n      pcVar7 = (char *)dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);\n                    /* WARNING: Subroutine does not return */\n      as_fatal(pcVar7,(ulong)uVar8,0x26c9,"../../gas/config/tc-i386.c");\n    case 2:\n      *pbVar2 = 0xe9;\n      lVar9 = 4;\n      buf = pbVar2 + 1;\n      uVar8 = fragP->fr_subtype;\n      break;\n    case 3:\n      *pbVar2 = 0xe9;\n      lVar9 = 2;\n      buf = pbVar2 + 1;\n      uVar8 = fragP->fr_subtype;\n      break;\n    case 6:\n    case 10:\n      bVar1 = *pbVar2;\n      lVar9 = 5;\n      *pbVar2 = 0xf;\n      buf = pbVar2 + 2;\n      pbVar2[1] = bVar1 + 0x10;\n      uVar8 = fragP->fr_subtype;\n      break;\n    case 7:\n      bVar1 = *pbVar2;\n      lVar9 = 3;\n      *pbVar2 = 0xf;\n      buf = pbVar2 + 2;\n      pbVar2[1] = bVar1 + 0x10;\n      uVar8 = fragP->fr_subtype;\n      break;\n    case 0xb:\n      *pbVar2 = *pbVar2 ^ 1;\n      lVar9 = 4;\n      buf = pbVar2 + 3;\n      pbVar2[1] = 3;\n      pbVar2[2] = 0xe9;\n      uVar8 = fragP->fr_subtype;\n    }\n  }" else (compound_statement "{\n    if ((no_cond_jump_promotion != 0) && (uVar8 >> 2 != 0)) {\n      pcVar7 = (char *)dcgettext(0,"long jump required",5);\n      as_warn_where(fragP->fr_file,fragP->fr_line,pcVar7);\n      uVar8 = fragP->fr_subtype;\n    }\n    switch((ulong)uVar8) {\n    default:\n      pcVar7 = (char *)dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);\n                    /* WARNING: Subroutine does not return */\n      as_fatal(pcVar7,(ulong)uVar8,0x26c9,"../../gas/config/tc-i386.c");\n    case 2:\n      *pbVar2 = 0xe9;\n      lVar9 = 4;\n      buf = pbVar2 + 1;\n      uVar8 = fragP->fr_subtype;\n      break;\n    case 3:\n      *pbVar2 = 0xe9;\n      lVar9 = 2;\n      buf = pbVar2 + 1;\n      uVar8 = fragP->fr_subtype;\n      break;\n    case 6:\n    case 10:\n      bVar1 = *pbVar2;\n      lVar9 = 5;\n      *pbVar2 = 0xf;\n      buf = pbVar2 + 2;\n      pbVar2[1] = bVar1 + 0x10;\n      uVar8 = fragP->fr_subtype;\n      break;\n    case 7:\n      bVar1 = *pbVar2;\n      lVar9 = 3;\n      *pbVar2 = 0xf;\n      buf = pbVar2 + 2;\n      pbVar2[1] = bVar1 + 0x10;\n      uVar8 = fragP->fr_subtype;\n      break;\n    case 0xb:\n      *pbVar2 = *pbVar2 ^ 1;\n      lVar9 = 4;\n      buf = pbVar2 + 3;\n      pbVar2[1] = 3;\n      pbVar2[2] = 0xe9;\n      uVar8 = fragP->fr_subtype;\n    }\n  }" { (if_statement "if ((no_cond_jump_promotion != 0) && (uVar8 >> 2 != 0)) {\n      pcVar7 = (char *)dcgettext(0,"long jump required",5);\n      as_warn_where(fragP->fr_file,fragP->fr_line,pcVar7);\n      uVar8 = fragP->fr_subtype;\n    }" if (parenthesized_expression "((no_cond_jump_promotion != 0) && (uVar8 >> 2 != 0))" ( (binary_expression "(no_cond_jump_promotion != 0) && (uVar8 >> 2 != 0)" (parenthesized_expression "(no_cond_jump_promotion != 0)" ( (binary_expression "no_cond_jump_promotion != 0" identifier != number_literal) )) && (parenthesized_expression "(uVar8 >> 2 != 0)" ( (binary_expression "uVar8 >> 2 != 0" (binary_expression "uVar8 >> 2" identifier >> number_literal) != number_literal) ))) )) (compound_statement "{\n      pcVar7 = (char *)dcgettext(0,"long jump required",5);\n      as_warn_where(fragP->fr_file,fragP->fr_line,pcVar7);\n      uVar8 = fragP->fr_subtype;\n    }" { (expression_statement "pcVar7 = (char *)dcgettext(0,"long jump required",5);" (assignment_expression "pcVar7 = (char *)dcgettext(0,"long jump required",5)" identifier = (cast_expression "(char *)dcgettext(0,"long jump required",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"long jump required",5)" identifier (argument_list "(0,"long jump required",5)" ( number_literal , (string_literal ""long jump required"" " string_content ") , number_literal ))))) ;) (expression_statement "as_warn_where(fragP->fr_file,fragP->fr_line,pcVar7);" (call_expression "as_warn_where(fragP->fr_file,fragP->fr_line,pcVar7)" identifier (argument_list "(fragP->fr_file,fragP->fr_line,pcVar7)" ( (field_expression "fragP->fr_file" identifier -> field_identifier) , (field_expression "fragP->fr_line" identifier -> field_identifier) , identifier ))) ;) (expression_statement "uVar8 = fragP->fr_subtype;" (assignment_expression "uVar8 = fragP->fr_subtype" identifier = (field_expression "fragP->fr_subtype" identifier -> field_identifier)) ;) })) (switch_statement "switch((ulong)uVar8) {\n    default:\n      pcVar7 = (char *)dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);\n                    /* WARNING: Subroutine does not return */\n      as_fatal(pcVar7,(ulong)uVar8,0x26c9,"../../gas/config/tc-i386.c");\n    case 2:\n      *pbVar2 = 0xe9;\n      lVar9 = 4;\n      buf = pbVar2 + 1;\n      uVar8 = fragP->fr_subtype;\n      break;\n    case 3:\n      *pbVar2 = 0xe9;\n      lVar9 = 2;\n      buf = pbVar2 + 1;\n      uVar8 = fragP->fr_subtype;\n      break;\n    case 6:\n    case 10:\n      bVar1 = *pbVar2;\n      lVar9 = 5;\n      *pbVar2 = 0xf;\n      buf = pbVar2 + 2;\n      pbVar2[1] = bVar1 + 0x10;\n      uVar8 = fragP->fr_subtype;\n      break;\n    case 7:\n      bVar1 = *pbVar2;\n      lVar9 = 3;\n      *pbVar2 = 0xf;\n      buf = pbVar2 + 2;\n      pbVar2[1] = bVar1 + 0x10;\n      uVar8 = fragP->fr_subtype;\n      break;\n    case 0xb:\n      *pbVar2 = *pbVar2 ^ 1;\n      lVar9 = 4;\n      buf = pbVar2 + 3;\n      pbVar2[1] = 3;\n      pbVar2[2] = 0xe9;\n      uVar8 = fragP->fr_subtype;\n    }" switch (parenthesized_expression "((ulong)uVar8)" ( (cast_expression "(ulong)uVar8" ( (type_descriptor "ulong" type_identifier) ) identifier) )) (compound_statement "{\n    default:\n      pcVar7 = (char *)dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);\n                    /* WARNING: Subroutine does not return */\n      as_fatal(pcVar7,(ulong)uVar8,0x26c9,"../../gas/config/tc-i386.c");\n    case 2:\n      *pbVar2 = 0xe9;\n      lVar9 = 4;\n      buf = pbVar2 + 1;\n      uVar8 = fragP->fr_subtype;\n      break;\n    case 3:\n      *pbVar2 = 0xe9;\n      lVar9 = 2;\n      buf = pbVar2 + 1;\n      uVar8 = fragP->fr_subtype;\n      break;\n    case 6:\n    case 10:\n      bVar1 = *pbVar2;\n      lVar9 = 5;\n      *pbVar2 = 0xf;\n      buf = pbVar2 + 2;\n      pbVar2[1] = bVar1 + 0x10;\n      uVar8 = fragP->fr_subtype;\n      break;\n    case 7:\n      bVar1 = *pbVar2;\n      lVar9 = 3;\n      *pbVar2 = 0xf;\n      buf = pbVar2 + 2;\n      pbVar2[1] = bVar1 + 0x10;\n      uVar8 = fragP->fr_subtype;\n      break;\n    case 0xb:\n      *pbVar2 = *pbVar2 ^ 1;\n      lVar9 = 4;\n      buf = pbVar2 + 3;\n      pbVar2[1] = 3;\n      pbVar2[2] = 0xe9;\n      uVar8 = fragP->fr_subtype;\n    }" { (case_statement "default:\n      pcVar7 = (char *)dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);\n                    /* WARNING: Subroutine does not return */\n      as_fatal(pcVar7,(ulong)uVar8,0x26c9,"../../gas/config/tc-i386.c");" default : (expression_statement "pcVar7 = (char *)dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);" (assignment_expression "pcVar7 = (char *)dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5)" identifier (argument_list "(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5)" ( number_literal , (string_literal ""Case value %ld unexpected at line %d of file \"%s\"\n"" " string_content escape_sequence string_content escape_sequence escape_sequence ") , number_literal ))))) ;) comment (expression_statement "as_fatal(pcVar7,(ulong)uVar8,0x26c9,"../../gas/config/tc-i386.c");" (call_expression "as_fatal(pcVar7,(ulong)uVar8,0x26c9,"../../gas/config/tc-i386.c")" identifier (argument_list "(pcVar7,(ulong)uVar8,0x26c9,"../../gas/config/tc-i386.c")" ( identifier , (cast_expression "(ulong)uVar8" ( (type_descriptor "ulong" type_identifier) ) identifier) , number_literal , (string_literal ""../../gas/config/tc-i386.c"" " string_content ") ))) ;)) (case_statement "case 2:\n      *pbVar2 = 0xe9;\n      lVar9 = 4;\n      buf = pbVar2 + 1;\n      uVar8 = fragP->fr_subtype;\n      break;" case number_literal : (expression_statement "*pbVar2 = 0xe9;" (assignment_expression "*pbVar2 = 0xe9" (pointer_expression "*pbVar2" * identifier) = number_literal) ;) (expression_statement "lVar9 = 4;" (assignment_expression "lVar9 = 4" identifier = number_literal) ;) (expression_statement "buf = pbVar2 + 1;" (assignment_expression "buf = pbVar2 + 1" identifier = (binary_expression "pbVar2 + 1" identifier + number_literal)) ;) (expression_statement "uVar8 = fragP->fr_subtype;" (assignment_expression "uVar8 = fragP->fr_subtype" identifier = (field_expression "fragP->fr_subtype" identifier -> field_identifier)) ;) (break_statement "break;" break ;)) (case_statement "case 3:\n      *pbVar2 = 0xe9;\n      lVar9 = 2;\n      buf = pbVar2 + 1;\n      uVar8 = fragP->fr_subtype;\n      break;" case number_literal : (expression_statement "*pbVar2 = 0xe9;" (assignment_expression "*pbVar2 = 0xe9" (pointer_expression "*pbVar2" * identifier) = number_literal) ;) (expression_statement "lVar9 = 2;" (assignment_expression "lVar9 = 2" identifier = number_literal) ;) (expression_statement "buf = pbVar2 + 1;" (assignment_expression "buf = pbVar2 + 1" identifier = (binary_expression "pbVar2 + 1" identifier + number_literal)) ;) (expression_statement "uVar8 = fragP->fr_subtype;" (assignment_expression "uVar8 = fragP->fr_subtype" identifier = (field_expression "fragP->fr_subtype" identifier -> field_identifier)) ;) (break_statement "break;" break ;)) (case_statement "case 6:" case number_literal :) (case_statement "case 10:\n      bVar1 = *pbVar2;\n      lVar9 = 5;\n      *pbVar2 = 0xf;\n      buf = pbVar2 + 2;\n      pbVar2[1] = bVar1 + 0x10;\n      uVar8 = fragP->fr_subtype;\n      break;" case number_literal : (expression_statement "bVar1 = *pbVar2;" (assignment_expression "bVar1 = *pbVar2" identifier = (pointer_expression "*pbVar2" * identifier)) ;) (expression_statement "lVar9 = 5;" (assignment_expression "lVar9 = 5" identifier = number_literal) ;) (expression_statement "*pbVar2 = 0xf;" (assignment_expression "*pbVar2 = 0xf" (pointer_expression "*pbVar2" * identifier) = number_literal) ;) (expression_statement "buf = pbVar2 + 2;" (assignment_expression "buf = pbVar2 + 2" identifier = (binary_expression "pbVar2 + 2" identifier + number_literal)) ;) (expression_statement "pbVar2[1] = bVar1 + 0x10;" (assignment_expression "pbVar2[1] = bVar1 + 0x10" (subscript_expression "pbVar2[1]" identifier [ number_literal ]) = (binary_expression "bVar1 + 0x10" identifier + number_literal)) ;) (expression_statement "uVar8 = fragP->fr_subtype;" (assignment_expression "uVar8 = fragP->fr_subtype" identifier = (field_expression "fragP->fr_subtype" identifier -> field_identifier)) ;) (break_statement "break;" break ;)) (case_statement "case 7:\n      bVar1 = *pbVar2;\n      lVar9 = 3;\n      *pbVar2 = 0xf;\n      buf = pbVar2 + 2;\n      pbVar2[1] = bVar1 + 0x10;\n      uVar8 = fragP->fr_subtype;\n      break;" case number_literal : (expression_statement "bVar1 = *pbVar2;" (assignment_expression "bVar1 = *pbVar2" identifier = (pointer_expression "*pbVar2" * identifier)) ;) (expression_statement "lVar9 = 3;" (assignment_expression "lVar9 = 3" identifier = number_literal) ;) (expression_statement "*pbVar2 = 0xf;" (assignment_expression "*pbVar2 = 0xf" (pointer_expression "*pbVar2" * identifier) = number_literal) ;) (expression_statement "buf = pbVar2 + 2;" (assignment_expression "buf = pbVar2 + 2" identifier = (binary_expression "pbVar2 + 2" identifier + number_literal)) ;) (expression_statement "pbVar2[1] = bVar1 + 0x10;" (assignment_expression "pbVar2[1] = bVar1 + 0x10" (subscript_expression "pbVar2[1]" identifier [ number_literal ]) = (binary_expression "bVar1 + 0x10" identifier + number_literal)) ;) (expression_statement "uVar8 = fragP->fr_subtype;" (assignment_expression "uVar8 = fragP->fr_subtype" identifier = (field_expression "fragP->fr_subtype" identifier -> field_identifier)) ;) (break_statement "break;" break ;)) (case_statement "case 0xb:\n      *pbVar2 = *pbVar2 ^ 1;\n      lVar9 = 4;\n      buf = pbVar2 + 3;\n      pbVar2[1] = 3;\n      pbVar2[2] = 0xe9;\n      uVar8 = fragP->fr_subtype;" case number_literal : (expression_statement "*pbVar2 = *pbVar2 ^ 1;" (assignment_expression "*pbVar2 = *pbVar2 ^ 1" (pointer_expression "*pbVar2" * identifier) = (binary_expression "*pbVar2 ^ 1" (pointer_expression "*pbVar2" * identifier) ^ number_literal)) ;) (expression_statement "lVar9 = 4;" (assignment_expression "lVar9 = 4" identifier = number_literal) ;) (expression_statement "buf = pbVar2 + 3;" (assignment_expression "buf = pbVar2 + 3" identifier = (binary_expression "pbVar2 + 3" identifier + number_literal)) ;) (expression_statement "pbVar2[1] = 3;" (assignment_expression "pbVar2[1] = 3" (subscript_expression "pbVar2[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "pbVar2[2] = 0xe9;" (assignment_expression "pbVar2[2] = 0xe9" (subscript_expression "pbVar2[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "uVar8 = fragP->fr_subtype;" (assignment_expression "uVar8 = fragP->fr_subtype" identifier = (field_expression "fragP->fr_subtype" identifier -> field_identifier)) ;)) })) }))) (expression_statement "uVar8 = uVar8 & 3;" (assignment_expression "uVar8 = uVar8 & 3" identifier = (binary_expression "uVar8 & 3" identifier & number_literal)) ;) (expression_statement "vVar6 = (((vVar6 + lVar3) - lVar4) - aVar5) - lVar9;" (assignment_expression "vVar6 = (((vVar6 + lVar3) - lVar4) - aVar5) - lVar9" identifier = (binary_expression "(((vVar6 + lVar3) - lVar4) - aVar5) - lVar9" (parenthesized_expression "(((vVar6 + lVar3) - lVar4) - aVar5)" ( (binary_expression "((vVar6 + lVar3) - lVar4) - aVar5" (parenthesized_expression "((vVar6 + lVar3) - lVar4)" ( (binary_expression "(vVar6 + lVar3) - lVar4" (parenthesized_expression "(vVar6 + lVar3)" ( (binary_expression "vVar6 + lVar3" identifier + identifier) )) - identifier) )) - identifier) )) - identifier)) ;) (if_statement "if (uVar8 == 2) {\n    n = 4;\n    if ((object_64bit == 0) || (vVar6 + 0x80000000 < 0x100000000)) goto LAB_001409b9;\n    pcVar7 = (char *)dcgettext(0,"jump target out of range",5);\n    as_bad_where(fragP->fr_file,fragP->fr_line,pcVar7);\n    vVar6 = 0;\n    uVar8 = fragP->fr_subtype & 3;\n    if (uVar8 == 2) goto LAB_001409b9;\n  }" if (parenthesized_expression "(uVar8 == 2)" ( (binary_expression "uVar8 == 2" identifier == number_literal) )) (compound_statement "{\n    n = 4;\n    if ((object_64bit == 0) || (vVar6 + 0x80000000 < 0x100000000)) goto LAB_001409b9;\n    pcVar7 = (char *)dcgettext(0,"jump target out of range",5);\n    as_bad_where(fragP->fr_file,fragP->fr_line,pcVar7);\n    vVar6 = 0;\n    uVar8 = fragP->fr_subtype & 3;\n    if (uVar8 == 2) goto LAB_001409b9;\n  }" { (expression_statement "n = 4;" (assignment_expression "n = 4" identifier = number_literal) ;) (if_statement "if ((object_64bit == 0) || (vVar6 + 0x80000000 < 0x100000000)) goto LAB_001409b9;" if (parenthesized_expression "((object_64bit == 0) || (vVar6 + 0x80000000 < 0x100000000))" ( (binary_expression "(object_64bit == 0) || (vVar6 + 0x80000000 < 0x100000000)" (parenthesized_expression "(object_64bit == 0)" ( (binary_expression "object_64bit == 0" identifier == number_literal) )) || (parenthesized_expression "(vVar6 + 0x80000000 < 0x100000000)" ( (binary_expression "vVar6 + 0x80000000 < 0x100000000" (binary_expression "vVar6 + 0x80000000" identifier + number_literal) < number_literal) ))) )) (goto_statement "goto LAB_001409b9;" goto statement_identifier ;)) (expression_statement "pcVar7 = (char *)dcgettext(0,"jump target out of range",5);" (assignment_expression "pcVar7 = (char *)dcgettext(0,"jump target out of range",5)" identifier = (cast_expression "(char *)dcgettext(0,"jump target out of range",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"jump target out of range",5)" identifier (argument_list "(0,"jump target out of range",5)" ( number_literal , (string_literal ""jump target out of range"" " string_content ") , number_literal ))))) ;) (expression_statement "as_bad_where(fragP->fr_file,fragP->fr_line,pcVar7);" (call_expression "as_bad_where(fragP->fr_file,fragP->fr_line,pcVar7)" identifier (argument_list "(fragP->fr_file,fragP->fr_line,pcVar7)" ( (field_expression "fragP->fr_file" identifier -> field_identifier) , (field_expression "fragP->fr_line" identifier -> field_identifier) , identifier ))) ;) (expression_statement "vVar6 = 0;" (assignment_expression "vVar6 = 0" identifier = number_literal) ;) (expression_statement "uVar8 = fragP->fr_subtype & 3;" (assignment_expression "uVar8 = fragP->fr_subtype & 3" identifier = (binary_expression "fragP->fr_subtype & 3" (field_expression "fragP->fr_subtype" identifier -> field_identifier) & number_literal)) ;) (if_statement "if (uVar8 == 2) goto LAB_001409b9;" if (parenthesized_expression "(uVar8 == 2)" ( (binary_expression "uVar8 == 2" identifier == number_literal) )) (goto_statement "goto LAB_001409b9;" goto statement_identifier ;)) })) (expression_statement "n = (uVar8 == 3) + 1;" (assignment_expression "n = (uVar8 == 3) + 1" identifier = (binary_expression "(uVar8 == 3) + 1" (parenthesized_expression "(uVar8 == 3)" ( (binary_expression "uVar8 == 3" identifier == number_literal) )) + number_literal)) ;) (labeled_statement "LAB_001409b9:\n  number_to_chars_littleendian((char *)buf,vVar6,n);" statement_identifier : (expression_statement "number_to_chars_littleendian((char *)buf,vVar6,n);" (call_expression "number_to_chars_littleendian((char *)buf,vVar6,n)" identifier (argument_list "((char *)buf,vVar6,n)" ( (cast_expression "(char *)buf" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , identifier , identifier ))) ;)) (expression_statement "fragP->fr_fix = fragP->fr_fix + lVar9;" (assignment_expression "fragP->fr_fix = fragP->fr_fix + lVar9" (field_expression "fragP->fr_fix" identifier -> field_identifier) = (binary_expression "fragP->fr_fix + lVar9" (field_expression "fragP->fr_fix" identifier -> field_identifier) + identifier)) ;) (return_statement "return;" return ;) })))
(translation_unit "void FUN_00140960(undefined8 param_1,undefined8 param_2,long *param_3)\n\n{\n  byte bVar1;\n  byte *pbVar2;\n  long lVar3;\n  long lVar4;\n  long lVar5;\n  undefined8 uVar6;\n  uint uVar7;\n  char cVar8;\n  long lVar9;\n  byte *pbVar10;\n  long lVar11;\n  \n  pbVar2 = (byte *)param_3[6];\n  lVar5 = thunk_FUN_0012a990(param_3[5]);\n  uVar7 = *(uint *)(param_3 + 0xc);\n  lVar9 = param_3[4];\n  lVar3 = param_3[2];\n  lVar4 = *param_3;\n  if ((uVar7 & 2) == 0) {\n    pbVar10 = pbVar2 + 1;\n    lVar11 = 1;\n  }\n  else {\n    if ((DAT_001e3a9c != 0) && (uVar7 >> 2 != 0)) {\n      uVar6 = dcgettext(0,"long jump required",5);\n      FUN_0011d990(param_3[8],(int)param_3[9],uVar6);\n      uVar7 = *(uint *)(param_3 + 0xc);\n    }\n    switch(uVar7) {\n    default:\n      uVar6 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);\n                    \n      FUN_0011dc10(uVar6,uVar7,0x26c9,"../../gas/config/tc-i386.c");\n    case 2:\n      *pbVar2 = 0xe9;\n      lVar11 = 4;\n      pbVar10 = pbVar2 + 1;\n      uVar7 = *(uint *)(param_3 + 0xc);\n      break;\n    case 3:\n      *pbVar2 = 0xe9;\n      lVar11 = 2;\n      pbVar10 = pbVar2 + 1;\n      uVar7 = *(uint *)(param_3 + 0xc);\n      break;\n    case 6:\n    case 10:\n      bVar1 = *pbVar2;\n      lVar11 = 5;\n      *pbVar2 = 0xf;\n      pbVar10 = pbVar2 + 2;\n      pbVar2[1] = bVar1 + 0x10;\n      uVar7 = *(uint *)(param_3 + 0xc);\n      break;\n    case 7:\n      bVar1 = *pbVar2;\n      lVar11 = 3;\n      *pbVar2 = 0xf;\n      pbVar10 = pbVar2 + 2;\n      pbVar2[1] = bVar1 + 0x10;\n      uVar7 = *(uint *)(param_3 + 0xc);\n      break;\n    case 0xb:\n      *pbVar2 = *pbVar2 ^ 1;\n      lVar11 = 4;\n      pbVar10 = pbVar2 + 3;\n      pbVar2[1] = 3;\n      pbVar2[2] = 0xe9;\n      uVar7 = *(uint *)(param_3 + 0xc);\n    }\n  }\n  uVar7 = uVar7 & 3;\n  lVar9 = (((lVar5 + lVar9) - lVar3) - lVar4) - lVar11;\n  if (uVar7 == 2) {\n    cVar8 = '\x04';\n    if ((DAT_001e3b10 == 0) || (lVar9 + 0x80000000U < 0x100000000)) goto LAB_001409b9;\n    uVar6 = dcgettext(0,"jump target out of range",5);\n    FUN_0011db40(param_3[8],(int)param_3[9],uVar6);\n    lVar9 = 0;\n    uVar7 = *(uint *)(param_3 + 0xc) & 3;\n    if (uVar7 == 2) goto LAB_001409b9;\n  }\n  cVar8 = (uVar7 == 3) + '\x01';\nLAB_001409b9:\n  FUN_00131030(pbVar10,lVar9,cVar8);\n  param_3[2] = param_3[2] + lVar11;\n  return;\n}\n\n" (function_definition "void FUN_00140960(undefined8 param_1,undefined8 param_2,long *param_3)\n\n{\n  byte bVar1;\n  byte *pbVar2;\n  long lVar3;\n  long lVar4;\n  long lVar5;\n  undefined8 uVar6;\n  uint uVar7;\n  char cVar8;\n  long lVar9;\n  byte *pbVar10;\n  long lVar11;\n  \n  pbVar2 = (byte *)param_3[6];\n  lVar5 = thunk_FUN_0012a990(param_3[5]);\n  uVar7 = *(uint *)(param_3 + 0xc);\n  lVar9 = param_3[4];\n  lVar3 = param_3[2];\n  lVar4 = *param_3;\n  if ((uVar7 & 2) == 0) {\n    pbVar10 = pbVar2 + 1;\n    lVar11 = 1;\n  }\n  else {\n    if ((DAT_001e3a9c != 0) && (uVar7 >> 2 != 0)) {\n      uVar6 = dcgettext(0,"long jump required",5);\n      FUN_0011d990(param_3[8],(int)param_3[9],uVar6);\n      uVar7 = *(uint *)(param_3 + 0xc);\n    }\n    switch(uVar7) {\n    default:\n      uVar6 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);\n                    \n      FUN_0011dc10(uVar6,uVar7,0x26c9,"../../gas/config/tc-i386.c");\n    case 2:\n      *pbVar2 = 0xe9;\n      lVar11 = 4;\n      pbVar10 = pbVar2 + 1;\n      uVar7 = *(uint *)(param_3 + 0xc);\n      break;\n    case 3:\n      *pbVar2 = 0xe9;\n      lVar11 = 2;\n      pbVar10 = pbVar2 + 1;\n      uVar7 = *(uint *)(param_3 + 0xc);\n      break;\n    case 6:\n    case 10:\n      bVar1 = *pbVar2;\n      lVar11 = 5;\n      *pbVar2 = 0xf;\n      pbVar10 = pbVar2 + 2;\n      pbVar2[1] = bVar1 + 0x10;\n      uVar7 = *(uint *)(param_3 + 0xc);\n      break;\n    case 7:\n      bVar1 = *pbVar2;\n      lVar11 = 3;\n      *pbVar2 = 0xf;\n      pbVar10 = pbVar2 + 2;\n      pbVar2[1] = bVar1 + 0x10;\n      uVar7 = *(uint *)(param_3 + 0xc);\n      break;\n    case 0xb:\n      *pbVar2 = *pbVar2 ^ 1;\n      lVar11 = 4;\n      pbVar10 = pbVar2 + 3;\n      pbVar2[1] = 3;\n      pbVar2[2] = 0xe9;\n      uVar7 = *(uint *)(param_3 + 0xc);\n    }\n  }\n  uVar7 = uVar7 & 3;\n  lVar9 = (((lVar5 + lVar9) - lVar3) - lVar4) - lVar11;\n  if (uVar7 == 2) {\n    cVar8 = '\x04';\n    if ((DAT_001e3b10 == 0) || (lVar9 + 0x80000000U < 0x100000000)) goto LAB_001409b9;\n    uVar6 = dcgettext(0,"jump target out of range",5);\n    FUN_0011db40(param_3[8],(int)param_3[9],uVar6);\n    lVar9 = 0;\n    uVar7 = *(uint *)(param_3 + 0xc) & 3;\n    if (uVar7 == 2) goto LAB_001409b9;\n  }\n  cVar8 = (uVar7 == 3) + '\x01';\nLAB_001409b9:\n  FUN_00131030(pbVar10,lVar9,cVar8);\n  param_3[2] = param_3[2] + lVar11;\n  return;\n}" primitive_type (function_declarator "FUN_00140960(undefined8 param_1,undefined8 param_2,long *param_3)" identifier (parameter_list "(undefined8 param_1,undefined8 param_2,long *param_3)" ( (parameter_declaration "undefined8 param_1" type_identifier identifier) , (parameter_declaration "undefined8 param_2" type_identifier identifier) , (parameter_declaration "long *param_3" (sized_type_specifier "long" long) (pointer_declarator "*param_3" * identifier)) ))) (compound_statement "{\n  byte bVar1;\n  byte *pbVar2;\n  long lVar3;\n  long lVar4;\n  long lVar5;\n  undefined8 uVar6;\n  uint uVar7;\n  char cVar8;\n  long lVar9;\n  byte *pbVar10;\n  long lVar11;\n  \n  pbVar2 = (byte *)param_3[6];\n  lVar5 = thunk_FUN_0012a990(param_3[5]);\n  uVar7 = *(uint *)(param_3 + 0xc);\n  lVar9 = param_3[4];\n  lVar3 = param_3[2];\n  lVar4 = *param_3;\n  if ((uVar7 & 2) == 0) {\n    pbVar10 = pbVar2 + 1;\n    lVar11 = 1;\n  }\n  else {\n    if ((DAT_001e3a9c != 0) && (uVar7 >> 2 != 0)) {\n      uVar6 = dcgettext(0,"long jump required",5);\n      FUN_0011d990(param_3[8],(int)param_3[9],uVar6);\n      uVar7 = *(uint *)(param_3 + 0xc);\n    }\n    switch(uVar7) {\n    default:\n      uVar6 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);\n                    \n      FUN_0011dc10(uVar6,uVar7,0x26c9,"../../gas/config/tc-i386.c");\n    case 2:\n      *pbVar2 = 0xe9;\n      lVar11 = 4;\n      pbVar10 = pbVar2 + 1;\n      uVar7 = *(uint *)(param_3 + 0xc);\n      break;\n    case 3:\n      *pbVar2 = 0xe9;\n      lVar11 = 2;\n      pbVar10 = pbVar2 + 1;\n      uVar7 = *(uint *)(param_3 + 0xc);\n      break;\n    case 6:\n    case 10:\n      bVar1 = *pbVar2;\n      lVar11 = 5;\n      *pbVar2 = 0xf;\n      pbVar10 = pbVar2 + 2;\n      pbVar2[1] = bVar1 + 0x10;\n      uVar7 = *(uint *)(param_3 + 0xc);\n      break;\n    case 7:\n      bVar1 = *pbVar2;\n      lVar11 = 3;\n      *pbVar2 = 0xf;\n      pbVar10 = pbVar2 + 2;\n      pbVar2[1] = bVar1 + 0x10;\n      uVar7 = *(uint *)(param_3 + 0xc);\n      break;\n    case 0xb:\n      *pbVar2 = *pbVar2 ^ 1;\n      lVar11 = 4;\n      pbVar10 = pbVar2 + 3;\n      pbVar2[1] = 3;\n      pbVar2[2] = 0xe9;\n      uVar7 = *(uint *)(param_3 + 0xc);\n    }\n  }\n  uVar7 = uVar7 & 3;\n  lVar9 = (((lVar5 + lVar9) - lVar3) - lVar4) - lVar11;\n  if (uVar7 == 2) {\n    cVar8 = '\x04';\n    if ((DAT_001e3b10 == 0) || (lVar9 + 0x80000000U < 0x100000000)) goto LAB_001409b9;\n    uVar6 = dcgettext(0,"jump target out of range",5);\n    FUN_0011db40(param_3[8],(int)param_3[9],uVar6);\n    lVar9 = 0;\n    uVar7 = *(uint *)(param_3 + 0xc) & 3;\n    if (uVar7 == 2) goto LAB_001409b9;\n  }\n  cVar8 = (uVar7 == 3) + '\x01';\nLAB_001409b9:\n  FUN_00131030(pbVar10,lVar9,cVar8);\n  param_3[2] = param_3[2] + lVar11;\n  return;\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "byte *pbVar2;" type_identifier (pointer_declarator "*pbVar2" * identifier) ;) (declaration "long lVar3;" (sized_type_specifier "long" long) identifier ;) (declaration "long lVar4;" (sized_type_specifier "long" long) identifier ;) (declaration "long lVar5;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined8 uVar6;" type_identifier identifier ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "char cVar8;" primitive_type identifier ;) (declaration "long lVar9;" (sized_type_specifier "long" long) identifier ;) (declaration "byte *pbVar10;" type_identifier (pointer_declarator "*pbVar10" * identifier) ;) (declaration "long lVar11;" (sized_type_specifier "long" long) identifier ;) (expression_statement "pbVar2 = (byte *)param_3[6];" (assignment_expression "pbVar2 = (byte *)param_3[6]" identifier = (cast_expression "(byte *)param_3[6]" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_3[6]" identifier [ number_literal ]))) ;) (expression_statement "lVar5 = thunk_FUN_0012a990(param_3[5]);" (assignment_expression "lVar5 = thunk_FUN_0012a990(param_3[5])" identifier = (call_expression "thunk_FUN_0012a990(param_3[5])" identifier (argument_list "(param_3[5])" ( (subscript_expression "param_3[5]" identifier [ number_literal ]) )))) ;) (expression_statement "uVar7 = *(uint *)(param_3 + 0xc);" (assignment_expression "uVar7 = *(uint *)(param_3 + 0xc)" identifier = (pointer_expression "*(uint *)(param_3 + 0xc)" * (cast_expression "(uint *)(param_3 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0xc)" ( (binary_expression "param_3 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "lVar9 = param_3[4];" (assignment_expression "lVar9 = param_3[4]" identifier = (subscript_expression "param_3[4]" identifier [ number_literal ])) ;) (expression_statement "lVar3 = param_3[2];" (assignment_expression "lVar3 = param_3[2]" identifier = (subscript_expression "param_3[2]" identifier [ number_literal ])) ;) (expression_statement "lVar4 = *param_3;" (assignment_expression "lVar4 = *param_3" identifier = (pointer_expression "*param_3" * identifier)) ;) (if_statement "if ((uVar7 & 2) == 0) {\n    pbVar10 = pbVar2 + 1;\n    lVar11 = 1;\n  }\n  else {\n    if ((DAT_001e3a9c != 0) && (uVar7 >> 2 != 0)) {\n      uVar6 = dcgettext(0,"long jump required",5);\n      FUN_0011d990(param_3[8],(int)param_3[9],uVar6);\n      uVar7 = *(uint *)(param_3 + 0xc);\n    }\n    switch(uVar7) {\n    default:\n      uVar6 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);\n                    \n      FUN_0011dc10(uVar6,uVar7,0x26c9,"../../gas/config/tc-i386.c");\n    case 2:\n      *pbVar2 = 0xe9;\n      lVar11 = 4;\n      pbVar10 = pbVar2 + 1;\n      uVar7 = *(uint *)(param_3 + 0xc);\n      break;\n    case 3:\n      *pbVar2 = 0xe9;\n      lVar11 = 2;\n      pbVar10 = pbVar2 + 1;\n      uVar7 = *(uint *)(param_3 + 0xc);\n      break;\n    case 6:\n    case 10:\n      bVar1 = *pbVar2;\n      lVar11 = 5;\n      *pbVar2 = 0xf;\n      pbVar10 = pbVar2 + 2;\n      pbVar2[1] = bVar1 + 0x10;\n      uVar7 = *(uint *)(param_3 + 0xc);\n      break;\n    case 7:\n      bVar1 = *pbVar2;\n      lVar11 = 3;\n      *pbVar2 = 0xf;\n      pbVar10 = pbVar2 + 2;\n      pbVar2[1] = bVar1 + 0x10;\n      uVar7 = *(uint *)(param_3 + 0xc);\n      break;\n    case 0xb:\n      *pbVar2 = *pbVar2 ^ 1;\n      lVar11 = 4;\n      pbVar10 = pbVar2 + 3;\n      pbVar2[1] = 3;\n      pbVar2[2] = 0xe9;\n      uVar7 = *(uint *)(param_3 + 0xc);\n    }\n  }" if (parenthesized_expression "((uVar7 & 2) == 0)" ( (binary_expression "(uVar7 & 2) == 0" (parenthesized_expression "(uVar7 & 2)" ( (binary_expression "uVar7 & 2" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n    pbVar10 = pbVar2 + 1;\n    lVar11 = 1;\n  }" { (expression_statement "pbVar10 = pbVar2 + 1;" (assignment_expression "pbVar10 = pbVar2 + 1" identifier = (binary_expression "pbVar2 + 1" identifier + number_literal)) ;) (expression_statement "lVar11 = 1;" (assignment_expression "lVar11 = 1" identifier = number_literal) ;) }) (else_clause "else {\n    if ((DAT_001e3a9c != 0) && (uVar7 >> 2 != 0)) {\n      uVar6 = dcgettext(0,"long jump required",5);\n      FUN_0011d990(param_3[8],(int)param_3[9],uVar6);\n      uVar7 = *(uint *)(param_3 + 0xc);\n    }\n    switch(uVar7) {\n    default:\n      uVar6 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);\n                    \n      FUN_0011dc10(uVar6,uVar7,0x26c9,"../../gas/config/tc-i386.c");\n    case 2:\n      *pbVar2 = 0xe9;\n      lVar11 = 4;\n      pbVar10 = pbVar2 + 1;\n      uVar7 = *(uint *)(param_3 + 0xc);\n      break;\n    case 3:\n      *pbVar2 = 0xe9;\n      lVar11 = 2;\n      pbVar10 = pbVar2 + 1;\n      uVar7 = *(uint *)(param_3 + 0xc);\n      break;\n    case 6:\n    case 10:\n      bVar1 = *pbVar2;\n      lVar11 = 5;\n      *pbVar2 = 0xf;\n      pbVar10 = pbVar2 + 2;\n      pbVar2[1] = bVar1 + 0x10;\n      uVar7 = *(uint *)(param_3 + 0xc);\n      break;\n    case 7:\n      bVar1 = *pbVar2;\n      lVar11 = 3;\n      *pbVar2 = 0xf;\n      pbVar10 = pbVar2 + 2;\n      pbVar2[1] = bVar1 + 0x10;\n      uVar7 = *(uint *)(param_3 + 0xc);\n      break;\n    case 0xb:\n      *pbVar2 = *pbVar2 ^ 1;\n      lVar11 = 4;\n      pbVar10 = pbVar2 + 3;\n      pbVar2[1] = 3;\n      pbVar2[2] = 0xe9;\n      uVar7 = *(uint *)(param_3 + 0xc);\n    }\n  }" else (compound_statement "{\n    if ((DAT_001e3a9c != 0) && (uVar7 >> 2 != 0)) {\n      uVar6 = dcgettext(0,"long jump required",5);\n      FUN_0011d990(param_3[8],(int)param_3[9],uVar6);\n      uVar7 = *(uint *)(param_3 + 0xc);\n    }\n    switch(uVar7) {\n    default:\n      uVar6 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);\n                    \n      FUN_0011dc10(uVar6,uVar7,0x26c9,"../../gas/config/tc-i386.c");\n    case 2:\n      *pbVar2 = 0xe9;\n      lVar11 = 4;\n      pbVar10 = pbVar2 + 1;\n      uVar7 = *(uint *)(param_3 + 0xc);\n      break;\n    case 3:\n      *pbVar2 = 0xe9;\n      lVar11 = 2;\n      pbVar10 = pbVar2 + 1;\n      uVar7 = *(uint *)(param_3 + 0xc);\n      break;\n    case 6:\n    case 10:\n      bVar1 = *pbVar2;\n      lVar11 = 5;\n      *pbVar2 = 0xf;\n      pbVar10 = pbVar2 + 2;\n      pbVar2[1] = bVar1 + 0x10;\n      uVar7 = *(uint *)(param_3 + 0xc);\n      break;\n    case 7:\n      bVar1 = *pbVar2;\n      lVar11 = 3;\n      *pbVar2 = 0xf;\n      pbVar10 = pbVar2 + 2;\n      pbVar2[1] = bVar1 + 0x10;\n      uVar7 = *(uint *)(param_3 + 0xc);\n      break;\n    case 0xb:\n      *pbVar2 = *pbVar2 ^ 1;\n      lVar11 = 4;\n      pbVar10 = pbVar2 + 3;\n      pbVar2[1] = 3;\n      pbVar2[2] = 0xe9;\n      uVar7 = *(uint *)(param_3 + 0xc);\n    }\n  }" { (if_statement "if ((DAT_001e3a9c != 0) && (uVar7 >> 2 != 0)) {\n      uVar6 = dcgettext(0,"long jump required",5);\n      FUN_0011d990(param_3[8],(int)param_3[9],uVar6);\n      uVar7 = *(uint *)(param_3 + 0xc);\n    }" if (parenthesized_expression "((DAT_001e3a9c != 0) && (uVar7 >> 2 != 0))" ( (binary_expression "(DAT_001e3a9c != 0) && (uVar7 >> 2 != 0)" (parenthesized_expression "(DAT_001e3a9c != 0)" ( (binary_expression "DAT_001e3a9c != 0" identifier != number_literal) )) && (parenthesized_expression "(uVar7 >> 2 != 0)" ( (binary_expression "uVar7 >> 2 != 0" (binary_expression "uVar7 >> 2" identifier >> number_literal) != number_literal) ))) )) (compound_statement "{\n      uVar6 = dcgettext(0,"long jump required",5);\n      FUN_0011d990(param_3[8],(int)param_3[9],uVar6);\n      uVar7 = *(uint *)(param_3 + 0xc);\n    }" { (expression_statement "uVar6 = dcgettext(0,"long jump required",5);" (assignment_expression "uVar6 = dcgettext(0,"long jump required",5)" identifier = (call_expression "dcgettext(0,"long jump required",5)" identifier (argument_list "(0,"long jump required",5)" ( number_literal , (string_literal ""long jump required"" " string_content ") , number_literal )))) ;) (expression_statement "FUN_0011d990(param_3[8],(int)param_3[9],uVar6);" (call_expression "FUN_0011d990(param_3[8],(int)param_3[9],uVar6)" identifier (argument_list "(param_3[8],(int)param_3[9],uVar6)" ( (subscript_expression "param_3[8]" identifier [ number_literal ]) , (cast_expression "(int)param_3[9]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "param_3[9]" identifier [ number_literal ])) , identifier ))) ;) (expression_statement "uVar7 = *(uint *)(param_3 + 0xc);" (assignment_expression "uVar7 = *(uint *)(param_3 + 0xc)" identifier = (pointer_expression "*(uint *)(param_3 + 0xc)" * (cast_expression "(uint *)(param_3 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0xc)" ( (binary_expression "param_3 + 0xc" identifier + number_literal) ))))) ;) })) (switch_statement "switch(uVar7) {\n    default:\n      uVar6 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);\n                    \n      FUN_0011dc10(uVar6,uVar7,0x26c9,"../../gas/config/tc-i386.c");\n    case 2:\n      *pbVar2 = 0xe9;\n      lVar11 = 4;\n      pbVar10 = pbVar2 + 1;\n      uVar7 = *(uint *)(param_3 + 0xc);\n      break;\n    case 3:\n      *pbVar2 = 0xe9;\n      lVar11 = 2;\n      pbVar10 = pbVar2 + 1;\n      uVar7 = *(uint *)(param_3 + 0xc);\n      break;\n    case 6:\n    case 10:\n      bVar1 = *pbVar2;\n      lVar11 = 5;\n      *pbVar2 = 0xf;\n      pbVar10 = pbVar2 + 2;\n      pbVar2[1] = bVar1 + 0x10;\n      uVar7 = *(uint *)(param_3 + 0xc);\n      break;\n    case 7:\n      bVar1 = *pbVar2;\n      lVar11 = 3;\n      *pbVar2 = 0xf;\n      pbVar10 = pbVar2 + 2;\n      pbVar2[1] = bVar1 + 0x10;\n      uVar7 = *(uint *)(param_3 + 0xc);\n      break;\n    case 0xb:\n      *pbVar2 = *pbVar2 ^ 1;\n      lVar11 = 4;\n      pbVar10 = pbVar2 + 3;\n      pbVar2[1] = 3;\n      pbVar2[2] = 0xe9;\n      uVar7 = *(uint *)(param_3 + 0xc);\n    }" switch (parenthesized_expression "(uVar7)" ( identifier )) (compound_statement "{\n    default:\n      uVar6 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);\n                    \n      FUN_0011dc10(uVar6,uVar7,0x26c9,"../../gas/config/tc-i386.c");\n    case 2:\n      *pbVar2 = 0xe9;\n      lVar11 = 4;\n      pbVar10 = pbVar2 + 1;\n      uVar7 = *(uint *)(param_3 + 0xc);\n      break;\n    case 3:\n      *pbVar2 = 0xe9;\n      lVar11 = 2;\n      pbVar10 = pbVar2 + 1;\n      uVar7 = *(uint *)(param_3 + 0xc);\n      break;\n    case 6:\n    case 10:\n      bVar1 = *pbVar2;\n      lVar11 = 5;\n      *pbVar2 = 0xf;\n      pbVar10 = pbVar2 + 2;\n      pbVar2[1] = bVar1 + 0x10;\n      uVar7 = *(uint *)(param_3 + 0xc);\n      break;\n    case 7:\n      bVar1 = *pbVar2;\n      lVar11 = 3;\n      *pbVar2 = 0xf;\n      pbVar10 = pbVar2 + 2;\n      pbVar2[1] = bVar1 + 0x10;\n      uVar7 = *(uint *)(param_3 + 0xc);\n      break;\n    case 0xb:\n      *pbVar2 = *pbVar2 ^ 1;\n      lVar11 = 4;\n      pbVar10 = pbVar2 + 3;\n      pbVar2[1] = 3;\n      pbVar2[2] = 0xe9;\n      uVar7 = *(uint *)(param_3 + 0xc);\n    }" { (case_statement "default:\n      uVar6 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);\n                    \n      FUN_0011dc10(uVar6,uVar7,0x26c9,"../../gas/config/tc-i386.c");" default : (expression_statement "uVar6 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);" (assignment_expression "uVar6 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5)" identifier = (call_expression "dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5)" identifier (argument_list "(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5)" ( number_literal , (string_literal ""Case value %ld unexpected at line %d of file \"%s\"\n"" " string_content escape_sequence string_content escape_sequence escape_sequence ") , number_literal )))) ;) (expression_statement "FUN_0011dc10(uVar6,uVar7,0x26c9,"../../gas/config/tc-i386.c");" (call_expression "FUN_0011dc10(uVar6,uVar7,0x26c9,"../../gas/config/tc-i386.c")" identifier (argument_list "(uVar6,uVar7,0x26c9,"../../gas/config/tc-i386.c")" ( identifier , identifier , number_literal , (string_literal ""../../gas/config/tc-i386.c"" " string_content ") ))) ;)) (case_statement "case 2:\n      *pbVar2 = 0xe9;\n      lVar11 = 4;\n      pbVar10 = pbVar2 + 1;\n      uVar7 = *(uint *)(param_3 + 0xc);\n      break;" case number_literal : (expression_statement "*pbVar2 = 0xe9;" (assignment_expression "*pbVar2 = 0xe9" (pointer_expression "*pbVar2" * identifier) = number_literal) ;) (expression_statement "lVar11 = 4;" (assignment_expression "lVar11 = 4" identifier = number_literal) ;) (expression_statement "pbVar10 = pbVar2 + 1;" (assignment_expression "pbVar10 = pbVar2 + 1" identifier = (binary_expression "pbVar2 + 1" identifier + number_literal)) ;) (expression_statement "uVar7 = *(uint *)(param_3 + 0xc);" (assignment_expression "uVar7 = *(uint *)(param_3 + 0xc)" identifier = (pointer_expression "*(uint *)(param_3 + 0xc)" * (cast_expression "(uint *)(param_3 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0xc)" ( (binary_expression "param_3 + 0xc" identifier + number_literal) ))))) ;) (break_statement "break;" break ;)) (case_statement "case 3:\n      *pbVar2 = 0xe9;\n      lVar11 = 2;\n      pbVar10 = pbVar2 + 1;\n      uVar7 = *(uint *)(param_3 + 0xc);\n      break;" case number_literal : (expression_statement "*pbVar2 = 0xe9;" (assignment_expression "*pbVar2 = 0xe9" (pointer_expression "*pbVar2" * identifier) = number_literal) ;) (expression_statement "lVar11 = 2;" (assignment_expression "lVar11 = 2" identifier = number_literal) ;) (expression_statement "pbVar10 = pbVar2 + 1;" (assignment_expression "pbVar10 = pbVar2 + 1" identifier = (binary_expression "pbVar2 + 1" identifier + number_literal)) ;) (expression_statement "uVar7 = *(uint *)(param_3 + 0xc);" (assignment_expression "uVar7 = *(uint *)(param_3 + 0xc)" identifier = (pointer_expression "*(uint *)(param_3 + 0xc)" * (cast_expression "(uint *)(param_3 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0xc)" ( (binary_expression "param_3 + 0xc" identifier + number_literal) ))))) ;) (break_statement "break;" break ;)) (case_statement "case 6:" case number_literal :) (case_statement "case 10:\n      bVar1 = *pbVar2;\n      lVar11 = 5;\n      *pbVar2 = 0xf;\n      pbVar10 = pbVar2 + 2;\n      pbVar2[1] = bVar1 + 0x10;\n      uVar7 = *(uint *)(param_3 + 0xc);\n      break;" case number_literal : (expression_statement "bVar1 = *pbVar2;" (assignment_expression "bVar1 = *pbVar2" identifier = (pointer_expression "*pbVar2" * identifier)) ;) (expression_statement "lVar11 = 5;" (assignment_expression "lVar11 = 5" identifier = number_literal) ;) (expression_statement "*pbVar2 = 0xf;" (assignment_expression "*pbVar2 = 0xf" (pointer_expression "*pbVar2" * identifier) = number_literal) ;) (expression_statement "pbVar10 = pbVar2 + 2;" (assignment_expression "pbVar10 = pbVar2 + 2" identifier = (binary_expression "pbVar2 + 2" identifier + number_literal)) ;) (expression_statement "pbVar2[1] = bVar1 + 0x10;" (assignment_expression "pbVar2[1] = bVar1 + 0x10" (subscript_expression "pbVar2[1]" identifier [ number_literal ]) = (binary_expression "bVar1 + 0x10" identifier + number_literal)) ;) (expression_statement "uVar7 = *(uint *)(param_3 + 0xc);" (assignment_expression "uVar7 = *(uint *)(param_3 + 0xc)" identifier = (pointer_expression "*(uint *)(param_3 + 0xc)" * (cast_expression "(uint *)(param_3 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0xc)" ( (binary_expression "param_3 + 0xc" identifier + number_literal) ))))) ;) (break_statement "break;" break ;)) (case_statement "case 7:\n      bVar1 = *pbVar2;\n      lVar11 = 3;\n      *pbVar2 = 0xf;\n      pbVar10 = pbVar2 + 2;\n      pbVar2[1] = bVar1 + 0x10;\n      uVar7 = *(uint *)(param_3 + 0xc);\n      break;" case number_literal : (expression_statement "bVar1 = *pbVar2;" (assignment_expression "bVar1 = *pbVar2" identifier = (pointer_expression "*pbVar2" * identifier)) ;) (expression_statement "lVar11 = 3;" (assignment_expression "lVar11 = 3" identifier = number_literal) ;) (expression_statement "*pbVar2 = 0xf;" (assignment_expression "*pbVar2 = 0xf" (pointer_expression "*pbVar2" * identifier) = number_literal) ;) (expression_statement "pbVar10 = pbVar2 + 2;" (assignment_expression "pbVar10 = pbVar2 + 2" identifier = (binary_expression "pbVar2 + 2" identifier + number_literal)) ;) (expression_statement "pbVar2[1] = bVar1 + 0x10;" (assignment_expression "pbVar2[1] = bVar1 + 0x10" (subscript_expression "pbVar2[1]" identifier [ number_literal ]) = (binary_expression "bVar1 + 0x10" identifier + number_literal)) ;) (expression_statement "uVar7 = *(uint *)(param_3 + 0xc);" (assignment_expression "uVar7 = *(uint *)(param_3 + 0xc)" identifier = (pointer_expression "*(uint *)(param_3 + 0xc)" * (cast_expression "(uint *)(param_3 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0xc)" ( (binary_expression "param_3 + 0xc" identifier + number_literal) ))))) ;) (break_statement "break;" break ;)) (case_statement "case 0xb:\n      *pbVar2 = *pbVar2 ^ 1;\n      lVar11 = 4;\n      pbVar10 = pbVar2 + 3;\n      pbVar2[1] = 3;\n      pbVar2[2] = 0xe9;\n      uVar7 = *(uint *)(param_3 + 0xc);" case number_literal : (expression_statement "*pbVar2 = *pbVar2 ^ 1;" (assignment_expression "*pbVar2 = *pbVar2 ^ 1" (pointer_expression "*pbVar2" * identifier) = (binary_expression "*pbVar2 ^ 1" (pointer_expression "*pbVar2" * identifier) ^ number_literal)) ;) (expression_statement "lVar11 = 4;" (assignment_expression "lVar11 = 4" identifier = number_literal) ;) (expression_statement "pbVar10 = pbVar2 + 3;" (assignment_expression "pbVar10 = pbVar2 + 3" identifier = (binary_expression "pbVar2 + 3" identifier + number_literal)) ;) (expression_statement "pbVar2[1] = 3;" (assignment_expression "pbVar2[1] = 3" (subscript_expression "pbVar2[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "pbVar2[2] = 0xe9;" (assignment_expression "pbVar2[2] = 0xe9" (subscript_expression "pbVar2[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "uVar7 = *(uint *)(param_3 + 0xc);" (assignment_expression "uVar7 = *(uint *)(param_3 + 0xc)" identifier = (pointer_expression "*(uint *)(param_3 + 0xc)" * (cast_expression "(uint *)(param_3 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0xc)" ( (binary_expression "param_3 + 0xc" identifier + number_literal) ))))) ;)) })) }))) (expression_statement "uVar7 = uVar7 & 3;" (assignment_expression "uVar7 = uVar7 & 3" identifier = (binary_expression "uVar7 & 3" identifier & number_literal)) ;) (expression_statement "lVar9 = (((lVar5 + lVar9) - lVar3) - lVar4) - lVar11;" (assignment_expression "lVar9 = (((lVar5 + lVar9) - lVar3) - lVar4) - lVar11" identifier = (binary_expression "(((lVar5 + lVar9) - lVar3) - lVar4) - lVar11" (parenthesized_expression "(((lVar5 + lVar9) - lVar3) - lVar4)" ( (binary_expression "((lVar5 + lVar9) - lVar3) - lVar4" (parenthesized_expression "((lVar5 + lVar9) - lVar3)" ( (binary_expression "(lVar5 + lVar9) - lVar3" (parenthesized_expression "(lVar5 + lVar9)" ( (binary_expression "lVar5 + lVar9" identifier + identifier) )) - identifier) )) - identifier) )) - identifier)) ;) (if_statement "if (uVar7 == 2) {\n    cVar8 = '\x04';\n    if ((DAT_001e3b10 == 0) || (lVar9 + 0x80000000U < 0x100000000)) goto LAB_001409b9;\n    uVar6 = dcgettext(0,"jump target out of range",5);\n    FUN_0011db40(param_3[8],(int)param_3[9],uVar6);\n    lVar9 = 0;\n    uVar7 = *(uint *)(param_3 + 0xc) & 3;\n    if (uVar7 == 2) goto LAB_001409b9;\n  }" if (parenthesized_expression "(uVar7 == 2)" ( (binary_expression "uVar7 == 2" identifier == number_literal) )) (compound_statement "{\n    cVar8 = '\x04';\n    if ((DAT_001e3b10 == 0) || (lVar9 + 0x80000000U < 0x100000000)) goto LAB_001409b9;\n    uVar6 = dcgettext(0,"jump target out of range",5);\n    FUN_0011db40(param_3[8],(int)param_3[9],uVar6);\n    lVar9 = 0;\n    uVar7 = *(uint *)(param_3 + 0xc) & 3;\n    if (uVar7 == 2) goto LAB_001409b9;\n  }" { (expression_statement "cVar8 = '\x04';" (assignment_expression "cVar8 = '\x04'" identifier = (char_literal "'\x04'" ' escape_sequence ')) ;) (if_statement "if ((DAT_001e3b10 == 0) || (lVar9 + 0x80000000U < 0x100000000)) goto LAB_001409b9;" if (parenthesized_expression "((DAT_001e3b10 == 0) || (lVar9 + 0x80000000U < 0x100000000))" ( (binary_expression "(DAT_001e3b10 == 0) || (lVar9 + 0x80000000U < 0x100000000)" (parenthesized_expression "(DAT_001e3b10 == 0)" ( (binary_expression "DAT_001e3b10 == 0" identifier == number_literal) )) || (parenthesized_expression "(lVar9 + 0x80000000U < 0x100000000)" ( (binary_expression "lVar9 + 0x80000000U < 0x100000000" (binary_expression "lVar9 + 0x80000000U" identifier + number_literal) < number_literal) ))) )) (goto_statement "goto LAB_001409b9;" goto statement_identifier ;)) (expression_statement "uVar6 = dcgettext(0,"jump target out of range",5);" (assignment_expression "uVar6 = dcgettext(0,"jump target out of range",5)" identifier = (call_expression "dcgettext(0,"jump target out of range",5)" identifier (argument_list "(0,"jump target out of range",5)" ( number_literal , (string_literal ""jump target out of range"" " string_content ") , number_literal )))) ;) (expression_statement "FUN_0011db40(param_3[8],(int)param_3[9],uVar6);" (call_expression "FUN_0011db40(param_3[8],(int)param_3[9],uVar6)" identifier (argument_list "(param_3[8],(int)param_3[9],uVar6)" ( (subscript_expression "param_3[8]" identifier [ number_literal ]) , (cast_expression "(int)param_3[9]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "param_3[9]" identifier [ number_literal ])) , identifier ))) ;) (expression_statement "lVar9 = 0;" (assignment_expression "lVar9 = 0" identifier = number_literal) ;) (expression_statement "uVar7 = *(uint *)(param_3 + 0xc) & 3;" (assignment_expression "uVar7 = *(uint *)(param_3 + 0xc) & 3" identifier = (binary_expression "*(uint *)(param_3 + 0xc) & 3" (pointer_expression "*(uint *)(param_3 + 0xc)" * (cast_expression "(uint *)(param_3 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0xc)" ( (binary_expression "param_3 + 0xc" identifier + number_literal) )))) & number_literal)) ;) (if_statement "if (uVar7 == 2) goto LAB_001409b9;" if (parenthesized_expression "(uVar7 == 2)" ( (binary_expression "uVar7 == 2" identifier == number_literal) )) (goto_statement "goto LAB_001409b9;" goto statement_identifier ;)) })) (expression_statement "cVar8 = (uVar7 == 3) + '\x01';" (assignment_expression "cVar8 = (uVar7 == 3) + '\x01'" identifier = (binary_expression "(uVar7 == 3) + '\x01'" (parenthesized_expression "(uVar7 == 3)" ( (binary_expression "uVar7 == 3" identifier == number_literal) )) + (char_literal "'\x01'" ' escape_sequence '))) ;) (labeled_statement "LAB_001409b9:\n  FUN_00131030(pbVar10,lVar9,cVar8);" statement_identifier : (expression_statement "FUN_00131030(pbVar10,lVar9,cVar8);" (call_expression "FUN_00131030(pbVar10,lVar9,cVar8)" identifier (argument_list "(pbVar10,lVar9,cVar8)" ( identifier , identifier , identifier ))) ;)) (expression_statement "param_3[2] = param_3[2] + lVar11;" (assignment_expression "param_3[2] = param_3[2] + lVar11" (subscript_expression "param_3[2]" identifier [ number_literal ]) = (binary_expression "param_3[2] + lVar11" (subscript_expression "param_3[2]" identifier [ number_literal ]) + identifier)) ;) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration (sized_type_specifier long) (pointer_declarator * IDENT)) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration (sized_type_specifier long) IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration (sized_type_specifier long) IDENT ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (binary_expression (binary_expression IDENT >> LIT) != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) , (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) })) (switch_statement switch (parenthesized_expression ( IDENT )) (compound_statement { (case_statement default : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence string_content escape_sequence escape_sequence ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , LIT , (string_literal " string_content ") ))) ;)) (case_statement case LIT : (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (break_statement break ;)) (case_statement case LIT :) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (pointer_expression * IDENT) ^ LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) })) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT + IDENT) )) - IDENT) )) - IDENT) )) - IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) < LIT) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) , (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) , IDENT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) + (char_literal ' escape_sequence '))) ;) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;)) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) + IDENT)) ;) (return_statement return ;) })))
(function_definition "void FUN_00140960(undefined8 param_1,undefined8 param_2,long *param_3)\n\n{\n  byte bVar1;\n  byte *pbVar2;\n  long lVar3;\n  long lVar4;\n  long lVar5;\n  undefined8 uVar6;\n  uint uVar7;\n  char cVar8;\n  long lVar9;\n  byte *pbVar10;\n  long lVar11;\n  \n  pbVar2 = (byte *)param_3[6];\n  lVar5 = thunk_FUN_0012a990(param_3[5]);\n  uVar7 = *(uint *)(param_3 + 0xc);\n  lVar9 = param_3[4];\n  lVar3 = param_3[2];\n  lVar4 = *param_3;\n  if ((uVar7 & 2) == 0) {\n    pbVar10 = pbVar2 + 1;\n    lVar11 = 1;\n  }\n  else {\n    if ((DAT_001e3a9c != 0) && (uVar7 >> 2 != 0)) {\n      uVar6 = dcgettext(0,"long jump required",5);\n      FUN_0011d990(param_3[8],(int)param_3[9],uVar6);\n      uVar7 = *(uint *)(param_3 + 0xc);\n    }\n    switch(uVar7) {\n    default:\n      uVar6 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);\n                    \n      FUN_0011dc10(uVar6,uVar7,0x26c9,"../../gas/config/tc-i386.c");\n    case 2:\n      *pbVar2 = 0xe9;\n      lVar11 = 4;\n      pbVar10 = pbVar2 + 1;\n      uVar7 = *(uint *)(param_3 + 0xc);\n      break;\n    case 3:\n      *pbVar2 = 0xe9;\n      lVar11 = 2;\n      pbVar10 = pbVar2 + 1;\n      uVar7 = *(uint *)(param_3 + 0xc);\n      break;\n    case 6:\n    case 10:\n      bVar1 = *pbVar2;\n      lVar11 = 5;\n      *pbVar2 = 0xf;\n      pbVar10 = pbVar2 + 2;\n      pbVar2[1] = bVar1 + 0x10;\n      uVar7 = *(uint *)(param_3 + 0xc);\n      break;\n    case 7:\n      bVar1 = *pbVar2;\n      lVar11 = 3;\n      *pbVar2 = 0xf;\n      pbVar10 = pbVar2 + 2;\n      pbVar2[1] = bVar1 + 0x10;\n      uVar7 = *(uint *)(param_3 + 0xc);\n      break;\n    case 0xb:\n      *pbVar2 = *pbVar2 ^ 1;\n      lVar11 = 4;\n      pbVar10 = pbVar2 + 3;\n      pbVar2[1] = 3;\n      pbVar2[2] = 0xe9;\n      uVar7 = *(uint *)(param_3 + 0xc);\n    }\n  }\n  uVar7 = uVar7 & 3;\n  lVar9 = (((lVar5 + lVar9) - lVar3) - lVar4) - lVar11;\n  if (uVar7 == 2) {\n    cVar8 = '\x04';\n    if ((DAT_001e3b10 == 0) || (lVar9 + 0x80000000U < 0x100000000)) goto LAB_001409b9;\n    uVar6 = dcgettext(0,"jump target out of range",5);\n    FUN_0011db40(param_3[8],(int)param_3[9],uVar6);\n    lVar9 = 0;\n    uVar7 = *(uint *)(param_3 + 0xc) & 3;\n    if (uVar7 == 2) goto LAB_001409b9;\n  }\n  cVar8 = (uVar7 == 3) + '\x01';\nLAB_001409b9:\n  FUN_00131030(pbVar10,lVar9,cVar8);\n  param_3[2] = param_3[2] + lVar11;\n  return;\n}" (primitive_type "void") (function_declarator "FUN_00140960(undefined8 param_1,undefined8 param_2,long *param_3)" (identifier "FUN_00140960") (parameter_list "(undefined8 param_1,undefined8 param_2,long *param_3)" (( "(") (parameter_declaration "undefined8 param_1" (type_identifier "undefined8") (identifier "param_1")) (, ",") (parameter_declaration "undefined8 param_2" (type_identifier "undefined8") (identifier "param_2")) (, ",") (parameter_declaration "long *param_3" (sized_type_specifier "long" (long "long")) (pointer_declarator "*param_3" (* "*") (identifier "param_3"))) () ")"))) (compound_statement "{\n  byte bVar1;\n  byte *pbVar2;\n  long lVar3;\n  long lVar4;\n  long lVar5;\n  undefined8 uVar6;\n  uint uVar7;\n  char cVar8;\n  long lVar9;\n  byte *pbVar10;\n  long lVar11;\n  \n  pbVar2 = (byte *)param_3[6];\n  lVar5 = thunk_FUN_0012a990(param_3[5]);\n  uVar7 = *(uint *)(param_3 + 0xc);\n  lVar9 = param_3[4];\n  lVar3 = param_3[2];\n  lVar4 = *param_3;\n  if ((uVar7 & 2) == 0) {\n    pbVar10 = pbVar2 + 1;\n    lVar11 = 1;\n  }\n  else {\n    if ((DAT_001e3a9c != 0) && (uVar7 >> 2 != 0)) {\n      uVar6 = dcgettext(0,"long jump required",5);\n      FUN_0011d990(param_3[8],(int)param_3[9],uVar6);\n      uVar7 = *(uint *)(param_3 + 0xc);\n    }\n    switch(uVar7) {\n    default:\n      uVar6 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);\n                    \n      FUN_0011dc10(uVar6,uVar7,0x26c9,"../../gas/config/tc-i386.c");\n    case 2:\n      *pbVar2 = 0xe9;\n      lVar11 = 4;\n      pbVar10 = pbVar2 + 1;\n      uVar7 = *(uint *)(param_3 + 0xc);\n      break;\n    case 3:\n      *pbVar2 = 0xe9;\n      lVar11 = 2;\n      pbVar10 = pbVar2 + 1;\n      uVar7 = *(uint *)(param_3 + 0xc);\n      break;\n    case 6:\n    case 10:\n      bVar1 = *pbVar2;\n      lVar11 = 5;\n      *pbVar2 = 0xf;\n      pbVar10 = pbVar2 + 2;\n      pbVar2[1] = bVar1 + 0x10;\n      uVar7 = *(uint *)(param_3 + 0xc);\n      break;\n    case 7:\n      bVar1 = *pbVar2;\n      lVar11 = 3;\n      *pbVar2 = 0xf;\n      pbVar10 = pbVar2 + 2;\n      pbVar2[1] = bVar1 + 0x10;\n      uVar7 = *(uint *)(param_3 + 0xc);\n      break;\n    case 0xb:\n      *pbVar2 = *pbVar2 ^ 1;\n      lVar11 = 4;\n      pbVar10 = pbVar2 + 3;\n      pbVar2[1] = 3;\n      pbVar2[2] = 0xe9;\n      uVar7 = *(uint *)(param_3 + 0xc);\n    }\n  }\n  uVar7 = uVar7 & 3;\n  lVar9 = (((lVar5 + lVar9) - lVar3) - lVar4) - lVar11;\n  if (uVar7 == 2) {\n    cVar8 = '\x04';\n    if ((DAT_001e3b10 == 0) || (lVar9 + 0x80000000U < 0x100000000)) goto LAB_001409b9;\n    uVar6 = dcgettext(0,"jump target out of range",5);\n    FUN_0011db40(param_3[8],(int)param_3[9],uVar6);\n    lVar9 = 0;\n    uVar7 = *(uint *)(param_3 + 0xc) & 3;\n    if (uVar7 == 2) goto LAB_001409b9;\n  }\n  cVar8 = (uVar7 == 3) + '\x01';\nLAB_001409b9:\n  FUN_00131030(pbVar10,lVar9,cVar8);\n  param_3[2] = param_3[2] + lVar11;\n  return;\n}" ({ "{") (declaration "byte bVar1;" (type_identifier "byte") (identifier "bVar1") (; ";")) (declaration "byte *pbVar2;" (type_identifier "byte") (pointer_declarator "*pbVar2" (* "*") (identifier "pbVar2")) (; ";")) (declaration "long lVar3;" (sized_type_specifier "long" (long "long")) (identifier "lVar3") (; ";")) (declaration "long lVar4;" (sized_type_specifier "long" (long "long")) (identifier "lVar4") (; ";")) (declaration "long lVar5;" (sized_type_specifier "long" (long "long")) (identifier "lVar5") (; ";")) (declaration "undefined8 uVar6;" (type_identifier "undefined8") (identifier "uVar6") (; ";")) (declaration "uint uVar7;" (type_identifier "uint") (identifier "uVar7") (; ";")) (declaration "char cVar8;" (primitive_type "char") (identifier "cVar8") (; ";")) (declaration "long lVar9;" (sized_type_specifier "long" (long "long")) (identifier "lVar9") (; ";")) (declaration "byte *pbVar10;" (type_identifier "byte") (pointer_declarator "*pbVar10" (* "*") (identifier "pbVar10")) (; ";")) (declaration "long lVar11;" (sized_type_specifier "long" (long "long")) (identifier "lVar11") (; ";")) (expression_statement "pbVar2 = (byte *)param_3[6];" (assignment_expression "pbVar2 = (byte *)param_3[6]" (identifier "pbVar2") (= "=") (cast_expression "(byte *)param_3[6]" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_3[6]" (identifier "param_3") ([ "[") (number_literal "6") (] "]")))) (; ";")) (expression_statement "lVar5 = thunk_FUN_0012a990(param_3[5]);" (assignment_expression "lVar5 = thunk_FUN_0012a990(param_3[5])" (identifier "lVar5") (= "=") (call_expression "thunk_FUN_0012a990(param_3[5])" (identifier "thunk_FUN_0012a990") (argument_list "(param_3[5])" (( "(") (subscript_expression "param_3[5]" (identifier "param_3") ([ "[") (number_literal "5") (] "]")) () ")")))) (; ";")) (expression_statement "uVar7 = *(uint *)(param_3 + 0xc);" (assignment_expression "uVar7 = *(uint *)(param_3 + 0xc)" (identifier "uVar7") (= "=") (pointer_expression "*(uint *)(param_3 + 0xc)" (* "*") (cast_expression "(uint *)(param_3 + 0xc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0xc)" (( "(") (binary_expression "param_3 + 0xc" (identifier "param_3") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "lVar9 = param_3[4];" (assignment_expression "lVar9 = param_3[4]" (identifier "lVar9") (= "=") (subscript_expression "param_3[4]" (identifier "param_3") ([ "[") (number_literal "4") (] "]"))) (; ";")) (expression_statement "lVar3 = param_3[2];" (assignment_expression "lVar3 = param_3[2]" (identifier "lVar3") (= "=") (subscript_expression "param_3[2]" (identifier "param_3") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "lVar4 = *param_3;" (assignment_expression "lVar4 = *param_3" (identifier "lVar4") (= "=") (pointer_expression "*param_3" (* "*") (identifier "param_3"))) (; ";")) (if_statement "if ((uVar7 & 2) == 0) {\n    pbVar10 = pbVar2 + 1;\n    lVar11 = 1;\n  }\n  else {\n    if ((DAT_001e3a9c != 0) && (uVar7 >> 2 != 0)) {\n      uVar6 = dcgettext(0,"long jump required",5);\n      FUN_0011d990(param_3[8],(int)param_3[9],uVar6);\n      uVar7 = *(uint *)(param_3 + 0xc);\n    }\n    switch(uVar7) {\n    default:\n      uVar6 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);\n                    \n      FUN_0011dc10(uVar6,uVar7,0x26c9,"../../gas/config/tc-i386.c");\n    case 2:\n      *pbVar2 = 0xe9;\n      lVar11 = 4;\n      pbVar10 = pbVar2 + 1;\n      uVar7 = *(uint *)(param_3 + 0xc);\n      break;\n    case 3:\n      *pbVar2 = 0xe9;\n      lVar11 = 2;\n      pbVar10 = pbVar2 + 1;\n      uVar7 = *(uint *)(param_3 + 0xc);\n      break;\n    case 6:\n    case 10:\n      bVar1 = *pbVar2;\n      lVar11 = 5;\n      *pbVar2 = 0xf;\n      pbVar10 = pbVar2 + 2;\n      pbVar2[1] = bVar1 + 0x10;\n      uVar7 = *(uint *)(param_3 + 0xc);\n      break;\n    case 7:\n      bVar1 = *pbVar2;\n      lVar11 = 3;\n      *pbVar2 = 0xf;\n      pbVar10 = pbVar2 + 2;\n      pbVar2[1] = bVar1 + 0x10;\n      uVar7 = *(uint *)(param_3 + 0xc);\n      break;\n    case 0xb:\n      *pbVar2 = *pbVar2 ^ 1;\n      lVar11 = 4;\n      pbVar10 = pbVar2 + 3;\n      pbVar2[1] = 3;\n      pbVar2[2] = 0xe9;\n      uVar7 = *(uint *)(param_3 + 0xc);\n    }\n  }" (if "if") (parenthesized_expression "((uVar7 & 2) == 0)" (( "(") (binary_expression "(uVar7 & 2) == 0" (parenthesized_expression "(uVar7 & 2)" (( "(") (binary_expression "uVar7 & 2" (identifier "uVar7") (& "&") (number_literal "2")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    pbVar10 = pbVar2 + 1;\n    lVar11 = 1;\n  }" ({ "{") (expression_statement "pbVar10 = pbVar2 + 1;" (assignment_expression "pbVar10 = pbVar2 + 1" (identifier "pbVar10") (= "=") (binary_expression "pbVar2 + 1" (identifier "pbVar2") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "lVar11 = 1;" (assignment_expression "lVar11 = 1" (identifier "lVar11") (= "=") (number_literal "1")) (; ";")) (} "}")) (else_clause "else {\n    if ((DAT_001e3a9c != 0) && (uVar7 >> 2 != 0)) {\n      uVar6 = dcgettext(0,"long jump required",5);\n      FUN_0011d990(param_3[8],(int)param_3[9],uVar6);\n      uVar7 = *(uint *)(param_3 + 0xc);\n    }\n    switch(uVar7) {\n    default:\n      uVar6 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);\n                    \n      FUN_0011dc10(uVar6,uVar7,0x26c9,"../../gas/config/tc-i386.c");\n    case 2:\n      *pbVar2 = 0xe9;\n      lVar11 = 4;\n      pbVar10 = pbVar2 + 1;\n      uVar7 = *(uint *)(param_3 + 0xc);\n      break;\n    case 3:\n      *pbVar2 = 0xe9;\n      lVar11 = 2;\n      pbVar10 = pbVar2 + 1;\n      uVar7 = *(uint *)(param_3 + 0xc);\n      break;\n    case 6:\n    case 10:\n      bVar1 = *pbVar2;\n      lVar11 = 5;\n      *pbVar2 = 0xf;\n      pbVar10 = pbVar2 + 2;\n      pbVar2[1] = bVar1 + 0x10;\n      uVar7 = *(uint *)(param_3 + 0xc);\n      break;\n    case 7:\n      bVar1 = *pbVar2;\n      lVar11 = 3;\n      *pbVar2 = 0xf;\n      pbVar10 = pbVar2 + 2;\n      pbVar2[1] = bVar1 + 0x10;\n      uVar7 = *(uint *)(param_3 + 0xc);\n      break;\n    case 0xb:\n      *pbVar2 = *pbVar2 ^ 1;\n      lVar11 = 4;\n      pbVar10 = pbVar2 + 3;\n      pbVar2[1] = 3;\n      pbVar2[2] = 0xe9;\n      uVar7 = *(uint *)(param_3 + 0xc);\n    }\n  }" (else "else") (compound_statement "{\n    if ((DAT_001e3a9c != 0) && (uVar7 >> 2 != 0)) {\n      uVar6 = dcgettext(0,"long jump required",5);\n      FUN_0011d990(param_3[8],(int)param_3[9],uVar6);\n      uVar7 = *(uint *)(param_3 + 0xc);\n    }\n    switch(uVar7) {\n    default:\n      uVar6 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);\n                    \n      FUN_0011dc10(uVar6,uVar7,0x26c9,"../../gas/config/tc-i386.c");\n    case 2:\n      *pbVar2 = 0xe9;\n      lVar11 = 4;\n      pbVar10 = pbVar2 + 1;\n      uVar7 = *(uint *)(param_3 + 0xc);\n      break;\n    case 3:\n      *pbVar2 = 0xe9;\n      lVar11 = 2;\n      pbVar10 = pbVar2 + 1;\n      uVar7 = *(uint *)(param_3 + 0xc);\n      break;\n    case 6:\n    case 10:\n      bVar1 = *pbVar2;\n      lVar11 = 5;\n      *pbVar2 = 0xf;\n      pbVar10 = pbVar2 + 2;\n      pbVar2[1] = bVar1 + 0x10;\n      uVar7 = *(uint *)(param_3 + 0xc);\n      break;\n    case 7:\n      bVar1 = *pbVar2;\n      lVar11 = 3;\n      *pbVar2 = 0xf;\n      pbVar10 = pbVar2 + 2;\n      pbVar2[1] = bVar1 + 0x10;\n      uVar7 = *(uint *)(param_3 + 0xc);\n      break;\n    case 0xb:\n      *pbVar2 = *pbVar2 ^ 1;\n      lVar11 = 4;\n      pbVar10 = pbVar2 + 3;\n      pbVar2[1] = 3;\n      pbVar2[2] = 0xe9;\n      uVar7 = *(uint *)(param_3 + 0xc);\n    }\n  }" ({ "{") (if_statement "if ((DAT_001e3a9c != 0) && (uVar7 >> 2 != 0)) {\n      uVar6 = dcgettext(0,"long jump required",5);\n      FUN_0011d990(param_3[8],(int)param_3[9],uVar6);\n      uVar7 = *(uint *)(param_3 + 0xc);\n    }" (if "if") (parenthesized_expression "((DAT_001e3a9c != 0) && (uVar7 >> 2 != 0))" (( "(") (binary_expression "(DAT_001e3a9c != 0) && (uVar7 >> 2 != 0)" (parenthesized_expression "(DAT_001e3a9c != 0)" (( "(") (binary_expression "DAT_001e3a9c != 0" (identifier "DAT_001e3a9c") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(uVar7 >> 2 != 0)" (( "(") (binary_expression "uVar7 >> 2 != 0" (binary_expression "uVar7 >> 2" (identifier "uVar7") (>> ">>") (number_literal "2")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n      uVar6 = dcgettext(0,"long jump required",5);\n      FUN_0011d990(param_3[8],(int)param_3[9],uVar6);\n      uVar7 = *(uint *)(param_3 + 0xc);\n    }" ({ "{") (expression_statement "uVar6 = dcgettext(0,"long jump required",5);" (assignment_expression "uVar6 = dcgettext(0,"long jump required",5)" (identifier "uVar6") (= "=") (call_expression "dcgettext(0,"long jump required",5)" (identifier "dcgettext") (argument_list "(0,"long jump required",5)" (( "(") (number_literal "0") (, ",") (string_literal ""long jump required"" (" """) (string_content "long jump required") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_0011d990(param_3[8],(int)param_3[9],uVar6);" (call_expression "FUN_0011d990(param_3[8],(int)param_3[9],uVar6)" (identifier "FUN_0011d990") (argument_list "(param_3[8],(int)param_3[9],uVar6)" (( "(") (subscript_expression "param_3[8]" (identifier "param_3") ([ "[") (number_literal "8") (] "]")) (, ",") (cast_expression "(int)param_3[9]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "param_3[9]" (identifier "param_3") ([ "[") (number_literal "9") (] "]"))) (, ",") (identifier "uVar6") () ")"))) (; ";")) (expression_statement "uVar7 = *(uint *)(param_3 + 0xc);" (assignment_expression "uVar7 = *(uint *)(param_3 + 0xc)" (identifier "uVar7") (= "=") (pointer_expression "*(uint *)(param_3 + 0xc)" (* "*") (cast_expression "(uint *)(param_3 + 0xc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0xc)" (( "(") (binary_expression "param_3 + 0xc" (identifier "param_3") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (} "}"))) (switch_statement "switch(uVar7) {\n    default:\n      uVar6 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);\n                    \n      FUN_0011dc10(uVar6,uVar7,0x26c9,"../../gas/config/tc-i386.c");\n    case 2:\n      *pbVar2 = 0xe9;\n      lVar11 = 4;\n      pbVar10 = pbVar2 + 1;\n      uVar7 = *(uint *)(param_3 + 0xc);\n      break;\n    case 3:\n      *pbVar2 = 0xe9;\n      lVar11 = 2;\n      pbVar10 = pbVar2 + 1;\n      uVar7 = *(uint *)(param_3 + 0xc);\n      break;\n    case 6:\n    case 10:\n      bVar1 = *pbVar2;\n      lVar11 = 5;\n      *pbVar2 = 0xf;\n      pbVar10 = pbVar2 + 2;\n      pbVar2[1] = bVar1 + 0x10;\n      uVar7 = *(uint *)(param_3 + 0xc);\n      break;\n    case 7:\n      bVar1 = *pbVar2;\n      lVar11 = 3;\n      *pbVar2 = 0xf;\n      pbVar10 = pbVar2 + 2;\n      pbVar2[1] = bVar1 + 0x10;\n      uVar7 = *(uint *)(param_3 + 0xc);\n      break;\n    case 0xb:\n      *pbVar2 = *pbVar2 ^ 1;\n      lVar11 = 4;\n      pbVar10 = pbVar2 + 3;\n      pbVar2[1] = 3;\n      pbVar2[2] = 0xe9;\n      uVar7 = *(uint *)(param_3 + 0xc);\n    }" (switch "switch") (parenthesized_expression "(uVar7)" (( "(") (identifier "uVar7") () ")")) (compound_statement "{\n    default:\n      uVar6 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);\n                    \n      FUN_0011dc10(uVar6,uVar7,0x26c9,"../../gas/config/tc-i386.c");\n    case 2:\n      *pbVar2 = 0xe9;\n      lVar11 = 4;\n      pbVar10 = pbVar2 + 1;\n      uVar7 = *(uint *)(param_3 + 0xc);\n      break;\n    case 3:\n      *pbVar2 = 0xe9;\n      lVar11 = 2;\n      pbVar10 = pbVar2 + 1;\n      uVar7 = *(uint *)(param_3 + 0xc);\n      break;\n    case 6:\n    case 10:\n      bVar1 = *pbVar2;\n      lVar11 = 5;\n      *pbVar2 = 0xf;\n      pbVar10 = pbVar2 + 2;\n      pbVar2[1] = bVar1 + 0x10;\n      uVar7 = *(uint *)(param_3 + 0xc);\n      break;\n    case 7:\n      bVar1 = *pbVar2;\n      lVar11 = 3;\n      *pbVar2 = 0xf;\n      pbVar10 = pbVar2 + 2;\n      pbVar2[1] = bVar1 + 0x10;\n      uVar7 = *(uint *)(param_3 + 0xc);\n      break;\n    case 0xb:\n      *pbVar2 = *pbVar2 ^ 1;\n      lVar11 = 4;\n      pbVar10 = pbVar2 + 3;\n      pbVar2[1] = 3;\n      pbVar2[2] = 0xe9;\n      uVar7 = *(uint *)(param_3 + 0xc);\n    }" ({ "{") (case_statement "default:\n      uVar6 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);\n                    \n      FUN_0011dc10(uVar6,uVar7,0x26c9,"../../gas/config/tc-i386.c");" (default "default") (: ":") (expression_statement "uVar6 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);" (assignment_expression "uVar6 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5)" (identifier "uVar6") (= "=") (call_expression "dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5)" (identifier "dcgettext") (argument_list "(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""Case value %ld unexpected at line %d of file \"%s\"\n"" (" """) (string_content "Case value %ld unexpected at line %d of file ") (escape_sequence "\"") (string_content "%s") (escape_sequence "\"") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_0011dc10(uVar6,uVar7,0x26c9,"../../gas/config/tc-i386.c");" (call_expression "FUN_0011dc10(uVar6,uVar7,0x26c9,"../../gas/config/tc-i386.c")" (identifier "FUN_0011dc10") (argument_list "(uVar6,uVar7,0x26c9,"../../gas/config/tc-i386.c")" (( "(") (identifier "uVar6") (, ",") (identifier "uVar7") (, ",") (number_literal "0x26c9") (, ",") (string_literal ""../../gas/config/tc-i386.c"" (" """) (string_content "../../gas/config/tc-i386.c") (" """)) () ")"))) (; ";"))) (case_statement "case 2:\n      *pbVar2 = 0xe9;\n      lVar11 = 4;\n      pbVar10 = pbVar2 + 1;\n      uVar7 = *(uint *)(param_3 + 0xc);\n      break;" (case "case") (number_literal "2") (: ":") (expression_statement "*pbVar2 = 0xe9;" (assignment_expression "*pbVar2 = 0xe9" (pointer_expression "*pbVar2" (* "*") (identifier "pbVar2")) (= "=") (number_literal "0xe9")) (; ";")) (expression_statement "lVar11 = 4;" (assignment_expression "lVar11 = 4" (identifier "lVar11") (= "=") (number_literal "4")) (; ";")) (expression_statement "pbVar10 = pbVar2 + 1;" (assignment_expression "pbVar10 = pbVar2 + 1" (identifier "pbVar10") (= "=") (binary_expression "pbVar2 + 1" (identifier "pbVar2") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "uVar7 = *(uint *)(param_3 + 0xc);" (assignment_expression "uVar7 = *(uint *)(param_3 + 0xc)" (identifier "uVar7") (= "=") (pointer_expression "*(uint *)(param_3 + 0xc)" (* "*") (cast_expression "(uint *)(param_3 + 0xc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0xc)" (( "(") (binary_expression "param_3 + 0xc" (identifier "param_3") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 3:\n      *pbVar2 = 0xe9;\n      lVar11 = 2;\n      pbVar10 = pbVar2 + 1;\n      uVar7 = *(uint *)(param_3 + 0xc);\n      break;" (case "case") (number_literal "3") (: ":") (expression_statement "*pbVar2 = 0xe9;" (assignment_expression "*pbVar2 = 0xe9" (pointer_expression "*pbVar2" (* "*") (identifier "pbVar2")) (= "=") (number_literal "0xe9")) (; ";")) (expression_statement "lVar11 = 2;" (assignment_expression "lVar11 = 2" (identifier "lVar11") (= "=") (number_literal "2")) (; ";")) (expression_statement "pbVar10 = pbVar2 + 1;" (assignment_expression "pbVar10 = pbVar2 + 1" (identifier "pbVar10") (= "=") (binary_expression "pbVar2 + 1" (identifier "pbVar2") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "uVar7 = *(uint *)(param_3 + 0xc);" (assignment_expression "uVar7 = *(uint *)(param_3 + 0xc)" (identifier "uVar7") (= "=") (pointer_expression "*(uint *)(param_3 + 0xc)" (* "*") (cast_expression "(uint *)(param_3 + 0xc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0xc)" (( "(") (binary_expression "param_3 + 0xc" (identifier "param_3") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 6:" (case "case") (number_literal "6") (: ":")) (case_statement "case 10:\n      bVar1 = *pbVar2;\n      lVar11 = 5;\n      *pbVar2 = 0xf;\n      pbVar10 = pbVar2 + 2;\n      pbVar2[1] = bVar1 + 0x10;\n      uVar7 = *(uint *)(param_3 + 0xc);\n      break;" (case "case") (number_literal "10") (: ":") (expression_statement "bVar1 = *pbVar2;" (assignment_expression "bVar1 = *pbVar2" (identifier "bVar1") (= "=") (pointer_expression "*pbVar2" (* "*") (identifier "pbVar2"))) (; ";")) (expression_statement "lVar11 = 5;" (assignment_expression "lVar11 = 5" (identifier "lVar11") (= "=") (number_literal "5")) (; ";")) (expression_statement "*pbVar2 = 0xf;" (assignment_expression "*pbVar2 = 0xf" (pointer_expression "*pbVar2" (* "*") (identifier "pbVar2")) (= "=") (number_literal "0xf")) (; ";")) (expression_statement "pbVar10 = pbVar2 + 2;" (assignment_expression "pbVar10 = pbVar2 + 2" (identifier "pbVar10") (= "=") (binary_expression "pbVar2 + 2" (identifier "pbVar2") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "pbVar2[1] = bVar1 + 0x10;" (assignment_expression "pbVar2[1] = bVar1 + 0x10" (subscript_expression "pbVar2[1]" (identifier "pbVar2") ([ "[") (number_literal "1") (] "]")) (= "=") (binary_expression "bVar1 + 0x10" (identifier "bVar1") (+ "+") (number_literal "0x10"))) (; ";")) (expression_statement "uVar7 = *(uint *)(param_3 + 0xc);" (assignment_expression "uVar7 = *(uint *)(param_3 + 0xc)" (identifier "uVar7") (= "=") (pointer_expression "*(uint *)(param_3 + 0xc)" (* "*") (cast_expression "(uint *)(param_3 + 0xc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0xc)" (( "(") (binary_expression "param_3 + 0xc" (identifier "param_3") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 7:\n      bVar1 = *pbVar2;\n      lVar11 = 3;\n      *pbVar2 = 0xf;\n      pbVar10 = pbVar2 + 2;\n      pbVar2[1] = bVar1 + 0x10;\n      uVar7 = *(uint *)(param_3 + 0xc);\n      break;" (case "case") (number_literal "7") (: ":") (expression_statement "bVar1 = *pbVar2;" (assignment_expression "bVar1 = *pbVar2" (identifier "bVar1") (= "=") (pointer_expression "*pbVar2" (* "*") (identifier "pbVar2"))) (; ";")) (expression_statement "lVar11 = 3;" (assignment_expression "lVar11 = 3" (identifier "lVar11") (= "=") (number_literal "3")) (; ";")) (expression_statement "*pbVar2 = 0xf;" (assignment_expression "*pbVar2 = 0xf" (pointer_expression "*pbVar2" (* "*") (identifier "pbVar2")) (= "=") (number_literal "0xf")) (; ";")) (expression_statement "pbVar10 = pbVar2 + 2;" (assignment_expression "pbVar10 = pbVar2 + 2" (identifier "pbVar10") (= "=") (binary_expression "pbVar2 + 2" (identifier "pbVar2") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "pbVar2[1] = bVar1 + 0x10;" (assignment_expression "pbVar2[1] = bVar1 + 0x10" (subscript_expression "pbVar2[1]" (identifier "pbVar2") ([ "[") (number_literal "1") (] "]")) (= "=") (binary_expression "bVar1 + 0x10" (identifier "bVar1") (+ "+") (number_literal "0x10"))) (; ";")) (expression_statement "uVar7 = *(uint *)(param_3 + 0xc);" (assignment_expression "uVar7 = *(uint *)(param_3 + 0xc)" (identifier "uVar7") (= "=") (pointer_expression "*(uint *)(param_3 + 0xc)" (* "*") (cast_expression "(uint *)(param_3 + 0xc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0xc)" (( "(") (binary_expression "param_3 + 0xc" (identifier "param_3") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0xb:\n      *pbVar2 = *pbVar2 ^ 1;\n      lVar11 = 4;\n      pbVar10 = pbVar2 + 3;\n      pbVar2[1] = 3;\n      pbVar2[2] = 0xe9;\n      uVar7 = *(uint *)(param_3 + 0xc);" (case "case") (number_literal "0xb") (: ":") (expression_statement "*pbVar2 = *pbVar2 ^ 1;" (assignment_expression "*pbVar2 = *pbVar2 ^ 1" (pointer_expression "*pbVar2" (* "*") (identifier "pbVar2")) (= "=") (binary_expression "*pbVar2 ^ 1" (pointer_expression "*pbVar2" (* "*") (identifier "pbVar2")) (^ "^") (number_literal "1"))) (; ";")) (expression_statement "lVar11 = 4;" (assignment_expression "lVar11 = 4" (identifier "lVar11") (= "=") (number_literal "4")) (; ";")) (expression_statement "pbVar10 = pbVar2 + 3;" (assignment_expression "pbVar10 = pbVar2 + 3" (identifier "pbVar10") (= "=") (binary_expression "pbVar2 + 3" (identifier "pbVar2") (+ "+") (number_literal "3"))) (; ";")) (expression_statement "pbVar2[1] = 3;" (assignment_expression "pbVar2[1] = 3" (subscript_expression "pbVar2[1]" (identifier "pbVar2") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "3")) (; ";")) (expression_statement "pbVar2[2] = 0xe9;" (assignment_expression "pbVar2[2] = 0xe9" (subscript_expression "pbVar2[2]" (identifier "pbVar2") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0xe9")) (; ";")) (expression_statement "uVar7 = *(uint *)(param_3 + 0xc);" (assignment_expression "uVar7 = *(uint *)(param_3 + 0xc)" (identifier "uVar7") (= "=") (pointer_expression "*(uint *)(param_3 + 0xc)" (* "*") (cast_expression "(uint *)(param_3 + 0xc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0xc)" (( "(") (binary_expression "param_3 + 0xc" (identifier "param_3") (+ "+") (number_literal "0xc")) () ")"))))) (; ";"))) (} "}"))) (} "}")))) (expression_statement "uVar7 = uVar7 & 3;" (assignment_expression "uVar7 = uVar7 & 3" (identifier "uVar7") (= "=") (binary_expression "uVar7 & 3" (identifier "uVar7") (& "&") (number_literal "3"))) (; ";")) (expression_statement "lVar9 = (((lVar5 + lVar9) - lVar3) - lVar4) - lVar11;" (assignment_expression "lVar9 = (((lVar5 + lVar9) - lVar3) - lVar4) - lVar11" (identifier "lVar9") (= "=") (binary_expression "(((lVar5 + lVar9) - lVar3) - lVar4) - lVar11" (parenthesized_expression "(((lVar5 + lVar9) - lVar3) - lVar4)" (( "(") (binary_expression "((lVar5 + lVar9) - lVar3) - lVar4" (parenthesized_expression "((lVar5 + lVar9) - lVar3)" (( "(") (binary_expression "(lVar5 + lVar9) - lVar3" (parenthesized_expression "(lVar5 + lVar9)" (( "(") (binary_expression "lVar5 + lVar9" (identifier "lVar5") (+ "+") (identifier "lVar9")) () ")")) (- "-") (identifier "lVar3")) () ")")) (- "-") (identifier "lVar4")) () ")")) (- "-") (identifier "lVar11"))) (; ";")) (if_statement "if (uVar7 == 2) {\n    cVar8 = '\x04';\n    if ((DAT_001e3b10 == 0) || (lVar9 + 0x80000000U < 0x100000000)) goto LAB_001409b9;\n    uVar6 = dcgettext(0,"jump target out of range",5);\n    FUN_0011db40(param_3[8],(int)param_3[9],uVar6);\n    lVar9 = 0;\n    uVar7 = *(uint *)(param_3 + 0xc) & 3;\n    if (uVar7 == 2) goto LAB_001409b9;\n  }" (if "if") (parenthesized_expression "(uVar7 == 2)" (( "(") (binary_expression "uVar7 == 2" (identifier "uVar7") (== "==") (number_literal "2")) () ")")) (compound_statement "{\n    cVar8 = '\x04';\n    if ((DAT_001e3b10 == 0) || (lVar9 + 0x80000000U < 0x100000000)) goto LAB_001409b9;\n    uVar6 = dcgettext(0,"jump target out of range",5);\n    FUN_0011db40(param_3[8],(int)param_3[9],uVar6);\n    lVar9 = 0;\n    uVar7 = *(uint *)(param_3 + 0xc) & 3;\n    if (uVar7 == 2) goto LAB_001409b9;\n  }" ({ "{") (expression_statement "cVar8 = '\x04';" (assignment_expression "cVar8 = '\x04'" (identifier "cVar8") (= "=") (char_literal "'\x04'" (' "'") (escape_sequence "\x04") (' "'"))) (; ";")) (if_statement "if ((DAT_001e3b10 == 0) || (lVar9 + 0x80000000U < 0x100000000)) goto LAB_001409b9;" (if "if") (parenthesized_expression "((DAT_001e3b10 == 0) || (lVar9 + 0x80000000U < 0x100000000))" (( "(") (binary_expression "(DAT_001e3b10 == 0) || (lVar9 + 0x80000000U < 0x100000000)" (parenthesized_expression "(DAT_001e3b10 == 0)" (( "(") (binary_expression "DAT_001e3b10 == 0" (identifier "DAT_001e3b10") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(lVar9 + 0x80000000U < 0x100000000)" (( "(") (binary_expression "lVar9 + 0x80000000U < 0x100000000" (binary_expression "lVar9 + 0x80000000U" (identifier "lVar9") (+ "+") (number_literal "0x80000000U")) (< "<") (number_literal "0x100000000")) () ")"))) () ")")) (goto_statement "goto LAB_001409b9;" (goto "goto") (statement_identifier "LAB_001409b9") (; ";"))) (expression_statement "uVar6 = dcgettext(0,"jump target out of range",5);" (assignment_expression "uVar6 = dcgettext(0,"jump target out of range",5)" (identifier "uVar6") (= "=") (call_expression "dcgettext(0,"jump target out of range",5)" (identifier "dcgettext") (argument_list "(0,"jump target out of range",5)" (( "(") (number_literal "0") (, ",") (string_literal ""jump target out of range"" (" """) (string_content "jump target out of range") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_0011db40(param_3[8],(int)param_3[9],uVar6);" (call_expression "FUN_0011db40(param_3[8],(int)param_3[9],uVar6)" (identifier "FUN_0011db40") (argument_list "(param_3[8],(int)param_3[9],uVar6)" (( "(") (subscript_expression "param_3[8]" (identifier "param_3") ([ "[") (number_literal "8") (] "]")) (, ",") (cast_expression "(int)param_3[9]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "param_3[9]" (identifier "param_3") ([ "[") (number_literal "9") (] "]"))) (, ",") (identifier "uVar6") () ")"))) (; ";")) (expression_statement "lVar9 = 0;" (assignment_expression "lVar9 = 0" (identifier "lVar9") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar7 = *(uint *)(param_3 + 0xc) & 3;" (assignment_expression "uVar7 = *(uint *)(param_3 + 0xc) & 3" (identifier "uVar7") (= "=") (binary_expression "*(uint *)(param_3 + 0xc) & 3" (pointer_expression "*(uint *)(param_3 + 0xc)" (* "*") (cast_expression "(uint *)(param_3 + 0xc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0xc)" (( "(") (binary_expression "param_3 + 0xc" (identifier "param_3") (+ "+") (number_literal "0xc")) () ")")))) (& "&") (number_literal "3"))) (; ";")) (if_statement "if (uVar7 == 2) goto LAB_001409b9;" (if "if") (parenthesized_expression "(uVar7 == 2)" (( "(") (binary_expression "uVar7 == 2" (identifier "uVar7") (== "==") (number_literal "2")) () ")")) (goto_statement "goto LAB_001409b9;" (goto "goto") (statement_identifier "LAB_001409b9") (; ";"))) (} "}"))) (expression_statement "cVar8 = (uVar7 == 3) + '\x01';" (assignment_expression "cVar8 = (uVar7 == 3) + '\x01'" (identifier "cVar8") (= "=") (binary_expression "(uVar7 == 3) + '\x01'" (parenthesized_expression "(uVar7 == 3)" (( "(") (binary_expression "uVar7 == 3" (identifier "uVar7") (== "==") (number_literal "3")) () ")")) (+ "+") (char_literal "'\x01'" (' "'") (escape_sequence "\x01") (' "'")))) (; ";")) (labeled_statement "LAB_001409b9:\n  FUN_00131030(pbVar10,lVar9,cVar8);" (statement_identifier "LAB_001409b9") (: ":") (expression_statement "FUN_00131030(pbVar10,lVar9,cVar8);" (call_expression "FUN_00131030(pbVar10,lVar9,cVar8)" (identifier "FUN_00131030") (argument_list "(pbVar10,lVar9,cVar8)" (( "(") (identifier "pbVar10") (, ",") (identifier "lVar9") (, ",") (identifier "cVar8") () ")"))) (; ";"))) (expression_statement "param_3[2] = param_3[2] + lVar11;" (assignment_expression "param_3[2] = param_3[2] + lVar11" (subscript_expression "param_3[2]" (identifier "param_3") ([ "[") (number_literal "2") (] "]")) (= "=") (binary_expression "param_3[2] + lVar11" (subscript_expression "param_3[2]" (identifier "param_3") ([ "[") (number_literal "2") (] "]")) (+ "+") (identifier "lVar11"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}")))

void function_1(type_1 *abfd,type_2 sec,type_3 *fragP)

{
  type_4 var_8;
  type_4 *var_3;
  long var_10;
  long var_11;
  type_5 var_12;
  type_6 var_9;
  char *pcVar7;
  type_7 var_2;
  int n;
  type_4 *buf;
  long var_13;
  
  var_3 = (type_4 *)fragP->fr_opcode;
  var_9 = var_1(fragP->fr_symbol);
  var_2 = fragP->fr_subtype;
  var_10 = fragP->fr_offset;
  var_11 = fragP->fr_fix;
  var_12 = fragP->fr_address;
  if ((var_2 & 2) == 0) {
    buf = var_3 + 1;
    var_13 = 1;
  }
  else {
    if ((var_4 != 0) && (var_2 >> 2 != 0)) {
      pcVar7 = (char *)var_5(0,"long jump required",5);
      var_6(fragP->fr_file,fragP->fr_line,pcVar7);
      var_2 = fragP->fr_subtype;
    }
    switch((type_8)var_2) {
    default:
      pcVar7 = (char *)var_5(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);
                    /* WARNING: Subroutine does not return */
      var_7(pcVar7,(type_8)var_2,0x26c9,"../../gas/config/tc-i386.c");
    case 2:
      *var_3 = 0xe9;
      var_13 = 4;
      buf = var_3 + 1;
      var_2 = fragP->fr_subtype;
      break;
    case 3:
      *var_3 = 0xe9;
      var_13 = 2;
      buf = var_3 + 1;
      var_2 = fragP->fr_subtype;
      break;
    case 6:
    case 10:
      var_8 = *var_3;
      var_13 = 5;
      *var_3 = 0xf;
      buf = var_3 + 2;
      var_3[1] = var_8 + 0x10;
      var_2 = fragP->fr_subtype;
      break;
    case 7:
      var_8 = *var_3;
      var_13 = 3;
      *var_3 = 0xf;
      buf = var_3 + 2;
      var_3[1] = var_8 + 0x10;
      var_2 = fragP->fr_subtype;
      break;
    case 0xb:
      *var_3 = *var_3 ^ 1;
      var_13 = 4;
      buf = var_3 + 3;
      var_3[1] = 3;
      var_3[2] = 0xe9;
      var_2 = fragP->fr_subtype;
    }
  }
  var_2 = var_2 & 3;
  var_9 = (((var_9 + var_10) - var_11) - var_12) - var_13;
  if (var_2 == 2) {
    n = 4;
    if ((var_14 == 0) || (var_9 + 0x80000000 < 0x100000000)) goto LAB_001409b9;
    pcVar7 = (char *)var_5(0,"jump target out of range",5);
    var_15(fragP->fr_file,fragP->fr_line,pcVar7);
    var_9 = 0;
    var_2 = fragP->fr_subtype & 3;
    if (var_2 == 2) goto LAB_001409b9;
  }
  n = (var_2 == 3) + 1;
LAB_001409b9:
  var_16((char *)buf,var_9,n);
  fragP->fr_fix = fragP->fr_fix + var_13;
  return;
}


(translation_unit (function_definition type: (primitive_type) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (sized_type_specifier) declarator: (pointer_declarator declarator: (identifier))))) body: (compound_statement (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (sized_type_specifier) declarator: (identifier)) (declaration type: (sized_type_specifier) declarator: (identifier)) (declaration type: (sized_type_specifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (sized_type_specifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (sized_type_specifier) declarator: (identifier)) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (number_literal) (string_literal (string_content)) (number_literal))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)) (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))) (switch_statement condition: (parenthesized_expression (identifier)) body: (compound_statement (case_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (number_literal) (string_literal (string_content) (escape_sequence) (string_content) (escape_sequence) (escape_sequence)) (number_literal))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (number_literal) (string_literal (string_content)))))) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (break_statement)) (case_statement value: (number_literal)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (identifier))) right: (identifier))) right: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (char_literal (escape_sequence)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal))))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (number_literal) (string_literal (string_content)) (number_literal))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)) (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (char_literal (escape_sequence))))) (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier)))) (return_statement))))

void MASKED(undefined8 param_1,undefined8 param_2,long *param_3)

{
  byte bVar1;
  byte *pbVar2;
  long lVar3;
  long lVar4;
  long lVar5;
  undefined8 uVar6;
  uint uVar7;
  char cVar8;
  long lVar9;
  byte *pbVar10;
  long lVar11;
  
  pbVar2 = (byte *)param_3[6];
  lVar5 = thunk_FUN_0012a990(param_3[5]);
  uVar7 = *(uint *)(param_3 + 0xc);
  lVar9 = param_3[4];
  lVar3 = param_3[2];
  lVar4 = *param_3;
  if ((uVar7 & 2) == 0) {
    pbVar10 = pbVar2 + 1;
    lVar11 = 1;
  }
  else {
    if ((DAT_001e3a9c != 0) && (uVar7 >> 2 != 0)) {
      uVar6 = dcgettext(0,"long jump required",5);
      FUN_0011d990(param_3[8],(int)param_3[9],uVar6);
      uVar7 = *(uint *)(param_3 + 0xc);
    }
    switch(uVar7) {
    default:
      uVar6 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5);
                    /* WARNING: Subroutine does not return */
      FUN_0011dc10(uVar6,uVar7,0x26c9,"../../gas/config/tc-i386.c");
    case 2:
      *pbVar2 = 0xe9;
      lVar11 = 4;
      pbVar10 = pbVar2 + 1;
      uVar7 = *(uint *)(param_3 + 0xc);
      break;
    case 3:
      *pbVar2 = 0xe9;
      lVar11 = 2;
      pbVar10 = pbVar2 + 1;
      uVar7 = *(uint *)(param_3 + 0xc);
      break;
    case 6:
    case 10:
      bVar1 = *pbVar2;
      lVar11 = 5;
      *pbVar2 = 0xf;
      pbVar10 = pbVar2 + 2;
      pbVar2[1] = bVar1 + 0x10;
      uVar7 = *(uint *)(param_3 + 0xc);
      break;
    case 7:
      bVar1 = *pbVar2;
      lVar11 = 3;
      *pbVar2 = 0xf;
      pbVar10 = pbVar2 + 2;
      pbVar2[1] = bVar1 + 0x10;
      uVar7 = *(uint *)(param_3 + 0xc);
      break;
    case 0xb:
      *pbVar2 = *pbVar2 ^ 1;
      lVar11 = 4;
      pbVar10 = pbVar2 + 3;
      pbVar2[1] = 3;
      pbVar2[2] = 0xe9;
      uVar7 = *(uint *)(param_3 + 0xc);
    }
  }
  uVar7 = uVar7 & 3;
  lVar9 = (((lVar5 + lVar9) - lVar3) - lVar4) - lVar11;
  if (uVar7 == 2) {
    cVar8 = '\x04';
    if ((DAT_001e3b10 == 0) || (lVar9 + 0x80000000U < 0x100000000)) goto LAB_001409b9;
    uVar6 = dcgettext(0,"jump target out of range",5);
    FUN_0011db40(param_3[8],(int)param_3[9],uVar6);
    lVar9 = 0;
    uVar7 = *(uint *)(param_3 + 0xc) & 3;
    if (uVar7 == 2) goto LAB_001409b9;
  }
  cVar8 = (uVar7 == 3) + '\x01';
LAB_001409b9:
  FUN_00131030(pbVar10,lVar9,cVar8);
  param_3[2] = param_3[2] + lVar11;
  return;
}

