
/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Unknown calling convention */

int md_estimate_size_before_relax(fragS *fragP,segT segment)

{
  offsetT *poVar1;
  int *piVar2;
  byte bVar3;
  int iVar4;
  uint where;
  byte *pbVar5;
  symbolS *s;
  int iVar6;
  offsetT oVar7;
  segT paVar8;
  uint uVar9;
  asymbol *paVar10;
  int iVar11;
  uint uVar12;
  bfd_boolean bVar13;
  fixS *pfVar14;
  char *format;
  bfd_reloc_code_real r_type;
  uint size;
  
  paVar8 = S_GET_SEGMENT(fragP->fr_symbol);
  if (paVar8 == segment) {
    iVar4 = *(int *)((int)&fragP->fr_var + 4);
    s = fragP->fr_symbol;
    iVar6 = (int)fragP->fr_var;
    paVar10 = symbol_get_bfdsym(s);
    if ((paVar10->flags & 0x400000) == 0) {
      iVar11 = S_IS_EXTERNAL(s);
      if (iVar11 == 0) {
        iVar11 = S_IS_WEAK(s);
      }
      else {
        uVar12 = elf_s_get_other(s);
        if ((uVar12 & 3) != 0) goto LAB_000517c4;
        iVar11 = shared;
        if (iVar4 != 0 || iVar6 != 0x47) {
          if ((iVar6 != 0x165) && (iVar6 != 0x17e)) {
                    /* WARNING: Subroutine does not return */
            as_abort("../../gas/config/tc-i386.c",0x25ed,"elf_symbol_resolved_in_segment_p");
          }
          goto LAB_0005160b;
        }
      }
      if (iVar11 == 0) {
LAB_000517c4:
        return (uint)(byte)md_relax_table[fragP->fr_subtype * 0x18 + 0x10];
      }
    }
  }
LAB_0005160b:
  r_type = (bfd_reloc_code_real)fragP->fr_var;
  uVar12 = fragP->fr_subtype;
  iVar4 = *(int *)((int)&fragP->fr_var + 4);
  if ((uVar12 & 1) == 0) {
    size = 4;
    if (iVar4 == 0 && (r_type ^ BFD_RELOC_NONE) == _dummy_first_bfd_reloc_code_real) {
      bVar13 = need_plt32_p(fragP->fr_symbol);
      uVar12 = fragP->fr_subtype;
      r_type = BFD_RELOC_X86_64_PLT32;
      if (bVar13 == 0) {
        r_type = BFD_RELOC_32_PCREL;
      }
    }
  }
  else {
    size = 2;
    if (iVar4 == 0 && (r_type ^ BFD_RELOC_NONE) == _dummy_first_bfd_reloc_code_real) {
      r_type = BFD_RELOC_16_PCREL;
    }
  }
  where = (uint)fragP->fr_fix;
  iVar4 = *(int *)((int)&fragP->fr_fix + 4);
  uVar9 = uVar12 >> 2;
  pbVar5 = (byte *)fragP->fr_opcode;
  if (uVar9 == 1) {
LAB_000516c8:
    if ((no_cond_jump_promotion == 0) ||
       ((int)fragP->fr_var != 0x47 || *(int *)((int)&fragP->fr_var + 4) != 0)) {
      bVar3 = *pbVar5;
      *pbVar5 = 0xf;
      pbVar5[1] = bVar3 + 0x10;
      poVar1 = &fragP->fr_fix;
      oVar7 = *poVar1;
      *(uint *)poVar1 = (int)*poVar1 + size + 1;
      piVar2 = (int *)((int)&fragP->fr_fix + 4);
      *piVar2 = *piVar2 + (uint)CARRY4((uint)oVar7,size + 1);
      fix_new(fragP,where + 1,size,fragP->fr_symbol,fragP->fr_offset,1,r_type);
      goto LAB_0005167a;
    }
  }
  else {
    if (uVar9 == 0) {
      *pbVar5 = 0xe9;
      poVar1 = &fragP->fr_fix;
      oVar7 = *poVar1;
      *(uint *)poVar1 = (int)*poVar1 + size;
      piVar2 = (int *)((int)&fragP->fr_fix + 4);
      *piVar2 = *piVar2 + (uint)CARRY4((uint)oVar7,size);
      fix_new(fragP,where,size,fragP->fr_symbol,fragP->fr_offset,1,r_type);
      goto LAB_0005167a;
    }
    if (uVar9 != 2) {
      format = (char *)dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5,uVar9);
                    /* WARNING: Subroutine does not return */
      as_fatal(format,uVar12,0x2667,"../../gas/config/tc-i386.c");
    }
    if (size != 2) goto LAB_000516c8;
    if ((no_cond_jump_promotion == 0) ||
       ((int)fragP->fr_var != 0x47 || *(int *)((int)&fragP->fr_var + 4) != 0)) {
      *pbVar5 = *pbVar5 ^ 1;
      pbVar5[1] = 3;
      pbVar5[2] = 0xe9;
      poVar1 = &fragP->fr_fix;
      oVar7 = *poVar1;
      *(int *)poVar1 = (int)*poVar1 + 4;
      piVar2 = (int *)((int)&fragP->fr_fix + 4);
      *piVar2 = *piVar2 + (uint)(0xfffffffb < (uint)oVar7);
      fix_new(fragP,where + 2,2,fragP->fr_symbol,fragP->fr_offset,1,r_type);
      goto LAB_0005167a;
    }
  }
  *(uint *)&fragP->fr_fix = where + 1;
  *(uint *)((int)&fragP->fr_fix + 4) = iVar4 + (uint)(0xfffffffe < where);
  pfVar14 = fix_new(fragP,where,1,fragP->fr_symbol,fragP->fr_offset,1,BFD_RELOC_8_PCREL);
  *(byte *)pfVar14 = *(byte *)pfVar14 | 0x80;
LAB_0005167a:
  frag_wane(fragP);
  return (int)fragP->fr_fix - where;
}



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

uint FUN_000515e0(int param_1,int param_2)

{
  uint *puVar1;
  byte bVar2;
  uint uVar3;
  int iVar4;
  uint uVar5;
  int iVar6;
  uint uVar7;
  byte *pbVar8;
  undefined4 uVar9;
  uint uVar10;
  uint uVar11;
  
  iVar4 = FUN_00038ac0(*(undefined4 *)(param_1 + 0x28));
  if (iVar4 == param_2) {
    iVar4 = *(int *)(param_1 + 0x1c);
    uVar9 = *(undefined4 *)(param_1 + 0x28);
    uVar10 = *(uint *)(param_1 + 0x18);
    iVar6 = FUN_0003bdf0(uVar9);
    if ((*(byte *)(iVar6 + 0x12) & 0x40) == 0) {
      iVar6 = FUN_00038510(uVar9);
      if (iVar6 == 0) {
        iVar6 = FUN_00038580(uVar9);
      }
      else {
        uVar7 = FUN_00054410(uVar9);
        if ((uVar7 & 3) != 0) goto LAB_000517c4;
        iVar6 = DAT_00088ef8;
        if (iVar4 != 0 || (uVar10 ^ 0x47) != 0) {
          if ((uVar10 != 0x165) && (uVar10 != 0x17e)) {
                    /* WARNING: Subroutine does not return */
            FUN_0002be80("../../gas/config/tc-i386.c",0x25ed,"elf_symbol_resolved_in_segment_p",
                         uVar10 ^ 0x47);
          }
          goto LAB_0005160b;
        }
      }
      if (iVar6 == 0) {
LAB_000517c4:
        return (uint)(byte)(&DAT_00065570)[*(int *)(param_1 + 0x48) * 0x18];
      }
    }
  }
LAB_0005160b:
  uVar10 = *(uint *)(param_1 + 0x18);
  uVar7 = *(uint *)(param_1 + 0x48);
  if ((uVar7 & 1) == 0) {
    uVar11 = 4;
    if (*(int *)(param_1 + 0x1c) == 0 && (uVar10 ^ 0x47) == 0) {
      iVar4 = FUN_00047710();
      uVar7 = *(uint *)(param_1 + 0x48);
      uVar10 = 0x17e;
      if (iVar4 == 0) {
        uVar10 = 9;
      }
    }
  }
  else {
    uVar11 = 2;
    if (*(int *)(param_1 + 0x1c) == 0 && (uVar10 ^ 0x47) == 0) {
      uVar10 = 0xb;
    }
  }
  uVar3 = *(uint *)(param_1 + 0x10);
  uVar5 = uVar7 >> 2;
  pbVar8 = *(byte **)(param_1 + 0x2c);
  if (uVar5 == 1) {
LAB_000516c8:
    if ((DAT_00088ea0 == 0) || (*(int *)(param_1 + 0x18) != 0x47 || *(int *)(param_1 + 0x1c) != 0))
    {
      bVar2 = *pbVar8;
      *pbVar8 = 0xf;
      pbVar8[1] = bVar2 + 0x10;
      puVar1 = (uint *)(param_1 + 0x10);
      uVar7 = *puVar1;
      *puVar1 = *puVar1 + uVar11 + 1;
      *(int *)(param_1 + 0x14) = *(int *)(param_1 + 0x14) + (uint)CARRY4(uVar7,uVar11 + 1);
      FUN_0003ebc0(param_1,uVar3 + 1,uVar11,*(undefined4 *)(param_1 + 0x28),
                   *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),1,uVar10);
      goto LAB_0005167a;
    }
  }
  else {
    if (uVar5 == 0) {
      *pbVar8 = 0xe9;
      puVar1 = (uint *)(param_1 + 0x10);
      uVar7 = *puVar1;
      *puVar1 = *puVar1 + uVar11;
      *(int *)(param_1 + 0x14) = *(int *)(param_1 + 0x14) + (uint)CARRY4(uVar7,uVar11);
      FUN_0003ebc0(param_1,uVar3,uVar11,*(undefined4 *)(param_1 + 0x28),
                   *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),1,uVar10);
      goto LAB_0005167a;
    }
    if (uVar5 != 2) {
      uVar9 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5,uVar5);
                    /* WARNING: Subroutine does not return */
      FUN_0002be00(uVar9,uVar7,0x2667,"../../gas/config/tc-i386.c");
    }
    if (uVar11 != 2) goto LAB_000516c8;
    if ((DAT_00088ea0 == 0) || (*(int *)(param_1 + 0x18) != 0x47 || *(int *)(param_1 + 0x1c) != 0))
    {
      *pbVar8 = *pbVar8 ^ 1;
      pbVar8[1] = 3;
      pbVar8[2] = 0xe9;
      puVar1 = (uint *)(param_1 + 0x10);
      uVar7 = *puVar1;
      *puVar1 = *puVar1 + 4;
      *(int *)(param_1 + 0x14) = *(int *)(param_1 + 0x14) + (uint)(0xfffffffb < uVar7);
      FUN_0003ebc0(param_1,uVar3 + 2,2,*(undefined4 *)(param_1 + 0x28),
                   *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),1,uVar10);
      goto LAB_0005167a;
    }
  }
  *(uint *)(param_1 + 0x10) = uVar3 + 1;
  *(uint *)(param_1 + 0x14) = *(int *)(param_1 + 0x14) + (uint)(0xfffffffe < uVar3);
  pbVar8 = (byte *)FUN_0003ebc0(param_1,uVar3,1,*(undefined4 *)(param_1 + 0x28),
                                *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),1,
                                0xd);
  *pbVar8 = *pbVar8 | 0x80;
LAB_0005167a:
  FUN_00024c10(param_1);
  return *(int *)(param_1 + 0x10) - uVar3;
}


PUSH EBP
PUSH EDI
PUSH ESI
PUSH EBX
CALL 0x00016000
ADD EBX,0x2ea17
SUB ESP,0x28
MOV ESI,dword ptr [ESP + 0x3c]
PUSH dword ptr [ESI + 0x28]
CALL 0x00038ac0
ADD ESP,0x10
CMP EAX,dword ptr [ESP + 0x34]
JZ 0x00051720
MOV ECX,dword ptr [ESI + 0x18]
MOV EBP,dword ptr [ESI + 0x48]
MOV EAX,dword ptr [ESI + 0x1c]
MOV EDX,ECX
XOR EDX,0x47
TEST EBP,0x1
JNZ 0x00051698
OR EAX,EDX
MOV EDI,0x4
JZ 0x000517e0
MOV EAX,dword ptr [ESI + 0x10]
MOV EDX,dword ptr [ESI + 0x14]
MOV dword ptr [ESP],EAX
MOV dword ptr [ESP + 0xc],EAX
MOV EAX,EBP
SHR EAX,0x2
MOV dword ptr [ESP + 0x4],EDX
MOV EDX,dword ptr [ESI + 0x2c]
CMP EAX,0x1
JZ 0x00051718
TEST EAX,EAX
JNZ 0x000516b0
MOV EAX,EDI
MOV byte ptr [EDX],0xe9
CDQ
ADD dword ptr [ESI + 0x10],EDI
ADC dword ptr [ESI + 0x14],EDX
PUSH ECX
PUSH 0x1
PUSH dword ptr [ESI + 0x24]
PUSH dword ptr [ESI + 0x20]
PUSH dword ptr [ESI + 0x28]
PUSH EDI
PUSH dword ptr [ESP + 0x18]
PUSH ESI
CALL 0x0003ebc0
ADD ESP,0x20
SUB ESP,0xc
PUSH ESI
CALL 0x00024c10
MOV EAX,dword ptr [ESI + 0x10]
SUB EAX,dword ptr [ESP + 0x10]
ADD ESP,0x10
ADD ESP,0x1c
POP EBX
POP ESI
POP EDI
POP EBP
RET
OR EAX,EDX
MOV EDI,0x2
JNZ 0x0005162e
MOV ECX,0xb
JMP 0x0005162e
CMP EAX,0x2
JNZ 0x000518a2
MOV EAX,dword ptr [EBX + 0x8ea0]
CMP EDI,0x2
JZ 0x00051808
TEST EAX,EAX
JZ 0x000516db
MOV EAX,dword ptr [ESI + 0x18]
XOR EAX,0x47
OR EAX,dword ptr [ESI + 0x1c]
JZ 0x00051850
MOVZX EAX,byte ptr [EDX]
MOV byte ptr [EDX],0xf
ADD EAX,0x10
MOV byte ptr [EDX + 0x1],AL
LEA EAX,[EDI + 0x1]
CDQ
ADD dword ptr [ESI + 0x10],EAX
ADC dword ptr [ESI + 0x14],EDX
PUSH ECX
PUSH 0x1
PUSH dword ptr [ESI + 0x24]
PUSH dword ptr [ESI + 0x20]
PUSH dword ptr [ESI + 0x28]
PUSH EDI
MOV EAX,dword ptr [ESP + 0x24]
ADD EAX,0x1
PUSH EAX
PUSH ESI
CALL 0x0003ebc0
ADD ESP,0x20
JMP 0x0005167a
MOV EAX,dword ptr [EBX + 0x8ea0]
JMP 0x000516c8
MOV EAX,dword ptr [ESI + 0x1c]
MOV EBP,dword ptr [ESI + 0x28]
SUB ESP,0xc
MOV EDI,dword ptr [ESI + 0x18]
MOV dword ptr [ESP + 0xc],EAX
PUSH EBP
CALL 0x0003bdf0
ADD ESP,0x10
TEST byte ptr [EAX + 0x12],0x40
JNZ 0x0005160b
SUB ESP,0xc
PUSH EBP
CALL 0x00038510
ADD ESP,0x10
TEST EAX,EAX
JZ 0x000517a8
SUB ESP,0xc
PUSH EBP
CALL 0x00054410
ADD ESP,0x10
TEST AL,0x3
JNZ 0x000517c4
MOV EAX,EDI
MOV ECX,dword ptr [ESP]
XOR EAX,0x47
OR ECX,EAX
JZ 0x00051890
CMP EDI,0x165
JZ 0x0005160b
CMP EDI,0x17e
JZ 0x0005160b
PUSH EAX
LEA EAX,[EBX + 0xfffe5240]
PUSH EAX
LEA EAX,[EBX + 0xfffe3b52]
PUSH 0x25ed
PUSH EAX
CALL 0x0002be80
SUB ESP,0xc
PUSH EBP
CALL 0x00038580
ADD ESP,0x10
TEST EAX,EAX
SETZ AL
MOVZX EAX,AL
TEST EAX,EAX
JZ 0x0005160b
MOV EAX,dword ptr [ESI + 0x48]
LEA EAX,[EAX + EAX*0x2]
MOVZX EAX,byte ptr [EBX + EAX*0x8 + 0xfffe5570]
JMP 0x0005168d
MOV EAX,dword ptr [ESI + 0x28]
CALL 0x00047710
MOV EBP,dword ptr [ESI + 0x48]
MOV ECX,0x17e
TEST EAX,EAX
JNZ 0x0005162e
MOV ECX,0x9
JMP 0x0005162e
TEST EAX,EAX
JZ 0x00051817
MOV EAX,dword ptr [ESI + 0x18]
XOR EAX,0x47
OR EAX,dword ptr [ESI + 0x1c]
JZ 0x00051850
MOV EDI,0xffffe903
XOR byte ptr [EDX],0x1
MOV word ptr [EDX + 0x1],DI
ADD dword ptr [ESI + 0x10],0x4
ADC dword ptr [ESI + 0x14],0x0
PUSH ECX
PUSH 0x1
PUSH dword ptr [ESI + 0x24]
PUSH dword ptr [ESI + 0x20]
PUSH dword ptr [ESI + 0x28]
PUSH 0x2
MOV EAX,dword ptr [ESP + 0x24]
ADD EAX,0x2
PUSH EAX
PUSH ESI
CALL 0x0003ebc0
ADD ESP,0x20
JMP 0x0005167a
MOV EAX,dword ptr [ESP]
MOV EDX,dword ptr [ESP + 0x4]
ADD EAX,0x1
ADC EDX,0x0
MOV dword ptr [ESI + 0x10],EAX
MOV dword ptr [ESI + 0x14],EDX
PUSH 0xd
PUSH 0x1
PUSH dword ptr [ESI + 0x24]
PUSH dword ptr [ESI + 0x20]
PUSH dword ptr [ESI + 0x28]
PUSH 0x1
PUSH dword ptr [ESP + 0x24]
PUSH ESI
CALL 0x0003ebc0
ADD ESP,0x20
OR byte ptr [EAX],0x80
JMP 0x0005167a
MOV EBP,dword ptr [EBX + 0x8ef8]
XOR EAX,EAX
TEST EBP,EBP
SETZ AL
JMP 0x000517bc
PUSH EAX
LEA EAX,[EBX + 0xfffdb098]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000141a0
LEA EDX,[EBX + 0xfffe3b52]
PUSH EDX
PUSH 0x2667
PUSH EBP
PUSH EAX
CALL 0x0002be00
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nuint FUN_000515e0(int param_1,int param_2)\n\n{\n  uint *puVar1;\n  byte bVar2;\n  uint uVar3;\n  int iVar4;\n  uint uVar5;\n  int iVar6;\n  uint uVar7;\n  byte *pbVar8;\n  undefined4 uVar9;\n  uint uVar10;\n  uint uVar11;\n  \n  iVar4 = FUN_00038ac0(*(undefined4 *)(param_1 + 0x28));\n  if (iVar4 == param_2) {\n    iVar4 = *(int *)(param_1 + 0x1c);\n    uVar9 = *(undefined4 *)(param_1 + 0x28);\n    uVar10 = *(uint *)(param_1 + 0x18);\n    iVar6 = FUN_0003bdf0(uVar9);\n    if ((*(byte *)(iVar6 + 0x12) & 0x40) == 0) {\n      iVar6 = FUN_00038510(uVar9);\n      if (iVar6 == 0) {\n        iVar6 = FUN_00038580(uVar9);\n      }\n      else {\n        uVar7 = FUN_00054410(uVar9);\n        if ((uVar7 & 3) != 0) goto LAB_000517c4;\n        iVar6 = DAT_00088ef8;\n        if (iVar4 != 0 || (uVar10 ^ 0x47) != 0) {\n          if ((uVar10 != 0x165) && (uVar10 != 0x17e)) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0002be80("../../gas/config/tc-i386.c",0x25ed,"elf_symbol_resolved_in_segment_p",\n                         uVar10 ^ 0x47);\n          }\n          goto LAB_0005160b;\n        }\n      }\n      if (iVar6 == 0) {\nLAB_000517c4:\n        return (uint)(byte)(&DAT_00065570)[*(int *)(param_1 + 0x48) * 0x18];\n      }\n    }\n  }\nLAB_0005160b:\n  uVar10 = *(uint *)(param_1 + 0x18);\n  uVar7 = *(uint *)(param_1 + 0x48);\n  if ((uVar7 & 1) == 0) {\n    uVar11 = 4;\n    if (*(int *)(param_1 + 0x1c) == 0 && (uVar10 ^ 0x47) == 0) {\n      iVar4 = FUN_00047710();\n      uVar7 = *(uint *)(param_1 + 0x48);\n      uVar10 = 0x17e;\n      if (iVar4 == 0) {\n        uVar10 = 9;\n      }\n    }\n  }\n  else {\n    uVar11 = 2;\n    if (*(int *)(param_1 + 0x1c) == 0 && (uVar10 ^ 0x47) == 0) {\n      uVar10 = 0xb;\n    }\n  }\n  uVar3 = *(uint *)(param_1 + 0x10);\n  uVar5 = uVar7 >> 2;\n  pbVar8 = *(byte **)(param_1 + 0x2c);\n  if (uVar5 == 1) {\nLAB_000516c8:\n    if ((DAT_00088ea0 == 0) || (*(int *)(param_1 + 0x18) != 0x47 || *(int *)(param_1 + 0x1c) != 0))\n    {\n      bVar2 = *pbVar8;\n      *pbVar8 = 0xf;\n      pbVar8[1] = bVar2 + 0x10;\n      puVar1 = (uint *)(param_1 + 0x10);\n      uVar7 = *puVar1;\n      *puVar1 = *puVar1 + uVar11 + 1;\n      *(int *)(param_1 + 0x14) = *(int *)(param_1 + 0x14) + (uint)CARRY4(uVar7,uVar11 + 1);\n      FUN_0003ebc0(param_1,uVar3 + 1,uVar11,*(undefined4 *)(param_1 + 0x28),\n                   *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),1,uVar10);\n      goto LAB_0005167a;\n    }\n  }\n  else {\n    if (uVar5 == 0) {\n      *pbVar8 = 0xe9;\n      puVar1 = (uint *)(param_1 + 0x10);\n      uVar7 = *puVar1;\n      *puVar1 = *puVar1 + uVar11;\n      *(int *)(param_1 + 0x14) = *(int *)(param_1 + 0x14) + (uint)CARRY4(uVar7,uVar11);\n      FUN_0003ebc0(param_1,uVar3,uVar11,*(undefined4 *)(param_1 + 0x28),\n                   *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),1,uVar10);\n      goto LAB_0005167a;\n    }\n    if (uVar5 != 2) {\n      uVar9 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5,uVar5);\n                    /* WARNING: Subroutine does not return */\n      FUN_0002be00(uVar9,uVar7,0x2667,"../../gas/config/tc-i386.c");\n    }\n    if (uVar11 != 2) goto LAB_000516c8;\n    if ((DAT_00088ea0 == 0) || (*(int *)(param_1 + 0x18) != 0x47 || *(int *)(param_1 + 0x1c) != 0))\n    {\n      *pbVar8 = *pbVar8 ^ 1;\n      pbVar8[1] = 3;\n      pbVar8[2] = 0xe9;\n      puVar1 = (uint *)(param_1 + 0x10);\n      uVar7 = *puVar1;\n      *puVar1 = *puVar1 + 4;\n      *(int *)(param_1 + 0x14) = *(int *)(param_1 + 0x14) + (uint)(0xfffffffb < uVar7);\n      FUN_0003ebc0(param_1,uVar3 + 2,2,*(undefined4 *)(param_1 + 0x28),\n                   *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),1,uVar10);\n      goto LAB_0005167a;\n    }\n  }\n  *(uint *)(param_1 + 0x10) = uVar3 + 1;\n  *(uint *)(param_1 + 0x14) = *(int *)(param_1 + 0x14) + (uint)(0xfffffffe < uVar3);\n  pbVar8 = (byte *)FUN_0003ebc0(param_1,uVar3,1,*(undefined4 *)(param_1 + 0x28),\n                                *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),1,\n                                0xd);\n  *pbVar8 = *pbVar8 | 0x80;\nLAB_0005167a:\n  FUN_00024c10(param_1);\n  return *(int *)(param_1 + 0x10) - uVar3;\n}\n\n" comment (function_definition "uint FUN_000515e0(int param_1,int param_2)\n\n{\n  uint *puVar1;\n  byte bVar2;\n  uint uVar3;\n  int iVar4;\n  uint uVar5;\n  int iVar6;\n  uint uVar7;\n  byte *pbVar8;\n  undefined4 uVar9;\n  uint uVar10;\n  uint uVar11;\n  \n  iVar4 = FUN_00038ac0(*(undefined4 *)(param_1 + 0x28));\n  if (iVar4 == param_2) {\n    iVar4 = *(int *)(param_1 + 0x1c);\n    uVar9 = *(undefined4 *)(param_1 + 0x28);\n    uVar10 = *(uint *)(param_1 + 0x18);\n    iVar6 = FUN_0003bdf0(uVar9);\n    if ((*(byte *)(iVar6 + 0x12) & 0x40) == 0) {\n      iVar6 = FUN_00038510(uVar9);\n      if (iVar6 == 0) {\n        iVar6 = FUN_00038580(uVar9);\n      }\n      else {\n        uVar7 = FUN_00054410(uVar9);\n        if ((uVar7 & 3) != 0) goto LAB_000517c4;\n        iVar6 = DAT_00088ef8;\n        if (iVar4 != 0 || (uVar10 ^ 0x47) != 0) {\n          if ((uVar10 != 0x165) && (uVar10 != 0x17e)) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0002be80("../../gas/config/tc-i386.c",0x25ed,"elf_symbol_resolved_in_segment_p",\n                         uVar10 ^ 0x47);\n          }\n          goto LAB_0005160b;\n        }\n      }\n      if (iVar6 == 0) {\nLAB_000517c4:\n        return (uint)(byte)(&DAT_00065570)[*(int *)(param_1 + 0x48) * 0x18];\n      }\n    }\n  }\nLAB_0005160b:\n  uVar10 = *(uint *)(param_1 + 0x18);\n  uVar7 = *(uint *)(param_1 + 0x48);\n  if ((uVar7 & 1) == 0) {\n    uVar11 = 4;\n    if (*(int *)(param_1 + 0x1c) == 0 && (uVar10 ^ 0x47) == 0) {\n      iVar4 = FUN_00047710();\n      uVar7 = *(uint *)(param_1 + 0x48);\n      uVar10 = 0x17e;\n      if (iVar4 == 0) {\n        uVar10 = 9;\n      }\n    }\n  }\n  else {\n    uVar11 = 2;\n    if (*(int *)(param_1 + 0x1c) == 0 && (uVar10 ^ 0x47) == 0) {\n      uVar10 = 0xb;\n    }\n  }\n  uVar3 = *(uint *)(param_1 + 0x10);\n  uVar5 = uVar7 >> 2;\n  pbVar8 = *(byte **)(param_1 + 0x2c);\n  if (uVar5 == 1) {\nLAB_000516c8:\n    if ((DAT_00088ea0 == 0) || (*(int *)(param_1 + 0x18) != 0x47 || *(int *)(param_1 + 0x1c) != 0))\n    {\n      bVar2 = *pbVar8;\n      *pbVar8 = 0xf;\n      pbVar8[1] = bVar2 + 0x10;\n      puVar1 = (uint *)(param_1 + 0x10);\n      uVar7 = *puVar1;\n      *puVar1 = *puVar1 + uVar11 + 1;\n      *(int *)(param_1 + 0x14) = *(int *)(param_1 + 0x14) + (uint)CARRY4(uVar7,uVar11 + 1);\n      FUN_0003ebc0(param_1,uVar3 + 1,uVar11,*(undefined4 *)(param_1 + 0x28),\n                   *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),1,uVar10);\n      goto LAB_0005167a;\n    }\n  }\n  else {\n    if (uVar5 == 0) {\n      *pbVar8 = 0xe9;\n      puVar1 = (uint *)(param_1 + 0x10);\n      uVar7 = *puVar1;\n      *puVar1 = *puVar1 + uVar11;\n      *(int *)(param_1 + 0x14) = *(int *)(param_1 + 0x14) + (uint)CARRY4(uVar7,uVar11);\n      FUN_0003ebc0(param_1,uVar3,uVar11,*(undefined4 *)(param_1 + 0x28),\n                   *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),1,uVar10);\n      goto LAB_0005167a;\n    }\n    if (uVar5 != 2) {\n      uVar9 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5,uVar5);\n                    /* WARNING: Subroutine does not return */\n      FUN_0002be00(uVar9,uVar7,0x2667,"../../gas/config/tc-i386.c");\n    }\n    if (uVar11 != 2) goto LAB_000516c8;\n    if ((DAT_00088ea0 == 0) || (*(int *)(param_1 + 0x18) != 0x47 || *(int *)(param_1 + 0x1c) != 0))\n    {\n      *pbVar8 = *pbVar8 ^ 1;\n      pbVar8[1] = 3;\n      pbVar8[2] = 0xe9;\n      puVar1 = (uint *)(param_1 + 0x10);\n      uVar7 = *puVar1;\n      *puVar1 = *puVar1 + 4;\n      *(int *)(param_1 + 0x14) = *(int *)(param_1 + 0x14) + (uint)(0xfffffffb < uVar7);\n      FUN_0003ebc0(param_1,uVar3 + 2,2,*(undefined4 *)(param_1 + 0x28),\n                   *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),1,uVar10);\n      goto LAB_0005167a;\n    }\n  }\n  *(uint *)(param_1 + 0x10) = uVar3 + 1;\n  *(uint *)(param_1 + 0x14) = *(int *)(param_1 + 0x14) + (uint)(0xfffffffe < uVar3);\n  pbVar8 = (byte *)FUN_0003ebc0(param_1,uVar3,1,*(undefined4 *)(param_1 + 0x28),\n                                *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),1,\n                                0xd);\n  *pbVar8 = *pbVar8 | 0x80;\nLAB_0005167a:\n  FUN_00024c10(param_1);\n  return *(int *)(param_1 + 0x10) - uVar3;\n}" type_identifier (function_declarator "FUN_000515e0(int param_1,int param_2)" identifier (parameter_list "(int param_1,int param_2)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "int param_2" primitive_type identifier) ))) (compound_statement "{\n  uint *puVar1;\n  byte bVar2;\n  uint uVar3;\n  int iVar4;\n  uint uVar5;\n  int iVar6;\n  uint uVar7;\n  byte *pbVar8;\n  undefined4 uVar9;\n  uint uVar10;\n  uint uVar11;\n  \n  iVar4 = FUN_00038ac0(*(undefined4 *)(param_1 + 0x28));\n  if (iVar4 == param_2) {\n    iVar4 = *(int *)(param_1 + 0x1c);\n    uVar9 = *(undefined4 *)(param_1 + 0x28);\n    uVar10 = *(uint *)(param_1 + 0x18);\n    iVar6 = FUN_0003bdf0(uVar9);\n    if ((*(byte *)(iVar6 + 0x12) & 0x40) == 0) {\n      iVar6 = FUN_00038510(uVar9);\n      if (iVar6 == 0) {\n        iVar6 = FUN_00038580(uVar9);\n      }\n      else {\n        uVar7 = FUN_00054410(uVar9);\n        if ((uVar7 & 3) != 0) goto LAB_000517c4;\n        iVar6 = DAT_00088ef8;\n        if (iVar4 != 0 || (uVar10 ^ 0x47) != 0) {\n          if ((uVar10 != 0x165) && (uVar10 != 0x17e)) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0002be80("../../gas/config/tc-i386.c",0x25ed,"elf_symbol_resolved_in_segment_p",\n                         uVar10 ^ 0x47);\n          }\n          goto LAB_0005160b;\n        }\n      }\n      if (iVar6 == 0) {\nLAB_000517c4:\n        return (uint)(byte)(&DAT_00065570)[*(int *)(param_1 + 0x48) * 0x18];\n      }\n    }\n  }\nLAB_0005160b:\n  uVar10 = *(uint *)(param_1 + 0x18);\n  uVar7 = *(uint *)(param_1 + 0x48);\n  if ((uVar7 & 1) == 0) {\n    uVar11 = 4;\n    if (*(int *)(param_1 + 0x1c) == 0 && (uVar10 ^ 0x47) == 0) {\n      iVar4 = FUN_00047710();\n      uVar7 = *(uint *)(param_1 + 0x48);\n      uVar10 = 0x17e;\n      if (iVar4 == 0) {\n        uVar10 = 9;\n      }\n    }\n  }\n  else {\n    uVar11 = 2;\n    if (*(int *)(param_1 + 0x1c) == 0 && (uVar10 ^ 0x47) == 0) {\n      uVar10 = 0xb;\n    }\n  }\n  uVar3 = *(uint *)(param_1 + 0x10);\n  uVar5 = uVar7 >> 2;\n  pbVar8 = *(byte **)(param_1 + 0x2c);\n  if (uVar5 == 1) {\nLAB_000516c8:\n    if ((DAT_00088ea0 == 0) || (*(int *)(param_1 + 0x18) != 0x47 || *(int *)(param_1 + 0x1c) != 0))\n    {\n      bVar2 = *pbVar8;\n      *pbVar8 = 0xf;\n      pbVar8[1] = bVar2 + 0x10;\n      puVar1 = (uint *)(param_1 + 0x10);\n      uVar7 = *puVar1;\n      *puVar1 = *puVar1 + uVar11 + 1;\n      *(int *)(param_1 + 0x14) = *(int *)(param_1 + 0x14) + (uint)CARRY4(uVar7,uVar11 + 1);\n      FUN_0003ebc0(param_1,uVar3 + 1,uVar11,*(undefined4 *)(param_1 + 0x28),\n                   *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),1,uVar10);\n      goto LAB_0005167a;\n    }\n  }\n  else {\n    if (uVar5 == 0) {\n      *pbVar8 = 0xe9;\n      puVar1 = (uint *)(param_1 + 0x10);\n      uVar7 = *puVar1;\n      *puVar1 = *puVar1 + uVar11;\n      *(int *)(param_1 + 0x14) = *(int *)(param_1 + 0x14) + (uint)CARRY4(uVar7,uVar11);\n      FUN_0003ebc0(param_1,uVar3,uVar11,*(undefined4 *)(param_1 + 0x28),\n                   *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),1,uVar10);\n      goto LAB_0005167a;\n    }\n    if (uVar5 != 2) {\n      uVar9 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5,uVar5);\n                    /* WARNING: Subroutine does not return */\n      FUN_0002be00(uVar9,uVar7,0x2667,"../../gas/config/tc-i386.c");\n    }\n    if (uVar11 != 2) goto LAB_000516c8;\n    if ((DAT_00088ea0 == 0) || (*(int *)(param_1 + 0x18) != 0x47 || *(int *)(param_1 + 0x1c) != 0))\n    {\n      *pbVar8 = *pbVar8 ^ 1;\n      pbVar8[1] = 3;\n      pbVar8[2] = 0xe9;\n      puVar1 = (uint *)(param_1 + 0x10);\n      uVar7 = *puVar1;\n      *puVar1 = *puVar1 + 4;\n      *(int *)(param_1 + 0x14) = *(int *)(param_1 + 0x14) + (uint)(0xfffffffb < uVar7);\n      FUN_0003ebc0(param_1,uVar3 + 2,2,*(undefined4 *)(param_1 + 0x28),\n                   *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),1,uVar10);\n      goto LAB_0005167a;\n    }\n  }\n  *(uint *)(param_1 + 0x10) = uVar3 + 1;\n  *(uint *)(param_1 + 0x14) = *(int *)(param_1 + 0x14) + (uint)(0xfffffffe < uVar3);\n  pbVar8 = (byte *)FUN_0003ebc0(param_1,uVar3,1,*(undefined4 *)(param_1 + 0x28),\n                                *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),1,\n                                0xd);\n  *pbVar8 = *pbVar8 | 0x80;\nLAB_0005167a:\n  FUN_00024c10(param_1);\n  return *(int *)(param_1 + 0x10) - uVar3;\n}" { (declaration "uint *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "byte bVar2;" type_identifier identifier ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "byte *pbVar8;" type_identifier (pointer_declarator "*pbVar8" * identifier) ;) (declaration "undefined4 uVar9;" type_identifier identifier ;) (declaration "uint uVar10;" type_identifier identifier ;) (declaration "uint uVar11;" type_identifier identifier ;) (expression_statement "iVar4 = FUN_00038ac0(*(undefined4 *)(param_1 + 0x28));" (assignment_expression "iVar4 = FUN_00038ac0(*(undefined4 *)(param_1 + 0x28))" identifier = (call_expression "FUN_00038ac0(*(undefined4 *)(param_1 + 0x28))" identifier (argument_list "(*(undefined4 *)(param_1 + 0x28))" ( (pointer_expression "*(undefined4 *)(param_1 + 0x28)" * (cast_expression "(undefined4 *)(param_1 + 0x28)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x28)" ( (binary_expression "param_1 + 0x28" identifier + number_literal) )))) )))) ;) (if_statement "if (iVar4 == param_2) {\n    iVar4 = *(int *)(param_1 + 0x1c);\n    uVar9 = *(undefined4 *)(param_1 + 0x28);\n    uVar10 = *(uint *)(param_1 + 0x18);\n    iVar6 = FUN_0003bdf0(uVar9);\n    if ((*(byte *)(iVar6 + 0x12) & 0x40) == 0) {\n      iVar6 = FUN_00038510(uVar9);\n      if (iVar6 == 0) {\n        iVar6 = FUN_00038580(uVar9);\n      }\n      else {\n        uVar7 = FUN_00054410(uVar9);\n        if ((uVar7 & 3) != 0) goto LAB_000517c4;\n        iVar6 = DAT_00088ef8;\n        if (iVar4 != 0 || (uVar10 ^ 0x47) != 0) {\n          if ((uVar10 != 0x165) && (uVar10 != 0x17e)) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0002be80("../../gas/config/tc-i386.c",0x25ed,"elf_symbol_resolved_in_segment_p",\n                         uVar10 ^ 0x47);\n          }\n          goto LAB_0005160b;\n        }\n      }\n      if (iVar6 == 0) {\nLAB_000517c4:\n        return (uint)(byte)(&DAT_00065570)[*(int *)(param_1 + 0x48) * 0x18];\n      }\n    }\n  }" if (parenthesized_expression "(iVar4 == param_2)" ( (binary_expression "iVar4 == param_2" identifier == identifier) )) (compound_statement "{\n    iVar4 = *(int *)(param_1 + 0x1c);\n    uVar9 = *(undefined4 *)(param_1 + 0x28);\n    uVar10 = *(uint *)(param_1 + 0x18);\n    iVar6 = FUN_0003bdf0(uVar9);\n    if ((*(byte *)(iVar6 + 0x12) & 0x40) == 0) {\n      iVar6 = FUN_00038510(uVar9);\n      if (iVar6 == 0) {\n        iVar6 = FUN_00038580(uVar9);\n      }\n      else {\n        uVar7 = FUN_00054410(uVar9);\n        if ((uVar7 & 3) != 0) goto LAB_000517c4;\n        iVar6 = DAT_00088ef8;\n        if (iVar4 != 0 || (uVar10 ^ 0x47) != 0) {\n          if ((uVar10 != 0x165) && (uVar10 != 0x17e)) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0002be80("../../gas/config/tc-i386.c",0x25ed,"elf_symbol_resolved_in_segment_p",\n                         uVar10 ^ 0x47);\n          }\n          goto LAB_0005160b;\n        }\n      }\n      if (iVar6 == 0) {\nLAB_000517c4:\n        return (uint)(byte)(&DAT_00065570)[*(int *)(param_1 + 0x48) * 0x18];\n      }\n    }\n  }" { (expression_statement "iVar4 = *(int *)(param_1 + 0x1c);" (assignment_expression "iVar4 = *(int *)(param_1 + 0x1c)" identifier = (pointer_expression "*(int *)(param_1 + 0x1c)" * (cast_expression "(int *)(param_1 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1c)" ( (binary_expression "param_1 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "uVar9 = *(undefined4 *)(param_1 + 0x28);" (assignment_expression "uVar9 = *(undefined4 *)(param_1 + 0x28)" identifier = (pointer_expression "*(undefined4 *)(param_1 + 0x28)" * (cast_expression "(undefined4 *)(param_1 + 0x28)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x28)" ( (binary_expression "param_1 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "uVar10 = *(uint *)(param_1 + 0x18);" (assignment_expression "uVar10 = *(uint *)(param_1 + 0x18)" identifier = (pointer_expression "*(uint *)(param_1 + 0x18)" * (cast_expression "(uint *)(param_1 + 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x18)" ( (binary_expression "param_1 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "iVar6 = FUN_0003bdf0(uVar9);" (assignment_expression "iVar6 = FUN_0003bdf0(uVar9)" identifier = (call_expression "FUN_0003bdf0(uVar9)" identifier (argument_list "(uVar9)" ( identifier )))) ;) (if_statement "if ((*(byte *)(iVar6 + 0x12) & 0x40) == 0) {\n      iVar6 = FUN_00038510(uVar9);\n      if (iVar6 == 0) {\n        iVar6 = FUN_00038580(uVar9);\n      }\n      else {\n        uVar7 = FUN_00054410(uVar9);\n        if ((uVar7 & 3) != 0) goto LAB_000517c4;\n        iVar6 = DAT_00088ef8;\n        if (iVar4 != 0 || (uVar10 ^ 0x47) != 0) {\n          if ((uVar10 != 0x165) && (uVar10 != 0x17e)) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0002be80("../../gas/config/tc-i386.c",0x25ed,"elf_symbol_resolved_in_segment_p",\n                         uVar10 ^ 0x47);\n          }\n          goto LAB_0005160b;\n        }\n      }\n      if (iVar6 == 0) {\nLAB_000517c4:\n        return (uint)(byte)(&DAT_00065570)[*(int *)(param_1 + 0x48) * 0x18];\n      }\n    }" if (parenthesized_expression "((*(byte *)(iVar6 + 0x12) & 0x40) == 0)" ( (binary_expression "(*(byte *)(iVar6 + 0x12) & 0x40) == 0" (parenthesized_expression "(*(byte *)(iVar6 + 0x12) & 0x40)" ( (binary_expression "*(byte *)(iVar6 + 0x12) & 0x40" (pointer_expression "*(byte *)(iVar6 + 0x12)" * (cast_expression "(byte *)(iVar6 + 0x12)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x12)" ( (binary_expression "iVar6 + 0x12" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n      iVar6 = FUN_00038510(uVar9);\n      if (iVar6 == 0) {\n        iVar6 = FUN_00038580(uVar9);\n      }\n      else {\n        uVar7 = FUN_00054410(uVar9);\n        if ((uVar7 & 3) != 0) goto LAB_000517c4;\n        iVar6 = DAT_00088ef8;\n        if (iVar4 != 0 || (uVar10 ^ 0x47) != 0) {\n          if ((uVar10 != 0x165) && (uVar10 != 0x17e)) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0002be80("../../gas/config/tc-i386.c",0x25ed,"elf_symbol_resolved_in_segment_p",\n                         uVar10 ^ 0x47);\n          }\n          goto LAB_0005160b;\n        }\n      }\n      if (iVar6 == 0) {\nLAB_000517c4:\n        return (uint)(byte)(&DAT_00065570)[*(int *)(param_1 + 0x48) * 0x18];\n      }\n    }" { (expression_statement "iVar6 = FUN_00038510(uVar9);" (assignment_expression "iVar6 = FUN_00038510(uVar9)" identifier = (call_expression "FUN_00038510(uVar9)" identifier (argument_list "(uVar9)" ( identifier )))) ;) (if_statement "if (iVar6 == 0) {\n        iVar6 = FUN_00038580(uVar9);\n      }\n      else {\n        uVar7 = FUN_00054410(uVar9);\n        if ((uVar7 & 3) != 0) goto LAB_000517c4;\n        iVar6 = DAT_00088ef8;\n        if (iVar4 != 0 || (uVar10 ^ 0x47) != 0) {\n          if ((uVar10 != 0x165) && (uVar10 != 0x17e)) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0002be80("../../gas/config/tc-i386.c",0x25ed,"elf_symbol_resolved_in_segment_p",\n                         uVar10 ^ 0x47);\n          }\n          goto LAB_0005160b;\n        }\n      }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\n        iVar6 = FUN_00038580(uVar9);\n      }" { (expression_statement "iVar6 = FUN_00038580(uVar9);" (assignment_expression "iVar6 = FUN_00038580(uVar9)" identifier = (call_expression "FUN_00038580(uVar9)" identifier (argument_list "(uVar9)" ( identifier )))) ;) }) (else_clause "else {\n        uVar7 = FUN_00054410(uVar9);\n        if ((uVar7 & 3) != 0) goto LAB_000517c4;\n        iVar6 = DAT_00088ef8;\n        if (iVar4 != 0 || (uVar10 ^ 0x47) != 0) {\n          if ((uVar10 != 0x165) && (uVar10 != 0x17e)) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0002be80("../../gas/config/tc-i386.c",0x25ed,"elf_symbol_resolved_in_segment_p",\n                         uVar10 ^ 0x47);\n          }\n          goto LAB_0005160b;\n        }\n      }" else (compound_statement "{\n        uVar7 = FUN_00054410(uVar9);\n        if ((uVar7 & 3) != 0) goto LAB_000517c4;\n        iVar6 = DAT_00088ef8;\n        if (iVar4 != 0 || (uVar10 ^ 0x47) != 0) {\n          if ((uVar10 != 0x165) && (uVar10 != 0x17e)) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0002be80("../../gas/config/tc-i386.c",0x25ed,"elf_symbol_resolved_in_segment_p",\n                         uVar10 ^ 0x47);\n          }\n          goto LAB_0005160b;\n        }\n      }" { (expression_statement "uVar7 = FUN_00054410(uVar9);" (assignment_expression "uVar7 = FUN_00054410(uVar9)" identifier = (call_expression "FUN_00054410(uVar9)" identifier (argument_list "(uVar9)" ( identifier )))) ;) (if_statement "if ((uVar7 & 3) != 0) goto LAB_000517c4;" if (parenthesized_expression "((uVar7 & 3) != 0)" ( (binary_expression "(uVar7 & 3) != 0" (parenthesized_expression "(uVar7 & 3)" ( (binary_expression "uVar7 & 3" identifier & number_literal) )) != number_literal) )) (goto_statement "goto LAB_000517c4;" goto statement_identifier ;)) (expression_statement "iVar6 = DAT_00088ef8;" (assignment_expression "iVar6 = DAT_00088ef8" identifier = identifier) ;) (if_statement "if (iVar4 != 0 || (uVar10 ^ 0x47) != 0) {\n          if ((uVar10 != 0x165) && (uVar10 != 0x17e)) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0002be80("../../gas/config/tc-i386.c",0x25ed,"elf_symbol_resolved_in_segment_p",\n                         uVar10 ^ 0x47);\n          }\n          goto LAB_0005160b;\n        }" if (parenthesized_expression "(iVar4 != 0 || (uVar10 ^ 0x47) != 0)" ( (binary_expression "iVar4 != 0 || (uVar10 ^ 0x47) != 0" (binary_expression "iVar4 != 0" identifier != number_literal) || (binary_expression "(uVar10 ^ 0x47) != 0" (parenthesized_expression "(uVar10 ^ 0x47)" ( (binary_expression "uVar10 ^ 0x47" identifier ^ number_literal) )) != number_literal)) )) (compound_statement "{\n          if ((uVar10 != 0x165) && (uVar10 != 0x17e)) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0002be80("../../gas/config/tc-i386.c",0x25ed,"elf_symbol_resolved_in_segment_p",\n                         uVar10 ^ 0x47);\n          }\n          goto LAB_0005160b;\n        }" { (if_statement "if ((uVar10 != 0x165) && (uVar10 != 0x17e)) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0002be80("../../gas/config/tc-i386.c",0x25ed,"elf_symbol_resolved_in_segment_p",\n                         uVar10 ^ 0x47);\n          }" if (parenthesized_expression "((uVar10 != 0x165) && (uVar10 != 0x17e))" ( (binary_expression "(uVar10 != 0x165) && (uVar10 != 0x17e)" (parenthesized_expression "(uVar10 != 0x165)" ( (binary_expression "uVar10 != 0x165" identifier != number_literal) )) && (parenthesized_expression "(uVar10 != 0x17e)" ( (binary_expression "uVar10 != 0x17e" identifier != number_literal) ))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n            FUN_0002be80("../../gas/config/tc-i386.c",0x25ed,"elf_symbol_resolved_in_segment_p",\n                         uVar10 ^ 0x47);\n          }" { comment (expression_statement "FUN_0002be80("../../gas/config/tc-i386.c",0x25ed,"elf_symbol_resolved_in_segment_p",\n                         uVar10 ^ 0x47);" (call_expression "FUN_0002be80("../../gas/config/tc-i386.c",0x25ed,"elf_symbol_resolved_in_segment_p",\n                         uVar10 ^ 0x47)" identifier (argument_list "("../../gas/config/tc-i386.c",0x25ed,"elf_symbol_resolved_in_segment_p",\n                         uVar10 ^ 0x47)" ( (string_literal ""../../gas/config/tc-i386.c"" " string_content ") , number_literal , (string_literal ""elf_symbol_resolved_in_segment_p"" " string_content ") , (binary_expression "uVar10 ^ 0x47" identifier ^ number_literal) ))) ;) })) (goto_statement "goto LAB_0005160b;" goto statement_identifier ;) })) }))) (if_statement "if (iVar6 == 0) {\nLAB_000517c4:\n        return (uint)(byte)(&DAT_00065570)[*(int *)(param_1 + 0x48) * 0x18];\n      }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_000517c4:\n        return (uint)(byte)(&DAT_00065570)[*(int *)(param_1 + 0x48) * 0x18];\n      }" { (labeled_statement "LAB_000517c4:\n        return (uint)(byte)(&DAT_00065570)[*(int *)(param_1 + 0x48) * 0x18];" statement_identifier : (return_statement "return (uint)(byte)(&DAT_00065570)[*(int *)(param_1 + 0x48) * 0x18];" return (subscript_expression "(uint)(byte)(&DAT_00065570)[*(int *)(param_1 + 0x48) * 0x18]" (call_expression "(uint)(byte)(&DAT_00065570)" (call_expression "(uint)(byte)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(byte)" ( identifier ))) (argument_list "(&DAT_00065570)" ( (pointer_expression "&DAT_00065570" & identifier) ))) [ (binary_expression "*(int *)(param_1 + 0x48) * 0x18" (pointer_expression "*(int *)(param_1 + 0x48)" * (cast_expression "(int *)(param_1 + 0x48)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x48)" ( (binary_expression "param_1 + 0x48" identifier + number_literal) )))) * number_literal) ]) ;)) })) })) })) (labeled_statement "LAB_0005160b:\n  uVar10 = *(uint *)(param_1 + 0x18);" statement_identifier : (expression_statement "uVar10 = *(uint *)(param_1 + 0x18);" (assignment_expression "uVar10 = *(uint *)(param_1 + 0x18)" identifier = (pointer_expression "*(uint *)(param_1 + 0x18)" * (cast_expression "(uint *)(param_1 + 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x18)" ( (binary_expression "param_1 + 0x18" identifier + number_literal) ))))) ;)) (expression_statement "uVar7 = *(uint *)(param_1 + 0x48);" (assignment_expression "uVar7 = *(uint *)(param_1 + 0x48)" identifier = (pointer_expression "*(uint *)(param_1 + 0x48)" * (cast_expression "(uint *)(param_1 + 0x48)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x48)" ( (binary_expression "param_1 + 0x48" identifier + number_literal) ))))) ;) (if_statement "if ((uVar7 & 1) == 0) {\n    uVar11 = 4;\n    if (*(int *)(param_1 + 0x1c) == 0 && (uVar10 ^ 0x47) == 0) {\n      iVar4 = FUN_00047710();\n      uVar7 = *(uint *)(param_1 + 0x48);\n      uVar10 = 0x17e;\n      if (iVar4 == 0) {\n        uVar10 = 9;\n      }\n    }\n  }\n  else {\n    uVar11 = 2;\n    if (*(int *)(param_1 + 0x1c) == 0 && (uVar10 ^ 0x47) == 0) {\n      uVar10 = 0xb;\n    }\n  }" if (parenthesized_expression "((uVar7 & 1) == 0)" ( (binary_expression "(uVar7 & 1) == 0" (parenthesized_expression "(uVar7 & 1)" ( (binary_expression "uVar7 & 1" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n    uVar11 = 4;\n    if (*(int *)(param_1 + 0x1c) == 0 && (uVar10 ^ 0x47) == 0) {\n      iVar4 = FUN_00047710();\n      uVar7 = *(uint *)(param_1 + 0x48);\n      uVar10 = 0x17e;\n      if (iVar4 == 0) {\n        uVar10 = 9;\n      }\n    }\n  }" { (expression_statement "uVar11 = 4;" (assignment_expression "uVar11 = 4" identifier = number_literal) ;) (if_statement "if (*(int *)(param_1 + 0x1c) == 0 && (uVar10 ^ 0x47) == 0) {\n      iVar4 = FUN_00047710();\n      uVar7 = *(uint *)(param_1 + 0x48);\n      uVar10 = 0x17e;\n      if (iVar4 == 0) {\n        uVar10 = 9;\n      }\n    }" if (parenthesized_expression "(*(int *)(param_1 + 0x1c) == 0 && (uVar10 ^ 0x47) == 0)" ( (binary_expression "*(int *)(param_1 + 0x1c) == 0 && (uVar10 ^ 0x47) == 0" (binary_expression "*(int *)(param_1 + 0x1c) == 0" (pointer_expression "*(int *)(param_1 + 0x1c)" * (cast_expression "(int *)(param_1 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1c)" ( (binary_expression "param_1 + 0x1c" identifier + number_literal) )))) == number_literal) && (binary_expression "(uVar10 ^ 0x47) == 0" (parenthesized_expression "(uVar10 ^ 0x47)" ( (binary_expression "uVar10 ^ 0x47" identifier ^ number_literal) )) == number_literal)) )) (compound_statement "{\n      iVar4 = FUN_00047710();\n      uVar7 = *(uint *)(param_1 + 0x48);\n      uVar10 = 0x17e;\n      if (iVar4 == 0) {\n        uVar10 = 9;\n      }\n    }" { (expression_statement "iVar4 = FUN_00047710();" (assignment_expression "iVar4 = FUN_00047710()" identifier = (call_expression "FUN_00047710()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar7 = *(uint *)(param_1 + 0x48);" (assignment_expression "uVar7 = *(uint *)(param_1 + 0x48)" identifier = (pointer_expression "*(uint *)(param_1 + 0x48)" * (cast_expression "(uint *)(param_1 + 0x48)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x48)" ( (binary_expression "param_1 + 0x48" identifier + number_literal) ))))) ;) (expression_statement "uVar10 = 0x17e;" (assignment_expression "uVar10 = 0x17e" identifier = number_literal) ;) (if_statement "if (iVar4 == 0) {\n        uVar10 = 9;\n      }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n        uVar10 = 9;\n      }" { (expression_statement "uVar10 = 9;" (assignment_expression "uVar10 = 9" identifier = number_literal) ;) })) })) }) (else_clause "else {\n    uVar11 = 2;\n    if (*(int *)(param_1 + 0x1c) == 0 && (uVar10 ^ 0x47) == 0) {\n      uVar10 = 0xb;\n    }\n  }" else (compound_statement "{\n    uVar11 = 2;\n    if (*(int *)(param_1 + 0x1c) == 0 && (uVar10 ^ 0x47) == 0) {\n      uVar10 = 0xb;\n    }\n  }" { (expression_statement "uVar11 = 2;" (assignment_expression "uVar11 = 2" identifier = number_literal) ;) (if_statement "if (*(int *)(param_1 + 0x1c) == 0 && (uVar10 ^ 0x47) == 0) {\n      uVar10 = 0xb;\n    }" if (parenthesized_expression "(*(int *)(param_1 + 0x1c) == 0 && (uVar10 ^ 0x47) == 0)" ( (binary_expression "*(int *)(param_1 + 0x1c) == 0 && (uVar10 ^ 0x47) == 0" (binary_expression "*(int *)(param_1 + 0x1c) == 0" (pointer_expression "*(int *)(param_1 + 0x1c)" * (cast_expression "(int *)(param_1 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1c)" ( (binary_expression "param_1 + 0x1c" identifier + number_literal) )))) == number_literal) && (binary_expression "(uVar10 ^ 0x47) == 0" (parenthesized_expression "(uVar10 ^ 0x47)" ( (binary_expression "uVar10 ^ 0x47" identifier ^ number_literal) )) == number_literal)) )) (compound_statement "{\n      uVar10 = 0xb;\n    }" { (expression_statement "uVar10 = 0xb;" (assignment_expression "uVar10 = 0xb" identifier = number_literal) ;) })) }))) (expression_statement "uVar3 = *(uint *)(param_1 + 0x10);" (assignment_expression "uVar3 = *(uint *)(param_1 + 0x10)" identifier = (pointer_expression "*(uint *)(param_1 + 0x10)" * (cast_expression "(uint *)(param_1 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "uVar5 = uVar7 >> 2;" (assignment_expression "uVar5 = uVar7 >> 2" identifier = (binary_expression "uVar7 >> 2" identifier >> number_literal)) ;) (expression_statement "pbVar8 = *(byte **)(param_1 + 0x2c);" (assignment_expression "pbVar8 = *(byte **)(param_1 + 0x2c)" identifier = (pointer_expression "*(byte **)(param_1 + 0x2c)" * (cast_expression "(byte **)(param_1 + 0x2c)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x2c)" ( (binary_expression "param_1 + 0x2c" identifier + number_literal) ))))) ;) (if_statement "if (uVar5 == 1) {\nLAB_000516c8:\n    if ((DAT_00088ea0 == 0) || (*(int *)(param_1 + 0x18) != 0x47 || *(int *)(param_1 + 0x1c) != 0))\n    {\n      bVar2 = *pbVar8;\n      *pbVar8 = 0xf;\n      pbVar8[1] = bVar2 + 0x10;\n      puVar1 = (uint *)(param_1 + 0x10);\n      uVar7 = *puVar1;\n      *puVar1 = *puVar1 + uVar11 + 1;\n      *(int *)(param_1 + 0x14) = *(int *)(param_1 + 0x14) + (uint)CARRY4(uVar7,uVar11 + 1);\n      FUN_0003ebc0(param_1,uVar3 + 1,uVar11,*(undefined4 *)(param_1 + 0x28),\n                   *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),1,uVar10);\n      goto LAB_0005167a;\n    }\n  }\n  else {\n    if (uVar5 == 0) {\n      *pbVar8 = 0xe9;\n      puVar1 = (uint *)(param_1 + 0x10);\n      uVar7 = *puVar1;\n      *puVar1 = *puVar1 + uVar11;\n      *(int *)(param_1 + 0x14) = *(int *)(param_1 + 0x14) + (uint)CARRY4(uVar7,uVar11);\n      FUN_0003ebc0(param_1,uVar3,uVar11,*(undefined4 *)(param_1 + 0x28),\n                   *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),1,uVar10);\n      goto LAB_0005167a;\n    }\n    if (uVar5 != 2) {\n      uVar9 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5,uVar5);\n                    /* WARNING: Subroutine does not return */\n      FUN_0002be00(uVar9,uVar7,0x2667,"../../gas/config/tc-i386.c");\n    }\n    if (uVar11 != 2) goto LAB_000516c8;\n    if ((DAT_00088ea0 == 0) || (*(int *)(param_1 + 0x18) != 0x47 || *(int *)(param_1 + 0x1c) != 0))\n    {\n      *pbVar8 = *pbVar8 ^ 1;\n      pbVar8[1] = 3;\n      pbVar8[2] = 0xe9;\n      puVar1 = (uint *)(param_1 + 0x10);\n      uVar7 = *puVar1;\n      *puVar1 = *puVar1 + 4;\n      *(int *)(param_1 + 0x14) = *(int *)(param_1 + 0x14) + (uint)(0xfffffffb < uVar7);\n      FUN_0003ebc0(param_1,uVar3 + 2,2,*(undefined4 *)(param_1 + 0x28),\n                   *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),1,uVar10);\n      goto LAB_0005167a;\n    }\n  }" if (parenthesized_expression "(uVar5 == 1)" ( (binary_expression "uVar5 == 1" identifier == number_literal) )) (compound_statement "{\nLAB_000516c8:\n    if ((DAT_00088ea0 == 0) || (*(int *)(param_1 + 0x18) != 0x47 || *(int *)(param_1 + 0x1c) != 0))\n    {\n      bVar2 = *pbVar8;\n      *pbVar8 = 0xf;\n      pbVar8[1] = bVar2 + 0x10;\n      puVar1 = (uint *)(param_1 + 0x10);\n      uVar7 = *puVar1;\n      *puVar1 = *puVar1 + uVar11 + 1;\n      *(int *)(param_1 + 0x14) = *(int *)(param_1 + 0x14) + (uint)CARRY4(uVar7,uVar11 + 1);\n      FUN_0003ebc0(param_1,uVar3 + 1,uVar11,*(undefined4 *)(param_1 + 0x28),\n                   *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),1,uVar10);\n      goto LAB_0005167a;\n    }\n  }" { (labeled_statement "LAB_000516c8:\n    if ((DAT_00088ea0 == 0) || (*(int *)(param_1 + 0x18) != 0x47 || *(int *)(param_1 + 0x1c) != 0))\n    {\n      bVar2 = *pbVar8;\n      *pbVar8 = 0xf;\n      pbVar8[1] = bVar2 + 0x10;\n      puVar1 = (uint *)(param_1 + 0x10);\n      uVar7 = *puVar1;\n      *puVar1 = *puVar1 + uVar11 + 1;\n      *(int *)(param_1 + 0x14) = *(int *)(param_1 + 0x14) + (uint)CARRY4(uVar7,uVar11 + 1);\n      FUN_0003ebc0(param_1,uVar3 + 1,uVar11,*(undefined4 *)(param_1 + 0x28),\n                   *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),1,uVar10);\n      goto LAB_0005167a;\n    }" statement_identifier : (if_statement "if ((DAT_00088ea0 == 0) || (*(int *)(param_1 + 0x18) != 0x47 || *(int *)(param_1 + 0x1c) != 0))\n    {\n      bVar2 = *pbVar8;\n      *pbVar8 = 0xf;\n      pbVar8[1] = bVar2 + 0x10;\n      puVar1 = (uint *)(param_1 + 0x10);\n      uVar7 = *puVar1;\n      *puVar1 = *puVar1 + uVar11 + 1;\n      *(int *)(param_1 + 0x14) = *(int *)(param_1 + 0x14) + (uint)CARRY4(uVar7,uVar11 + 1);\n      FUN_0003ebc0(param_1,uVar3 + 1,uVar11,*(undefined4 *)(param_1 + 0x28),\n                   *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),1,uVar10);\n      goto LAB_0005167a;\n    }" if (parenthesized_expression "((DAT_00088ea0 == 0) || (*(int *)(param_1 + 0x18) != 0x47 || *(int *)(param_1 + 0x1c) != 0))" ( (binary_expression "(DAT_00088ea0 == 0) || (*(int *)(param_1 + 0x18) != 0x47 || *(int *)(param_1 + 0x1c) != 0)" (parenthesized_expression "(DAT_00088ea0 == 0)" ( (binary_expression "DAT_00088ea0 == 0" identifier == number_literal) )) || (parenthesized_expression "(*(int *)(param_1 + 0x18) != 0x47 || *(int *)(param_1 + 0x1c) != 0)" ( (binary_expression "*(int *)(param_1 + 0x18) != 0x47 || *(int *)(param_1 + 0x1c) != 0" (binary_expression "*(int *)(param_1 + 0x18) != 0x47" (pointer_expression "*(int *)(param_1 + 0x18)" * (cast_expression "(int *)(param_1 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x18)" ( (binary_expression "param_1 + 0x18" identifier + number_literal) )))) != number_literal) || (binary_expression "*(int *)(param_1 + 0x1c) != 0" (pointer_expression "*(int *)(param_1 + 0x1c)" * (cast_expression "(int *)(param_1 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1c)" ( (binary_expression "param_1 + 0x1c" identifier + number_literal) )))) != number_literal)) ))) )) (compound_statement "{\n      bVar2 = *pbVar8;\n      *pbVar8 = 0xf;\n      pbVar8[1] = bVar2 + 0x10;\n      puVar1 = (uint *)(param_1 + 0x10);\n      uVar7 = *puVar1;\n      *puVar1 = *puVar1 + uVar11 + 1;\n      *(int *)(param_1 + 0x14) = *(int *)(param_1 + 0x14) + (uint)CARRY4(uVar7,uVar11 + 1);\n      FUN_0003ebc0(param_1,uVar3 + 1,uVar11,*(undefined4 *)(param_1 + 0x28),\n                   *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),1,uVar10);\n      goto LAB_0005167a;\n    }" { (expression_statement "bVar2 = *pbVar8;" (assignment_expression "bVar2 = *pbVar8" identifier = (pointer_expression "*pbVar8" * identifier)) ;) (expression_statement "*pbVar8 = 0xf;" (assignment_expression "*pbVar8 = 0xf" (pointer_expression "*pbVar8" * identifier) = number_literal) ;) (expression_statement "pbVar8[1] = bVar2 + 0x10;" (assignment_expression "pbVar8[1] = bVar2 + 0x10" (subscript_expression "pbVar8[1]" identifier [ number_literal ]) = (binary_expression "bVar2 + 0x10" identifier + number_literal)) ;) (expression_statement "puVar1 = (uint *)(param_1 + 0x10);" (assignment_expression "puVar1 = (uint *)(param_1 + 0x10)" identifier = (cast_expression "(uint *)(param_1 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) )))) ;) (expression_statement "uVar7 = *puVar1;" (assignment_expression "uVar7 = *puVar1" identifier = (pointer_expression "*puVar1" * identifier)) ;) (expression_statement "*puVar1 = *puVar1 + uVar11 + 1;" (assignment_expression "*puVar1 = *puVar1 + uVar11 + 1" (pointer_expression "*puVar1" * identifier) = (binary_expression "*puVar1 + uVar11 + 1" (binary_expression "*puVar1 + uVar11" (pointer_expression "*puVar1" * identifier) + identifier) + number_literal)) ;) (expression_statement "*(int *)(param_1 + 0x14) = *(int *)(param_1 + 0x14) + (uint)CARRY4(uVar7,uVar11 + 1);" (assignment_expression "*(int *)(param_1 + 0x14) = *(int *)(param_1 + 0x14) + (uint)CARRY4(uVar7,uVar11 + 1)" (pointer_expression "*(int *)(param_1 + 0x14)" * (cast_expression "(int *)(param_1 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x14)" ( (binary_expression "param_1 + 0x14" identifier + number_literal) )))) = (binary_expression "*(int *)(param_1 + 0x14) + (uint)CARRY4(uVar7,uVar11 + 1)" (pointer_expression "*(int *)(param_1 + 0x14)" * (cast_expression "(int *)(param_1 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x14)" ( (binary_expression "param_1 + 0x14" identifier + number_literal) )))) + (cast_expression "(uint)CARRY4(uVar7,uVar11 + 1)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar7,uVar11 + 1)" identifier (argument_list "(uVar7,uVar11 + 1)" ( identifier , (binary_expression "uVar11 + 1" identifier + number_literal) )))))) ;) (expression_statement "FUN_0003ebc0(param_1,uVar3 + 1,uVar11,*(undefined4 *)(param_1 + 0x28),\n                   *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),1,uVar10);" (call_expression "FUN_0003ebc0(param_1,uVar3 + 1,uVar11,*(undefined4 *)(param_1 + 0x28),\n                   *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),1,uVar10)" identifier (argument_list "(param_1,uVar3 + 1,uVar11,*(undefined4 *)(param_1 + 0x28),\n                   *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),1,uVar10)" ( identifier , (binary_expression "uVar3 + 1" identifier + number_literal) , identifier , (pointer_expression "*(undefined4 *)(param_1 + 0x28)" * (cast_expression "(undefined4 *)(param_1 + 0x28)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x28)" ( (binary_expression "param_1 + 0x28" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(param_1 + 0x20)" * (cast_expression "(undefined4 *)(param_1 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x20)" ( (binary_expression "param_1 + 0x20" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(param_1 + 0x24)" * (cast_expression "(undefined4 *)(param_1 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x24)" ( (binary_expression "param_1 + 0x24" identifier + number_literal) )))) , number_literal , identifier ))) ;) (goto_statement "goto LAB_0005167a;" goto statement_identifier ;) }))) }) (else_clause "else {\n    if (uVar5 == 0) {\n      *pbVar8 = 0xe9;\n      puVar1 = (uint *)(param_1 + 0x10);\n      uVar7 = *puVar1;\n      *puVar1 = *puVar1 + uVar11;\n      *(int *)(param_1 + 0x14) = *(int *)(param_1 + 0x14) + (uint)CARRY4(uVar7,uVar11);\n      FUN_0003ebc0(param_1,uVar3,uVar11,*(undefined4 *)(param_1 + 0x28),\n                   *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),1,uVar10);\n      goto LAB_0005167a;\n    }\n    if (uVar5 != 2) {\n      uVar9 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5,uVar5);\n                    /* WARNING: Subroutine does not return */\n      FUN_0002be00(uVar9,uVar7,0x2667,"../../gas/config/tc-i386.c");\n    }\n    if (uVar11 != 2) goto LAB_000516c8;\n    if ((DAT_00088ea0 == 0) || (*(int *)(param_1 + 0x18) != 0x47 || *(int *)(param_1 + 0x1c) != 0))\n    {\n      *pbVar8 = *pbVar8 ^ 1;\n      pbVar8[1] = 3;\n      pbVar8[2] = 0xe9;\n      puVar1 = (uint *)(param_1 + 0x10);\n      uVar7 = *puVar1;\n      *puVar1 = *puVar1 + 4;\n      *(int *)(param_1 + 0x14) = *(int *)(param_1 + 0x14) + (uint)(0xfffffffb < uVar7);\n      FUN_0003ebc0(param_1,uVar3 + 2,2,*(undefined4 *)(param_1 + 0x28),\n                   *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),1,uVar10);\n      goto LAB_0005167a;\n    }\n  }" else (compound_statement "{\n    if (uVar5 == 0) {\n      *pbVar8 = 0xe9;\n      puVar1 = (uint *)(param_1 + 0x10);\n      uVar7 = *puVar1;\n      *puVar1 = *puVar1 + uVar11;\n      *(int *)(param_1 + 0x14) = *(int *)(param_1 + 0x14) + (uint)CARRY4(uVar7,uVar11);\n      FUN_0003ebc0(param_1,uVar3,uVar11,*(undefined4 *)(param_1 + 0x28),\n                   *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),1,uVar10);\n      goto LAB_0005167a;\n    }\n    if (uVar5 != 2) {\n      uVar9 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5,uVar5);\n                    /* WARNING: Subroutine does not return */\n      FUN_0002be00(uVar9,uVar7,0x2667,"../../gas/config/tc-i386.c");\n    }\n    if (uVar11 != 2) goto LAB_000516c8;\n    if ((DAT_00088ea0 == 0) || (*(int *)(param_1 + 0x18) != 0x47 || *(int *)(param_1 + 0x1c) != 0))\n    {\n      *pbVar8 = *pbVar8 ^ 1;\n      pbVar8[1] = 3;\n      pbVar8[2] = 0xe9;\n      puVar1 = (uint *)(param_1 + 0x10);\n      uVar7 = *puVar1;\n      *puVar1 = *puVar1 + 4;\n      *(int *)(param_1 + 0x14) = *(int *)(param_1 + 0x14) + (uint)(0xfffffffb < uVar7);\n      FUN_0003ebc0(param_1,uVar3 + 2,2,*(undefined4 *)(param_1 + 0x28),\n                   *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),1,uVar10);\n      goto LAB_0005167a;\n    }\n  }" { (if_statement "if (uVar5 == 0) {\n      *pbVar8 = 0xe9;\n      puVar1 = (uint *)(param_1 + 0x10);\n      uVar7 = *puVar1;\n      *puVar1 = *puVar1 + uVar11;\n      *(int *)(param_1 + 0x14) = *(int *)(param_1 + 0x14) + (uint)CARRY4(uVar7,uVar11);\n      FUN_0003ebc0(param_1,uVar3,uVar11,*(undefined4 *)(param_1 + 0x28),\n                   *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),1,uVar10);\n      goto LAB_0005167a;\n    }" if (parenthesized_expression "(uVar5 == 0)" ( (binary_expression "uVar5 == 0" identifier == number_literal) )) (compound_statement "{\n      *pbVar8 = 0xe9;\n      puVar1 = (uint *)(param_1 + 0x10);\n      uVar7 = *puVar1;\n      *puVar1 = *puVar1 + uVar11;\n      *(int *)(param_1 + 0x14) = *(int *)(param_1 + 0x14) + (uint)CARRY4(uVar7,uVar11);\n      FUN_0003ebc0(param_1,uVar3,uVar11,*(undefined4 *)(param_1 + 0x28),\n                   *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),1,uVar10);\n      goto LAB_0005167a;\n    }" { (expression_statement "*pbVar8 = 0xe9;" (assignment_expression "*pbVar8 = 0xe9" (pointer_expression "*pbVar8" * identifier) = number_literal) ;) (expression_statement "puVar1 = (uint *)(param_1 + 0x10);" (assignment_expression "puVar1 = (uint *)(param_1 + 0x10)" identifier = (cast_expression "(uint *)(param_1 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) )))) ;) (expression_statement "uVar7 = *puVar1;" (assignment_expression "uVar7 = *puVar1" identifier = (pointer_expression "*puVar1" * identifier)) ;) (expression_statement "*puVar1 = *puVar1 + uVar11;" (assignment_expression "*puVar1 = *puVar1 + uVar11" (pointer_expression "*puVar1" * identifier) = (binary_expression "*puVar1 + uVar11" (pointer_expression "*puVar1" * identifier) + identifier)) ;) (expression_statement "*(int *)(param_1 + 0x14) = *(int *)(param_1 + 0x14) + (uint)CARRY4(uVar7,uVar11);" (assignment_expression "*(int *)(param_1 + 0x14) = *(int *)(param_1 + 0x14) + (uint)CARRY4(uVar7,uVar11)" (pointer_expression "*(int *)(param_1 + 0x14)" * (cast_expression "(int *)(param_1 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x14)" ( (binary_expression "param_1 + 0x14" identifier + number_literal) )))) = (binary_expression "*(int *)(param_1 + 0x14) + (uint)CARRY4(uVar7,uVar11)" (pointer_expression "*(int *)(param_1 + 0x14)" * (cast_expression "(int *)(param_1 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x14)" ( (binary_expression "param_1 + 0x14" identifier + number_literal) )))) + (cast_expression "(uint)CARRY4(uVar7,uVar11)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar7,uVar11)" identifier (argument_list "(uVar7,uVar11)" ( identifier , identifier )))))) ;) (expression_statement "FUN_0003ebc0(param_1,uVar3,uVar11,*(undefined4 *)(param_1 + 0x28),\n                   *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),1,uVar10);" (call_expression "FUN_0003ebc0(param_1,uVar3,uVar11,*(undefined4 *)(param_1 + 0x28),\n                   *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),1,uVar10)" identifier (argument_list "(param_1,uVar3,uVar11,*(undefined4 *)(param_1 + 0x28),\n                   *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),1,uVar10)" ( identifier , identifier , identifier , (pointer_expression "*(undefined4 *)(param_1 + 0x28)" * (cast_expression "(undefined4 *)(param_1 + 0x28)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x28)" ( (binary_expression "param_1 + 0x28" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(param_1 + 0x20)" * (cast_expression "(undefined4 *)(param_1 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x20)" ( (binary_expression "param_1 + 0x20" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(param_1 + 0x24)" * (cast_expression "(undefined4 *)(param_1 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x24)" ( (binary_expression "param_1 + 0x24" identifier + number_literal) )))) , number_literal , identifier ))) ;) (goto_statement "goto LAB_0005167a;" goto statement_identifier ;) })) (if_statement "if (uVar5 != 2) {\n      uVar9 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5,uVar5);\n                    /* WARNING: Subroutine does not return */\n      FUN_0002be00(uVar9,uVar7,0x2667,"../../gas/config/tc-i386.c");\n    }" if (parenthesized_expression "(uVar5 != 2)" ( (binary_expression "uVar5 != 2" identifier != number_literal) )) (compound_statement "{\n      uVar9 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5,uVar5);\n                    /* WARNING: Subroutine does not return */\n      FUN_0002be00(uVar9,uVar7,0x2667,"../../gas/config/tc-i386.c");\n    }" { (expression_statement "uVar9 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5,uVar5);" (assignment_expression "uVar9 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5,uVar5)" identifier = (call_expression "dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5,uVar5)" identifier (argument_list "(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5,uVar5)" ( 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 , identifier )))) ;) comment (expression_statement "FUN_0002be00(uVar9,uVar7,0x2667,"../../gas/config/tc-i386.c");" (call_expression "FUN_0002be00(uVar9,uVar7,0x2667,"../../gas/config/tc-i386.c")" identifier (argument_list "(uVar9,uVar7,0x2667,"../../gas/config/tc-i386.c")" ( identifier , identifier , number_literal , (string_literal ""../../gas/config/tc-i386.c"" " string_content ") ))) ;) })) (if_statement "if (uVar11 != 2) goto LAB_000516c8;" if (parenthesized_expression "(uVar11 != 2)" ( (binary_expression "uVar11 != 2" identifier != number_literal) )) (goto_statement "goto LAB_000516c8;" goto statement_identifier ;)) (if_statement "if ((DAT_00088ea0 == 0) || (*(int *)(param_1 + 0x18) != 0x47 || *(int *)(param_1 + 0x1c) != 0))\n    {\n      *pbVar8 = *pbVar8 ^ 1;\n      pbVar8[1] = 3;\n      pbVar8[2] = 0xe9;\n      puVar1 = (uint *)(param_1 + 0x10);\n      uVar7 = *puVar1;\n      *puVar1 = *puVar1 + 4;\n      *(int *)(param_1 + 0x14) = *(int *)(param_1 + 0x14) + (uint)(0xfffffffb < uVar7);\n      FUN_0003ebc0(param_1,uVar3 + 2,2,*(undefined4 *)(param_1 + 0x28),\n                   *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),1,uVar10);\n      goto LAB_0005167a;\n    }" if (parenthesized_expression "((DAT_00088ea0 == 0) || (*(int *)(param_1 + 0x18) != 0x47 || *(int *)(param_1 + 0x1c) != 0))" ( (binary_expression "(DAT_00088ea0 == 0) || (*(int *)(param_1 + 0x18) != 0x47 || *(int *)(param_1 + 0x1c) != 0)" (parenthesized_expression "(DAT_00088ea0 == 0)" ( (binary_expression "DAT_00088ea0 == 0" identifier == number_literal) )) || (parenthesized_expression "(*(int *)(param_1 + 0x18) != 0x47 || *(int *)(param_1 + 0x1c) != 0)" ( (binary_expression "*(int *)(param_1 + 0x18) != 0x47 || *(int *)(param_1 + 0x1c) != 0" (binary_expression "*(int *)(param_1 + 0x18) != 0x47" (pointer_expression "*(int *)(param_1 + 0x18)" * (cast_expression "(int *)(param_1 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x18)" ( (binary_expression "param_1 + 0x18" identifier + number_literal) )))) != number_literal) || (binary_expression "*(int *)(param_1 + 0x1c) != 0" (pointer_expression "*(int *)(param_1 + 0x1c)" * (cast_expression "(int *)(param_1 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1c)" ( (binary_expression "param_1 + 0x1c" identifier + number_literal) )))) != number_literal)) ))) )) (compound_statement "{\n      *pbVar8 = *pbVar8 ^ 1;\n      pbVar8[1] = 3;\n      pbVar8[2] = 0xe9;\n      puVar1 = (uint *)(param_1 + 0x10);\n      uVar7 = *puVar1;\n      *puVar1 = *puVar1 + 4;\n      *(int *)(param_1 + 0x14) = *(int *)(param_1 + 0x14) + (uint)(0xfffffffb < uVar7);\n      FUN_0003ebc0(param_1,uVar3 + 2,2,*(undefined4 *)(param_1 + 0x28),\n                   *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),1,uVar10);\n      goto LAB_0005167a;\n    }" { (expression_statement "*pbVar8 = *pbVar8 ^ 1;" (assignment_expression "*pbVar8 = *pbVar8 ^ 1" (pointer_expression "*pbVar8" * identifier) = (binary_expression "*pbVar8 ^ 1" (pointer_expression "*pbVar8" * identifier) ^ number_literal)) ;) (expression_statement "pbVar8[1] = 3;" (assignment_expression "pbVar8[1] = 3" (subscript_expression "pbVar8[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "pbVar8[2] = 0xe9;" (assignment_expression "pbVar8[2] = 0xe9" (subscript_expression "pbVar8[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar1 = (uint *)(param_1 + 0x10);" (assignment_expression "puVar1 = (uint *)(param_1 + 0x10)" identifier = (cast_expression "(uint *)(param_1 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) )))) ;) (expression_statement "uVar7 = *puVar1;" (assignment_expression "uVar7 = *puVar1" identifier = (pointer_expression "*puVar1" * identifier)) ;) (expression_statement "*puVar1 = *puVar1 + 4;" (assignment_expression "*puVar1 = *puVar1 + 4" (pointer_expression "*puVar1" * identifier) = (binary_expression "*puVar1 + 4" (pointer_expression "*puVar1" * identifier) + number_literal)) ;) (expression_statement "*(int *)(param_1 + 0x14) = *(int *)(param_1 + 0x14) + (uint)(0xfffffffb < uVar7);" (assignment_expression "*(int *)(param_1 + 0x14) = *(int *)(param_1 + 0x14) + (uint)(0xfffffffb < uVar7)" (pointer_expression "*(int *)(param_1 + 0x14)" * (cast_expression "(int *)(param_1 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x14)" ( (binary_expression "param_1 + 0x14" identifier + number_literal) )))) = (binary_expression "*(int *)(param_1 + 0x14) + (uint)(0xfffffffb < uVar7)" (pointer_expression "*(int *)(param_1 + 0x14)" * (cast_expression "(int *)(param_1 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x14)" ( (binary_expression "param_1 + 0x14" identifier + number_literal) )))) + (call_expression "(uint)(0xfffffffb < uVar7)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0xfffffffb < uVar7)" ( (binary_expression "0xfffffffb < uVar7" number_literal < identifier) ))))) ;) (expression_statement "FUN_0003ebc0(param_1,uVar3 + 2,2,*(undefined4 *)(param_1 + 0x28),\n                   *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),1,uVar10);" (call_expression "FUN_0003ebc0(param_1,uVar3 + 2,2,*(undefined4 *)(param_1 + 0x28),\n                   *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),1,uVar10)" identifier (argument_list "(param_1,uVar3 + 2,2,*(undefined4 *)(param_1 + 0x28),\n                   *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),1,uVar10)" ( identifier , (binary_expression "uVar3 + 2" identifier + number_literal) , number_literal , (pointer_expression "*(undefined4 *)(param_1 + 0x28)" * (cast_expression "(undefined4 *)(param_1 + 0x28)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x28)" ( (binary_expression "param_1 + 0x28" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(param_1 + 0x20)" * (cast_expression "(undefined4 *)(param_1 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x20)" ( (binary_expression "param_1 + 0x20" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(param_1 + 0x24)" * (cast_expression "(undefined4 *)(param_1 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x24)" ( (binary_expression "param_1 + 0x24" identifier + number_literal) )))) , number_literal , identifier ))) ;) (goto_statement "goto LAB_0005167a;" goto statement_identifier ;) })) }))) (expression_statement "*(uint *)(param_1 + 0x10) = uVar3 + 1;" (assignment_expression "*(uint *)(param_1 + 0x10) = uVar3 + 1" (pointer_expression "*(uint *)(param_1 + 0x10)" * (cast_expression "(uint *)(param_1 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) )))) = (binary_expression "uVar3 + 1" identifier + number_literal)) ;) (expression_statement "*(uint *)(param_1 + 0x14) = *(int *)(param_1 + 0x14) + (uint)(0xfffffffe < uVar3);" (assignment_expression "*(uint *)(param_1 + 0x14) = *(int *)(param_1 + 0x14) + (uint)(0xfffffffe < uVar3)" (pointer_expression "*(uint *)(param_1 + 0x14)" * (cast_expression "(uint *)(param_1 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x14)" ( (binary_expression "param_1 + 0x14" identifier + number_literal) )))) = (binary_expression "*(int *)(param_1 + 0x14) + (uint)(0xfffffffe < uVar3)" (pointer_expression "*(int *)(param_1 + 0x14)" * (cast_expression "(int *)(param_1 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x14)" ( (binary_expression "param_1 + 0x14" identifier + number_literal) )))) + (call_expression "(uint)(0xfffffffe < uVar3)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0xfffffffe < uVar3)" ( (binary_expression "0xfffffffe < uVar3" number_literal < identifier) ))))) ;) (expression_statement "pbVar8 = (byte *)FUN_0003ebc0(param_1,uVar3,1,*(undefined4 *)(param_1 + 0x28),\n                                *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),1,\n                                0xd);" (assignment_expression "pbVar8 = (byte *)FUN_0003ebc0(param_1,uVar3,1,*(undefined4 *)(param_1 + 0x28),\n                                *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),1,\n                                0xd)" identifier = (cast_expression "(byte *)FUN_0003ebc0(param_1,uVar3,1,*(undefined4 *)(param_1 + 0x28),\n                                *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),1,\n                                0xd)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0003ebc0(param_1,uVar3,1,*(undefined4 *)(param_1 + 0x28),\n                                *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),1,\n                                0xd)" identifier (argument_list "(param_1,uVar3,1,*(undefined4 *)(param_1 + 0x28),\n                                *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),1,\n                                0xd)" ( identifier , identifier , number_literal , (pointer_expression "*(undefined4 *)(param_1 + 0x28)" * (cast_expression "(undefined4 *)(param_1 + 0x28)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x28)" ( (binary_expression "param_1 + 0x28" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(param_1 + 0x20)" * (cast_expression "(undefined4 *)(param_1 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x20)" ( (binary_expression "param_1 + 0x20" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(param_1 + 0x24)" * (cast_expression "(undefined4 *)(param_1 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x24)" ( (binary_expression "param_1 + 0x24" identifier + number_literal) )))) , number_literal , number_literal ))))) ;) (expression_statement "*pbVar8 = *pbVar8 | 0x80;" (assignment_expression "*pbVar8 = *pbVar8 | 0x80" (pointer_expression "*pbVar8" * identifier) = (binary_expression "*pbVar8 | 0x80" (pointer_expression "*pbVar8" * identifier) | number_literal)) ;) (labeled_statement "LAB_0005167a:\n  FUN_00024c10(param_1);" statement_identifier : (expression_statement "FUN_00024c10(param_1);" (call_expression "FUN_00024c10(param_1)" identifier (argument_list "(param_1)" ( identifier ))) ;)) (return_statement "return *(int *)(param_1 + 0x10) - uVar3;" return (binary_expression "*(int *)(param_1 + 0x10) - uVar3" (pointer_expression "*(int *)(param_1 + 0x10)" * (cast_expression "(int *)(param_1 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) )))) - identifier) ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: Unknown calling convention */\n\nint md_estimate_size_before_relax(fragS *fragP,segT segment)\n\n{\n  offsetT *poVar1;\n  int *piVar2;\n  byte bVar3;\n  int iVar4;\n  uint where;\n  byte *pbVar5;\n  symbolS *s;\n  int iVar6;\n  offsetT oVar7;\n  segT paVar8;\n  uint uVar9;\n  asymbol *paVar10;\n  int iVar11;\n  uint uVar12;\n  bfd_boolean bVar13;\n  fixS *pfVar14;\n  char *format;\n  bfd_reloc_code_real r_type;\n  uint size;\n  \n  paVar8 = S_GET_SEGMENT(fragP->fr_symbol);\n  if (paVar8 == segment) {\n    iVar4 = *(int *)((int)&fragP->fr_var + 4);\n    s = fragP->fr_symbol;\n    iVar6 = (int)fragP->fr_var;\n    paVar10 = symbol_get_bfdsym(s);\n    if ((paVar10->flags & 0x400000) == 0) {\n      iVar11 = S_IS_EXTERNAL(s);\n      if (iVar11 == 0) {\n        iVar11 = S_IS_WEAK(s);\n      }\n      else {\n        uVar12 = elf_s_get_other(s);\n        if ((uVar12 & 3) != 0) goto LAB_000517c4;\n        iVar11 = shared;\n        if (iVar4 != 0 || iVar6 != 0x47) {\n          if ((iVar6 != 0x165) && (iVar6 != 0x17e)) {\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/config/tc-i386.c",0x25ed,"elf_symbol_resolved_in_segment_p");\n          }\n          goto LAB_0005160b;\n        }\n      }\n      if (iVar11 == 0) {\nLAB_000517c4:\n        return (uint)(byte)md_relax_table[fragP->fr_subtype * 0x18 + 0x10];\n      }\n    }\n  }\nLAB_0005160b:\n  r_type = (bfd_reloc_code_real)fragP->fr_var;\n  uVar12 = fragP->fr_subtype;\n  iVar4 = *(int *)((int)&fragP->fr_var + 4);\n  if ((uVar12 & 1) == 0) {\n    size = 4;\n    if (iVar4 == 0 && (r_type ^ BFD_RELOC_NONE) == _dummy_first_bfd_reloc_code_real) {\n      bVar13 = need_plt32_p(fragP->fr_symbol);\n      uVar12 = fragP->fr_subtype;\n      r_type = BFD_RELOC_X86_64_PLT32;\n      if (bVar13 == 0) {\n        r_type = BFD_RELOC_32_PCREL;\n      }\n    }\n  }\n  else {\n    size = 2;\n    if (iVar4 == 0 && (r_type ^ BFD_RELOC_NONE) == _dummy_first_bfd_reloc_code_real) {\n      r_type = BFD_RELOC_16_PCREL;\n    }\n  }\n  where = (uint)fragP->fr_fix;\n  iVar4 = *(int *)((int)&fragP->fr_fix + 4);\n  uVar9 = uVar12 >> 2;\n  pbVar5 = (byte *)fragP->fr_opcode;\n  if (uVar9 == 1) {\nLAB_000516c8:\n    if ((no_cond_jump_promotion == 0) ||\n       ((int)fragP->fr_var != 0x47 || *(int *)((int)&fragP->fr_var + 4) != 0)) {\n      bVar3 = *pbVar5;\n      *pbVar5 = 0xf;\n      pbVar5[1] = bVar3 + 0x10;\n      poVar1 = &fragP->fr_fix;\n      oVar7 = *poVar1;\n      *(uint *)poVar1 = (int)*poVar1 + size + 1;\n      piVar2 = (int *)((int)&fragP->fr_fix + 4);\n      *piVar2 = *piVar2 + (uint)CARRY4((uint)oVar7,size + 1);\n      fix_new(fragP,where + 1,size,fragP->fr_symbol,fragP->fr_offset,1,r_type);\n      goto LAB_0005167a;\n    }\n  }\n  else {\n    if (uVar9 == 0) {\n      *pbVar5 = 0xe9;\n      poVar1 = &fragP->fr_fix;\n      oVar7 = *poVar1;\n      *(uint *)poVar1 = (int)*poVar1 + size;\n      piVar2 = (int *)((int)&fragP->fr_fix + 4);\n      *piVar2 = *piVar2 + (uint)CARRY4((uint)oVar7,size);\n      fix_new(fragP,where,size,fragP->fr_symbol,fragP->fr_offset,1,r_type);\n      goto LAB_0005167a;\n    }\n    if (uVar9 != 2) {\n      format = (char *)dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5,uVar9);\n                    /* WARNING: Subroutine does not return */\n      as_fatal(format,uVar12,0x2667,"../../gas/config/tc-i386.c");\n    }\n    if (size != 2) goto LAB_000516c8;\n    if ((no_cond_jump_promotion == 0) ||\n       ((int)fragP->fr_var != 0x47 || *(int *)((int)&fragP->fr_var + 4) != 0)) {\n      *pbVar5 = *pbVar5 ^ 1;\n      pbVar5[1] = 3;\n      pbVar5[2] = 0xe9;\n      poVar1 = &fragP->fr_fix;\n      oVar7 = *poVar1;\n      *(int *)poVar1 = (int)*poVar1 + 4;\n      piVar2 = (int *)((int)&fragP->fr_fix + 4);\n      *piVar2 = *piVar2 + (uint)(0xfffffffb < (uint)oVar7);\n      fix_new(fragP,where + 2,2,fragP->fr_symbol,fragP->fr_offset,1,r_type);\n      goto LAB_0005167a;\n    }\n  }\n  *(uint *)&fragP->fr_fix = where + 1;\n  *(uint *)((int)&fragP->fr_fix + 4) = iVar4 + (uint)(0xfffffffe < where);\n  pfVar14 = fix_new(fragP,where,1,fragP->fr_symbol,fragP->fr_offset,1,BFD_RELOC_8_PCREL);\n  *(byte *)pfVar14 = *(byte *)pfVar14 | 0x80;\nLAB_0005167a:\n  frag_wane(fragP);\n  return (int)fragP->fr_fix - where;\n}\n\n" comment comment (function_definition "int md_estimate_size_before_relax(fragS *fragP,segT segment)\n\n{\n  offsetT *poVar1;\n  int *piVar2;\n  byte bVar3;\n  int iVar4;\n  uint where;\n  byte *pbVar5;\n  symbolS *s;\n  int iVar6;\n  offsetT oVar7;\n  segT paVar8;\n  uint uVar9;\n  asymbol *paVar10;\n  int iVar11;\n  uint uVar12;\n  bfd_boolean bVar13;\n  fixS *pfVar14;\n  char *format;\n  bfd_reloc_code_real r_type;\n  uint size;\n  \n  paVar8 = S_GET_SEGMENT(fragP->fr_symbol);\n  if (paVar8 == segment) {\n    iVar4 = *(int *)((int)&fragP->fr_var + 4);\n    s = fragP->fr_symbol;\n    iVar6 = (int)fragP->fr_var;\n    paVar10 = symbol_get_bfdsym(s);\n    if ((paVar10->flags & 0x400000) == 0) {\n      iVar11 = S_IS_EXTERNAL(s);\n      if (iVar11 == 0) {\n        iVar11 = S_IS_WEAK(s);\n      }\n      else {\n        uVar12 = elf_s_get_other(s);\n        if ((uVar12 & 3) != 0) goto LAB_000517c4;\n        iVar11 = shared;\n        if (iVar4 != 0 || iVar6 != 0x47) {\n          if ((iVar6 != 0x165) && (iVar6 != 0x17e)) {\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/config/tc-i386.c",0x25ed,"elf_symbol_resolved_in_segment_p");\n          }\n          goto LAB_0005160b;\n        }\n      }\n      if (iVar11 == 0) {\nLAB_000517c4:\n        return (uint)(byte)md_relax_table[fragP->fr_subtype * 0x18 + 0x10];\n      }\n    }\n  }\nLAB_0005160b:\n  r_type = (bfd_reloc_code_real)fragP->fr_var;\n  uVar12 = fragP->fr_subtype;\n  iVar4 = *(int *)((int)&fragP->fr_var + 4);\n  if ((uVar12 & 1) == 0) {\n    size = 4;\n    if (iVar4 == 0 && (r_type ^ BFD_RELOC_NONE) == _dummy_first_bfd_reloc_code_real) {\n      bVar13 = need_plt32_p(fragP->fr_symbol);\n      uVar12 = fragP->fr_subtype;\n      r_type = BFD_RELOC_X86_64_PLT32;\n      if (bVar13 == 0) {\n        r_type = BFD_RELOC_32_PCREL;\n      }\n    }\n  }\n  else {\n    size = 2;\n    if (iVar4 == 0 && (r_type ^ BFD_RELOC_NONE) == _dummy_first_bfd_reloc_code_real) {\n      r_type = BFD_RELOC_16_PCREL;\n    }\n  }\n  where = (uint)fragP->fr_fix;\n  iVar4 = *(int *)((int)&fragP->fr_fix + 4);\n  uVar9 = uVar12 >> 2;\n  pbVar5 = (byte *)fragP->fr_opcode;\n  if (uVar9 == 1) {\nLAB_000516c8:\n    if ((no_cond_jump_promotion == 0) ||\n       ((int)fragP->fr_var != 0x47 || *(int *)((int)&fragP->fr_var + 4) != 0)) {\n      bVar3 = *pbVar5;\n      *pbVar5 = 0xf;\n      pbVar5[1] = bVar3 + 0x10;\n      poVar1 = &fragP->fr_fix;\n      oVar7 = *poVar1;\n      *(uint *)poVar1 = (int)*poVar1 + size + 1;\n      piVar2 = (int *)((int)&fragP->fr_fix + 4);\n      *piVar2 = *piVar2 + (uint)CARRY4((uint)oVar7,size + 1);\n      fix_new(fragP,where + 1,size,fragP->fr_symbol,fragP->fr_offset,1,r_type);\n      goto LAB_0005167a;\n    }\n  }\n  else {\n    if (uVar9 == 0) {\n      *pbVar5 = 0xe9;\n      poVar1 = &fragP->fr_fix;\n      oVar7 = *poVar1;\n      *(uint *)poVar1 = (int)*poVar1 + size;\n      piVar2 = (int *)((int)&fragP->fr_fix + 4);\n      *piVar2 = *piVar2 + (uint)CARRY4((uint)oVar7,size);\n      fix_new(fragP,where,size,fragP->fr_symbol,fragP->fr_offset,1,r_type);\n      goto LAB_0005167a;\n    }\n    if (uVar9 != 2) {\n      format = (char *)dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5,uVar9);\n                    /* WARNING: Subroutine does not return */\n      as_fatal(format,uVar12,0x2667,"../../gas/config/tc-i386.c");\n    }\n    if (size != 2) goto LAB_000516c8;\n    if ((no_cond_jump_promotion == 0) ||\n       ((int)fragP->fr_var != 0x47 || *(int *)((int)&fragP->fr_var + 4) != 0)) {\n      *pbVar5 = *pbVar5 ^ 1;\n      pbVar5[1] = 3;\n      pbVar5[2] = 0xe9;\n      poVar1 = &fragP->fr_fix;\n      oVar7 = *poVar1;\n      *(int *)poVar1 = (int)*poVar1 + 4;\n      piVar2 = (int *)((int)&fragP->fr_fix + 4);\n      *piVar2 = *piVar2 + (uint)(0xfffffffb < (uint)oVar7);\n      fix_new(fragP,where + 2,2,fragP->fr_symbol,fragP->fr_offset,1,r_type);\n      goto LAB_0005167a;\n    }\n  }\n  *(uint *)&fragP->fr_fix = where + 1;\n  *(uint *)((int)&fragP->fr_fix + 4) = iVar4 + (uint)(0xfffffffe < where);\n  pfVar14 = fix_new(fragP,where,1,fragP->fr_symbol,fragP->fr_offset,1,BFD_RELOC_8_PCREL);\n  *(byte *)pfVar14 = *(byte *)pfVar14 | 0x80;\nLAB_0005167a:\n  frag_wane(fragP);\n  return (int)fragP->fr_fix - where;\n}" primitive_type (function_declarator "md_estimate_size_before_relax(fragS *fragP,segT segment)" identifier (parameter_list "(fragS *fragP,segT segment)" ( (parameter_declaration "fragS *fragP" type_identifier (pointer_declarator "*fragP" * identifier)) , (parameter_declaration "segT segment" type_identifier identifier) ))) (compound_statement "{\n  offsetT *poVar1;\n  int *piVar2;\n  byte bVar3;\n  int iVar4;\n  uint where;\n  byte *pbVar5;\n  symbolS *s;\n  int iVar6;\n  offsetT oVar7;\n  segT paVar8;\n  uint uVar9;\n  asymbol *paVar10;\n  int iVar11;\n  uint uVar12;\n  bfd_boolean bVar13;\n  fixS *pfVar14;\n  char *format;\n  bfd_reloc_code_real r_type;\n  uint size;\n  \n  paVar8 = S_GET_SEGMENT(fragP->fr_symbol);\n  if (paVar8 == segment) {\n    iVar4 = *(int *)((int)&fragP->fr_var + 4);\n    s = fragP->fr_symbol;\n    iVar6 = (int)fragP->fr_var;\n    paVar10 = symbol_get_bfdsym(s);\n    if ((paVar10->flags & 0x400000) == 0) {\n      iVar11 = S_IS_EXTERNAL(s);\n      if (iVar11 == 0) {\n        iVar11 = S_IS_WEAK(s);\n      }\n      else {\n        uVar12 = elf_s_get_other(s);\n        if ((uVar12 & 3) != 0) goto LAB_000517c4;\n        iVar11 = shared;\n        if (iVar4 != 0 || iVar6 != 0x47) {\n          if ((iVar6 != 0x165) && (iVar6 != 0x17e)) {\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/config/tc-i386.c",0x25ed,"elf_symbol_resolved_in_segment_p");\n          }\n          goto LAB_0005160b;\n        }\n      }\n      if (iVar11 == 0) {\nLAB_000517c4:\n        return (uint)(byte)md_relax_table[fragP->fr_subtype * 0x18 + 0x10];\n      }\n    }\n  }\nLAB_0005160b:\n  r_type = (bfd_reloc_code_real)fragP->fr_var;\n  uVar12 = fragP->fr_subtype;\n  iVar4 = *(int *)((int)&fragP->fr_var + 4);\n  if ((uVar12 & 1) == 0) {\n    size = 4;\n    if (iVar4 == 0 && (r_type ^ BFD_RELOC_NONE) == _dummy_first_bfd_reloc_code_real) {\n      bVar13 = need_plt32_p(fragP->fr_symbol);\n      uVar12 = fragP->fr_subtype;\n      r_type = BFD_RELOC_X86_64_PLT32;\n      if (bVar13 == 0) {\n        r_type = BFD_RELOC_32_PCREL;\n      }\n    }\n  }\n  else {\n    size = 2;\n    if (iVar4 == 0 && (r_type ^ BFD_RELOC_NONE) == _dummy_first_bfd_reloc_code_real) {\n      r_type = BFD_RELOC_16_PCREL;\n    }\n  }\n  where = (uint)fragP->fr_fix;\n  iVar4 = *(int *)((int)&fragP->fr_fix + 4);\n  uVar9 = uVar12 >> 2;\n  pbVar5 = (byte *)fragP->fr_opcode;\n  if (uVar9 == 1) {\nLAB_000516c8:\n    if ((no_cond_jump_promotion == 0) ||\n       ((int)fragP->fr_var != 0x47 || *(int *)((int)&fragP->fr_var + 4) != 0)) {\n      bVar3 = *pbVar5;\n      *pbVar5 = 0xf;\n      pbVar5[1] = bVar3 + 0x10;\n      poVar1 = &fragP->fr_fix;\n      oVar7 = *poVar1;\n      *(uint *)poVar1 = (int)*poVar1 + size + 1;\n      piVar2 = (int *)((int)&fragP->fr_fix + 4);\n      *piVar2 = *piVar2 + (uint)CARRY4((uint)oVar7,size + 1);\n      fix_new(fragP,where + 1,size,fragP->fr_symbol,fragP->fr_offset,1,r_type);\n      goto LAB_0005167a;\n    }\n  }\n  else {\n    if (uVar9 == 0) {\n      *pbVar5 = 0xe9;\n      poVar1 = &fragP->fr_fix;\n      oVar7 = *poVar1;\n      *(uint *)poVar1 = (int)*poVar1 + size;\n      piVar2 = (int *)((int)&fragP->fr_fix + 4);\n      *piVar2 = *piVar2 + (uint)CARRY4((uint)oVar7,size);\n      fix_new(fragP,where,size,fragP->fr_symbol,fragP->fr_offset,1,r_type);\n      goto LAB_0005167a;\n    }\n    if (uVar9 != 2) {\n      format = (char *)dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5,uVar9);\n                    /* WARNING: Subroutine does not return */\n      as_fatal(format,uVar12,0x2667,"../../gas/config/tc-i386.c");\n    }\n    if (size != 2) goto LAB_000516c8;\n    if ((no_cond_jump_promotion == 0) ||\n       ((int)fragP->fr_var != 0x47 || *(int *)((int)&fragP->fr_var + 4) != 0)) {\n      *pbVar5 = *pbVar5 ^ 1;\n      pbVar5[1] = 3;\n      pbVar5[2] = 0xe9;\n      poVar1 = &fragP->fr_fix;\n      oVar7 = *poVar1;\n      *(int *)poVar1 = (int)*poVar1 + 4;\n      piVar2 = (int *)((int)&fragP->fr_fix + 4);\n      *piVar2 = *piVar2 + (uint)(0xfffffffb < (uint)oVar7);\n      fix_new(fragP,where + 2,2,fragP->fr_symbol,fragP->fr_offset,1,r_type);\n      goto LAB_0005167a;\n    }\n  }\n  *(uint *)&fragP->fr_fix = where + 1;\n  *(uint *)((int)&fragP->fr_fix + 4) = iVar4 + (uint)(0xfffffffe < where);\n  pfVar14 = fix_new(fragP,where,1,fragP->fr_symbol,fragP->fr_offset,1,BFD_RELOC_8_PCREL);\n  *(byte *)pfVar14 = *(byte *)pfVar14 | 0x80;\nLAB_0005167a:\n  frag_wane(fragP);\n  return (int)fragP->fr_fix - where;\n}" { (declaration "offsetT *poVar1;" type_identifier (pointer_declarator "*poVar1" * identifier) ;) (declaration "int *piVar2;" primitive_type (pointer_declarator "*piVar2" * identifier) ;) (declaration "byte bVar3;" type_identifier identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "uint where;" type_identifier identifier ;) (declaration "byte *pbVar5;" type_identifier (pointer_declarator "*pbVar5" * identifier) ;) (declaration "symbolS *s;" type_identifier (pointer_declarator "*s" * identifier) ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "offsetT oVar7;" type_identifier identifier ;) (declaration "segT paVar8;" type_identifier identifier ;) (declaration "uint uVar9;" type_identifier identifier ;) (declaration "asymbol *paVar10;" type_identifier (pointer_declarator "*paVar10" * identifier) ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "uint uVar12;" type_identifier identifier ;) (declaration "bfd_boolean bVar13;" type_identifier identifier ;) (declaration "fixS *pfVar14;" type_identifier (pointer_declarator "*pfVar14" * identifier) ;) (declaration "char *format;" primitive_type (pointer_declarator "*format" * identifier) ;) (declaration "bfd_reloc_code_real r_type;" type_identifier identifier ;) (declaration "uint size;" type_identifier identifier ;) (expression_statement "paVar8 = S_GET_SEGMENT(fragP->fr_symbol);" (assignment_expression "paVar8 = S_GET_SEGMENT(fragP->fr_symbol)" identifier = (call_expression "S_GET_SEGMENT(fragP->fr_symbol)" identifier (argument_list "(fragP->fr_symbol)" ( (field_expression "fragP->fr_symbol" identifier -> field_identifier) )))) ;) (if_statement "if (paVar8 == segment) {\n    iVar4 = *(int *)((int)&fragP->fr_var + 4);\n    s = fragP->fr_symbol;\n    iVar6 = (int)fragP->fr_var;\n    paVar10 = symbol_get_bfdsym(s);\n    if ((paVar10->flags & 0x400000) == 0) {\n      iVar11 = S_IS_EXTERNAL(s);\n      if (iVar11 == 0) {\n        iVar11 = S_IS_WEAK(s);\n      }\n      else {\n        uVar12 = elf_s_get_other(s);\n        if ((uVar12 & 3) != 0) goto LAB_000517c4;\n        iVar11 = shared;\n        if (iVar4 != 0 || iVar6 != 0x47) {\n          if ((iVar6 != 0x165) && (iVar6 != 0x17e)) {\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/config/tc-i386.c",0x25ed,"elf_symbol_resolved_in_segment_p");\n          }\n          goto LAB_0005160b;\n        }\n      }\n      if (iVar11 == 0) {\nLAB_000517c4:\n        return (uint)(byte)md_relax_table[fragP->fr_subtype * 0x18 + 0x10];\n      }\n    }\n  }" if (parenthesized_expression "(paVar8 == segment)" ( (binary_expression "paVar8 == segment" identifier == identifier) )) (compound_statement "{\n    iVar4 = *(int *)((int)&fragP->fr_var + 4);\n    s = fragP->fr_symbol;\n    iVar6 = (int)fragP->fr_var;\n    paVar10 = symbol_get_bfdsym(s);\n    if ((paVar10->flags & 0x400000) == 0) {\n      iVar11 = S_IS_EXTERNAL(s);\n      if (iVar11 == 0) {\n        iVar11 = S_IS_WEAK(s);\n      }\n      else {\n        uVar12 = elf_s_get_other(s);\n        if ((uVar12 & 3) != 0) goto LAB_000517c4;\n        iVar11 = shared;\n        if (iVar4 != 0 || iVar6 != 0x47) {\n          if ((iVar6 != 0x165) && (iVar6 != 0x17e)) {\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/config/tc-i386.c",0x25ed,"elf_symbol_resolved_in_segment_p");\n          }\n          goto LAB_0005160b;\n        }\n      }\n      if (iVar11 == 0) {\nLAB_000517c4:\n        return (uint)(byte)md_relax_table[fragP->fr_subtype * 0x18 + 0x10];\n      }\n    }\n  }" { (expression_statement "iVar4 = *(int *)((int)&fragP->fr_var + 4);" (assignment_expression "iVar4 = *(int *)((int)&fragP->fr_var + 4)" identifier = (pointer_expression "*(int *)((int)&fragP->fr_var + 4)" * (cast_expression "(int *)((int)&fragP->fr_var + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&fragP->fr_var + 4)" ( (binary_expression "(int)&fragP->fr_var + 4" (cast_expression "(int)&fragP->fr_var" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&fragP->fr_var" & (field_expression "fragP->fr_var" identifier -> field_identifier))) + number_literal) ))))) ;) (expression_statement "s = fragP->fr_symbol;" (assignment_expression "s = fragP->fr_symbol" identifier = (field_expression "fragP->fr_symbol" identifier -> field_identifier)) ;) (expression_statement "iVar6 = (int)fragP->fr_var;" (assignment_expression "iVar6 = (int)fragP->fr_var" identifier = (cast_expression "(int)fragP->fr_var" ( (type_descriptor "int" primitive_type) ) (field_expression "fragP->fr_var" identifier -> field_identifier))) ;) (expression_statement "paVar10 = symbol_get_bfdsym(s);" (assignment_expression "paVar10 = symbol_get_bfdsym(s)" identifier = (call_expression "symbol_get_bfdsym(s)" identifier (argument_list "(s)" ( identifier )))) ;) (if_statement "if ((paVar10->flags & 0x400000) == 0) {\n      iVar11 = S_IS_EXTERNAL(s);\n      if (iVar11 == 0) {\n        iVar11 = S_IS_WEAK(s);\n      }\n      else {\n        uVar12 = elf_s_get_other(s);\n        if ((uVar12 & 3) != 0) goto LAB_000517c4;\n        iVar11 = shared;\n        if (iVar4 != 0 || iVar6 != 0x47) {\n          if ((iVar6 != 0x165) && (iVar6 != 0x17e)) {\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/config/tc-i386.c",0x25ed,"elf_symbol_resolved_in_segment_p");\n          }\n          goto LAB_0005160b;\n        }\n      }\n      if (iVar11 == 0) {\nLAB_000517c4:\n        return (uint)(byte)md_relax_table[fragP->fr_subtype * 0x18 + 0x10];\n      }\n    }" if (parenthesized_expression "((paVar10->flags & 0x400000) == 0)" ( (binary_expression "(paVar10->flags & 0x400000) == 0" (parenthesized_expression "(paVar10->flags & 0x400000)" ( (binary_expression "paVar10->flags & 0x400000" (field_expression "paVar10->flags" identifier -> field_identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n      iVar11 = S_IS_EXTERNAL(s);\n      if (iVar11 == 0) {\n        iVar11 = S_IS_WEAK(s);\n      }\n      else {\n        uVar12 = elf_s_get_other(s);\n        if ((uVar12 & 3) != 0) goto LAB_000517c4;\n        iVar11 = shared;\n        if (iVar4 != 0 || iVar6 != 0x47) {\n          if ((iVar6 != 0x165) && (iVar6 != 0x17e)) {\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/config/tc-i386.c",0x25ed,"elf_symbol_resolved_in_segment_p");\n          }\n          goto LAB_0005160b;\n        }\n      }\n      if (iVar11 == 0) {\nLAB_000517c4:\n        return (uint)(byte)md_relax_table[fragP->fr_subtype * 0x18 + 0x10];\n      }\n    }" { (expression_statement "iVar11 = S_IS_EXTERNAL(s);" (assignment_expression "iVar11 = S_IS_EXTERNAL(s)" identifier = (call_expression "S_IS_EXTERNAL(s)" identifier (argument_list "(s)" ( identifier )))) ;) (if_statement "if (iVar11 == 0) {\n        iVar11 = S_IS_WEAK(s);\n      }\n      else {\n        uVar12 = elf_s_get_other(s);\n        if ((uVar12 & 3) != 0) goto LAB_000517c4;\n        iVar11 = shared;\n        if (iVar4 != 0 || iVar6 != 0x47) {\n          if ((iVar6 != 0x165) && (iVar6 != 0x17e)) {\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/config/tc-i386.c",0x25ed,"elf_symbol_resolved_in_segment_p");\n          }\n          goto LAB_0005160b;\n        }\n      }" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (compound_statement "{\n        iVar11 = S_IS_WEAK(s);\n      }" { (expression_statement "iVar11 = S_IS_WEAK(s);" (assignment_expression "iVar11 = S_IS_WEAK(s)" identifier = (call_expression "S_IS_WEAK(s)" identifier (argument_list "(s)" ( identifier )))) ;) }) (else_clause "else {\n        uVar12 = elf_s_get_other(s);\n        if ((uVar12 & 3) != 0) goto LAB_000517c4;\n        iVar11 = shared;\n        if (iVar4 != 0 || iVar6 != 0x47) {\n          if ((iVar6 != 0x165) && (iVar6 != 0x17e)) {\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/config/tc-i386.c",0x25ed,"elf_symbol_resolved_in_segment_p");\n          }\n          goto LAB_0005160b;\n        }\n      }" else (compound_statement "{\n        uVar12 = elf_s_get_other(s);\n        if ((uVar12 & 3) != 0) goto LAB_000517c4;\n        iVar11 = shared;\n        if (iVar4 != 0 || iVar6 != 0x47) {\n          if ((iVar6 != 0x165) && (iVar6 != 0x17e)) {\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/config/tc-i386.c",0x25ed,"elf_symbol_resolved_in_segment_p");\n          }\n          goto LAB_0005160b;\n        }\n      }" { (expression_statement "uVar12 = elf_s_get_other(s);" (assignment_expression "uVar12 = elf_s_get_other(s)" identifier = (call_expression "elf_s_get_other(s)" identifier (argument_list "(s)" ( identifier )))) ;) (if_statement "if ((uVar12 & 3) != 0) goto LAB_000517c4;" if (parenthesized_expression "((uVar12 & 3) != 0)" ( (binary_expression "(uVar12 & 3) != 0" (parenthesized_expression "(uVar12 & 3)" ( (binary_expression "uVar12 & 3" identifier & number_literal) )) != number_literal) )) (goto_statement "goto LAB_000517c4;" goto statement_identifier ;)) (expression_statement "iVar11 = shared;" (assignment_expression "iVar11 = shared" identifier = identifier) ;) (if_statement "if (iVar4 != 0 || iVar6 != 0x47) {\n          if ((iVar6 != 0x165) && (iVar6 != 0x17e)) {\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/config/tc-i386.c",0x25ed,"elf_symbol_resolved_in_segment_p");\n          }\n          goto LAB_0005160b;\n        }" if (parenthesized_expression "(iVar4 != 0 || iVar6 != 0x47)" ( (binary_expression "iVar4 != 0 || iVar6 != 0x47" (binary_expression "iVar4 != 0" identifier != number_literal) || (binary_expression "iVar6 != 0x47" identifier != number_literal)) )) (compound_statement "{\n          if ((iVar6 != 0x165) && (iVar6 != 0x17e)) {\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/config/tc-i386.c",0x25ed,"elf_symbol_resolved_in_segment_p");\n          }\n          goto LAB_0005160b;\n        }" { (if_statement "if ((iVar6 != 0x165) && (iVar6 != 0x17e)) {\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/config/tc-i386.c",0x25ed,"elf_symbol_resolved_in_segment_p");\n          }" if (parenthesized_expression "((iVar6 != 0x165) && (iVar6 != 0x17e))" ( (binary_expression "(iVar6 != 0x165) && (iVar6 != 0x17e)" (parenthesized_expression "(iVar6 != 0x165)" ( (binary_expression "iVar6 != 0x165" identifier != number_literal) )) && (parenthesized_expression "(iVar6 != 0x17e)" ( (binary_expression "iVar6 != 0x17e" identifier != number_literal) ))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/config/tc-i386.c",0x25ed,"elf_symbol_resolved_in_segment_p");\n          }" { comment (expression_statement "as_abort("../../gas/config/tc-i386.c",0x25ed,"elf_symbol_resolved_in_segment_p");" (call_expression "as_abort("../../gas/config/tc-i386.c",0x25ed,"elf_symbol_resolved_in_segment_p")" identifier (argument_list "("../../gas/config/tc-i386.c",0x25ed,"elf_symbol_resolved_in_segment_p")" ( (string_literal ""../../gas/config/tc-i386.c"" " string_content ") , number_literal , (string_literal ""elf_symbol_resolved_in_segment_p"" " string_content ") ))) ;) })) (goto_statement "goto LAB_0005160b;" goto statement_identifier ;) })) }))) (if_statement "if (iVar11 == 0) {\nLAB_000517c4:\n        return (uint)(byte)md_relax_table[fragP->fr_subtype * 0x18 + 0x10];\n      }" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_000517c4:\n        return (uint)(byte)md_relax_table[fragP->fr_subtype * 0x18 + 0x10];\n      }" { (labeled_statement "LAB_000517c4:\n        return (uint)(byte)md_relax_table[fragP->fr_subtype * 0x18 + 0x10];" statement_identifier : (return_statement "return (uint)(byte)md_relax_table[fragP->fr_subtype * 0x18 + 0x10];" return (cast_expression "(uint)(byte)md_relax_table[fragP->fr_subtype * 0x18 + 0x10]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)md_relax_table[fragP->fr_subtype * 0x18 + 0x10]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "md_relax_table[fragP->fr_subtype * 0x18 + 0x10]" identifier [ (binary_expression "fragP->fr_subtype * 0x18 + 0x10" (binary_expression "fragP->fr_subtype * 0x18" (field_expression "fragP->fr_subtype" identifier -> field_identifier) * number_literal) + number_literal) ]))) ;)) })) })) })) (labeled_statement "LAB_0005160b:\n  r_type = (bfd_reloc_code_real)fragP->fr_var;" statement_identifier : (expression_statement "r_type = (bfd_reloc_code_real)fragP->fr_var;" (assignment_expression "r_type = (bfd_reloc_code_real)fragP->fr_var" identifier = (cast_expression "(bfd_reloc_code_real)fragP->fr_var" ( (type_descriptor "bfd_reloc_code_real" type_identifier) ) (field_expression "fragP->fr_var" identifier -> field_identifier))) ;)) (expression_statement "uVar12 = fragP->fr_subtype;" (assignment_expression "uVar12 = fragP->fr_subtype" identifier = (field_expression "fragP->fr_subtype" identifier -> field_identifier)) ;) (expression_statement "iVar4 = *(int *)((int)&fragP->fr_var + 4);" (assignment_expression "iVar4 = *(int *)((int)&fragP->fr_var + 4)" identifier = (pointer_expression "*(int *)((int)&fragP->fr_var + 4)" * (cast_expression "(int *)((int)&fragP->fr_var + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&fragP->fr_var + 4)" ( (binary_expression "(int)&fragP->fr_var + 4" (cast_expression "(int)&fragP->fr_var" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&fragP->fr_var" & (field_expression "fragP->fr_var" identifier -> field_identifier))) + number_literal) ))))) ;) (if_statement "if ((uVar12 & 1) == 0) {\n    size = 4;\n    if (iVar4 == 0 && (r_type ^ BFD_RELOC_NONE) == _dummy_first_bfd_reloc_code_real) {\n      bVar13 = need_plt32_p(fragP->fr_symbol);\n      uVar12 = fragP->fr_subtype;\n      r_type = BFD_RELOC_X86_64_PLT32;\n      if (bVar13 == 0) {\n        r_type = BFD_RELOC_32_PCREL;\n      }\n    }\n  }\n  else {\n    size = 2;\n    if (iVar4 == 0 && (r_type ^ BFD_RELOC_NONE) == _dummy_first_bfd_reloc_code_real) {\n      r_type = BFD_RELOC_16_PCREL;\n    }\n  }" if (parenthesized_expression "((uVar12 & 1) == 0)" ( (binary_expression "(uVar12 & 1) == 0" (parenthesized_expression "(uVar12 & 1)" ( (binary_expression "uVar12 & 1" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n    size = 4;\n    if (iVar4 == 0 && (r_type ^ BFD_RELOC_NONE) == _dummy_first_bfd_reloc_code_real) {\n      bVar13 = need_plt32_p(fragP->fr_symbol);\n      uVar12 = fragP->fr_subtype;\n      r_type = BFD_RELOC_X86_64_PLT32;\n      if (bVar13 == 0) {\n        r_type = BFD_RELOC_32_PCREL;\n      }\n    }\n  }" { (expression_statement "size = 4;" (assignment_expression "size = 4" identifier = number_literal) ;) (if_statement "if (iVar4 == 0 && (r_type ^ BFD_RELOC_NONE) == _dummy_first_bfd_reloc_code_real) {\n      bVar13 = need_plt32_p(fragP->fr_symbol);\n      uVar12 = fragP->fr_subtype;\n      r_type = BFD_RELOC_X86_64_PLT32;\n      if (bVar13 == 0) {\n        r_type = BFD_RELOC_32_PCREL;\n      }\n    }" if (parenthesized_expression "(iVar4 == 0 && (r_type ^ BFD_RELOC_NONE) == _dummy_first_bfd_reloc_code_real)" ( (binary_expression "iVar4 == 0 && (r_type ^ BFD_RELOC_NONE) == _dummy_first_bfd_reloc_code_real" (binary_expression "iVar4 == 0" identifier == number_literal) && (binary_expression "(r_type ^ BFD_RELOC_NONE) == _dummy_first_bfd_reloc_code_real" (parenthesized_expression "(r_type ^ BFD_RELOC_NONE)" ( (binary_expression "r_type ^ BFD_RELOC_NONE" identifier ^ identifier) )) == identifier)) )) (compound_statement "{\n      bVar13 = need_plt32_p(fragP->fr_symbol);\n      uVar12 = fragP->fr_subtype;\n      r_type = BFD_RELOC_X86_64_PLT32;\n      if (bVar13 == 0) {\n        r_type = BFD_RELOC_32_PCREL;\n      }\n    }" { (expression_statement "bVar13 = need_plt32_p(fragP->fr_symbol);" (assignment_expression "bVar13 = need_plt32_p(fragP->fr_symbol)" identifier = (call_expression "need_plt32_p(fragP->fr_symbol)" identifier (argument_list "(fragP->fr_symbol)" ( (field_expression "fragP->fr_symbol" identifier -> field_identifier) )))) ;) (expression_statement "uVar12 = fragP->fr_subtype;" (assignment_expression "uVar12 = fragP->fr_subtype" identifier = (field_expression "fragP->fr_subtype" identifier -> field_identifier)) ;) (expression_statement "r_type = BFD_RELOC_X86_64_PLT32;" (assignment_expression "r_type = BFD_RELOC_X86_64_PLT32" identifier = identifier) ;) (if_statement "if (bVar13 == 0) {\n        r_type = BFD_RELOC_32_PCREL;\n      }" if (parenthesized_expression "(bVar13 == 0)" ( (binary_expression "bVar13 == 0" identifier == number_literal) )) (compound_statement "{\n        r_type = BFD_RELOC_32_PCREL;\n      }" { (expression_statement "r_type = BFD_RELOC_32_PCREL;" (assignment_expression "r_type = BFD_RELOC_32_PCREL" identifier = identifier) ;) })) })) }) (else_clause "else {\n    size = 2;\n    if (iVar4 == 0 && (r_type ^ BFD_RELOC_NONE) == _dummy_first_bfd_reloc_code_real) {\n      r_type = BFD_RELOC_16_PCREL;\n    }\n  }" else (compound_statement "{\n    size = 2;\n    if (iVar4 == 0 && (r_type ^ BFD_RELOC_NONE) == _dummy_first_bfd_reloc_code_real) {\n      r_type = BFD_RELOC_16_PCREL;\n    }\n  }" { (expression_statement "size = 2;" (assignment_expression "size = 2" identifier = number_literal) ;) (if_statement "if (iVar4 == 0 && (r_type ^ BFD_RELOC_NONE) == _dummy_first_bfd_reloc_code_real) {\n      r_type = BFD_RELOC_16_PCREL;\n    }" if (parenthesized_expression "(iVar4 == 0 && (r_type ^ BFD_RELOC_NONE) == _dummy_first_bfd_reloc_code_real)" ( (binary_expression "iVar4 == 0 && (r_type ^ BFD_RELOC_NONE) == _dummy_first_bfd_reloc_code_real" (binary_expression "iVar4 == 0" identifier == number_literal) && (binary_expression "(r_type ^ BFD_RELOC_NONE) == _dummy_first_bfd_reloc_code_real" (parenthesized_expression "(r_type ^ BFD_RELOC_NONE)" ( (binary_expression "r_type ^ BFD_RELOC_NONE" identifier ^ identifier) )) == identifier)) )) (compound_statement "{\n      r_type = BFD_RELOC_16_PCREL;\n    }" { (expression_statement "r_type = BFD_RELOC_16_PCREL;" (assignment_expression "r_type = BFD_RELOC_16_PCREL" identifier = identifier) ;) })) }))) (expression_statement "where = (uint)fragP->fr_fix;" (assignment_expression "where = (uint)fragP->fr_fix" identifier = (cast_expression "(uint)fragP->fr_fix" ( (type_descriptor "uint" type_identifier) ) (field_expression "fragP->fr_fix" identifier -> field_identifier))) ;) (expression_statement "iVar4 = *(int *)((int)&fragP->fr_fix + 4);" (assignment_expression "iVar4 = *(int *)((int)&fragP->fr_fix + 4)" identifier = (pointer_expression "*(int *)((int)&fragP->fr_fix + 4)" * (cast_expression "(int *)((int)&fragP->fr_fix + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&fragP->fr_fix + 4)" ( (binary_expression "(int)&fragP->fr_fix + 4" (cast_expression "(int)&fragP->fr_fix" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&fragP->fr_fix" & (field_expression "fragP->fr_fix" identifier -> field_identifier))) + number_literal) ))))) ;) (expression_statement "uVar9 = uVar12 >> 2;" (assignment_expression "uVar9 = uVar12 >> 2" identifier = (binary_expression "uVar12 >> 2" identifier >> number_literal)) ;) (expression_statement "pbVar5 = (byte *)fragP->fr_opcode;" (assignment_expression "pbVar5 = (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))) ;) (if_statement "if (uVar9 == 1) {\nLAB_000516c8:\n    if ((no_cond_jump_promotion == 0) ||\n       ((int)fragP->fr_var != 0x47 || *(int *)((int)&fragP->fr_var + 4) != 0)) {\n      bVar3 = *pbVar5;\n      *pbVar5 = 0xf;\n      pbVar5[1] = bVar3 + 0x10;\n      poVar1 = &fragP->fr_fix;\n      oVar7 = *poVar1;\n      *(uint *)poVar1 = (int)*poVar1 + size + 1;\n      piVar2 = (int *)((int)&fragP->fr_fix + 4);\n      *piVar2 = *piVar2 + (uint)CARRY4((uint)oVar7,size + 1);\n      fix_new(fragP,where + 1,size,fragP->fr_symbol,fragP->fr_offset,1,r_type);\n      goto LAB_0005167a;\n    }\n  }\n  else {\n    if (uVar9 == 0) {\n      *pbVar5 = 0xe9;\n      poVar1 = &fragP->fr_fix;\n      oVar7 = *poVar1;\n      *(uint *)poVar1 = (int)*poVar1 + size;\n      piVar2 = (int *)((int)&fragP->fr_fix + 4);\n      *piVar2 = *piVar2 + (uint)CARRY4((uint)oVar7,size);\n      fix_new(fragP,where,size,fragP->fr_symbol,fragP->fr_offset,1,r_type);\n      goto LAB_0005167a;\n    }\n    if (uVar9 != 2) {\n      format = (char *)dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5,uVar9);\n                    /* WARNING: Subroutine does not return */\n      as_fatal(format,uVar12,0x2667,"../../gas/config/tc-i386.c");\n    }\n    if (size != 2) goto LAB_000516c8;\n    if ((no_cond_jump_promotion == 0) ||\n       ((int)fragP->fr_var != 0x47 || *(int *)((int)&fragP->fr_var + 4) != 0)) {\n      *pbVar5 = *pbVar5 ^ 1;\n      pbVar5[1] = 3;\n      pbVar5[2] = 0xe9;\n      poVar1 = &fragP->fr_fix;\n      oVar7 = *poVar1;\n      *(int *)poVar1 = (int)*poVar1 + 4;\n      piVar2 = (int *)((int)&fragP->fr_fix + 4);\n      *piVar2 = *piVar2 + (uint)(0xfffffffb < (uint)oVar7);\n      fix_new(fragP,where + 2,2,fragP->fr_symbol,fragP->fr_offset,1,r_type);\n      goto LAB_0005167a;\n    }\n  }" if (parenthesized_expression "(uVar9 == 1)" ( (binary_expression "uVar9 == 1" identifier == number_literal) )) (compound_statement "{\nLAB_000516c8:\n    if ((no_cond_jump_promotion == 0) ||\n       ((int)fragP->fr_var != 0x47 || *(int *)((int)&fragP->fr_var + 4) != 0)) {\n      bVar3 = *pbVar5;\n      *pbVar5 = 0xf;\n      pbVar5[1] = bVar3 + 0x10;\n      poVar1 = &fragP->fr_fix;\n      oVar7 = *poVar1;\n      *(uint *)poVar1 = (int)*poVar1 + size + 1;\n      piVar2 = (int *)((int)&fragP->fr_fix + 4);\n      *piVar2 = *piVar2 + (uint)CARRY4((uint)oVar7,size + 1);\n      fix_new(fragP,where + 1,size,fragP->fr_symbol,fragP->fr_offset,1,r_type);\n      goto LAB_0005167a;\n    }\n  }" { (labeled_statement "LAB_000516c8:\n    if ((no_cond_jump_promotion == 0) ||\n       ((int)fragP->fr_var != 0x47 || *(int *)((int)&fragP->fr_var + 4) != 0)) {\n      bVar3 = *pbVar5;\n      *pbVar5 = 0xf;\n      pbVar5[1] = bVar3 + 0x10;\n      poVar1 = &fragP->fr_fix;\n      oVar7 = *poVar1;\n      *(uint *)poVar1 = (int)*poVar1 + size + 1;\n      piVar2 = (int *)((int)&fragP->fr_fix + 4);\n      *piVar2 = *piVar2 + (uint)CARRY4((uint)oVar7,size + 1);\n      fix_new(fragP,where + 1,size,fragP->fr_symbol,fragP->fr_offset,1,r_type);\n      goto LAB_0005167a;\n    }" statement_identifier : (if_statement "if ((no_cond_jump_promotion == 0) ||\n       ((int)fragP->fr_var != 0x47 || *(int *)((int)&fragP->fr_var + 4) != 0)) {\n      bVar3 = *pbVar5;\n      *pbVar5 = 0xf;\n      pbVar5[1] = bVar3 + 0x10;\n      poVar1 = &fragP->fr_fix;\n      oVar7 = *poVar1;\n      *(uint *)poVar1 = (int)*poVar1 + size + 1;\n      piVar2 = (int *)((int)&fragP->fr_fix + 4);\n      *piVar2 = *piVar2 + (uint)CARRY4((uint)oVar7,size + 1);\n      fix_new(fragP,where + 1,size,fragP->fr_symbol,fragP->fr_offset,1,r_type);\n      goto LAB_0005167a;\n    }" if (parenthesized_expression "((no_cond_jump_promotion == 0) ||\n       ((int)fragP->fr_var != 0x47 || *(int *)((int)&fragP->fr_var + 4) != 0))" ( (binary_expression "(no_cond_jump_promotion == 0) ||\n       ((int)fragP->fr_var != 0x47 || *(int *)((int)&fragP->fr_var + 4) != 0)" (parenthesized_expression "(no_cond_jump_promotion == 0)" ( (binary_expression "no_cond_jump_promotion == 0" identifier == number_literal) )) || (parenthesized_expression "((int)fragP->fr_var != 0x47 || *(int *)((int)&fragP->fr_var + 4) != 0)" ( (binary_expression "(int)fragP->fr_var != 0x47 || *(int *)((int)&fragP->fr_var + 4) != 0" (binary_expression "(int)fragP->fr_var != 0x47" (cast_expression "(int)fragP->fr_var" ( (type_descriptor "int" primitive_type) ) (field_expression "fragP->fr_var" identifier -> field_identifier)) != number_literal) || (binary_expression "*(int *)((int)&fragP->fr_var + 4) != 0" (pointer_expression "*(int *)((int)&fragP->fr_var + 4)" * (cast_expression "(int *)((int)&fragP->fr_var + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&fragP->fr_var + 4)" ( (binary_expression "(int)&fragP->fr_var + 4" (cast_expression "(int)&fragP->fr_var" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&fragP->fr_var" & (field_expression "fragP->fr_var" identifier -> field_identifier))) + number_literal) )))) != number_literal)) ))) )) (compound_statement "{\n      bVar3 = *pbVar5;\n      *pbVar5 = 0xf;\n      pbVar5[1] = bVar3 + 0x10;\n      poVar1 = &fragP->fr_fix;\n      oVar7 = *poVar1;\n      *(uint *)poVar1 = (int)*poVar1 + size + 1;\n      piVar2 = (int *)((int)&fragP->fr_fix + 4);\n      *piVar2 = *piVar2 + (uint)CARRY4((uint)oVar7,size + 1);\n      fix_new(fragP,where + 1,size,fragP->fr_symbol,fragP->fr_offset,1,r_type);\n      goto LAB_0005167a;\n    }" { (expression_statement "bVar3 = *pbVar5;" (assignment_expression "bVar3 = *pbVar5" identifier = (pointer_expression "*pbVar5" * identifier)) ;) (expression_statement "*pbVar5 = 0xf;" (assignment_expression "*pbVar5 = 0xf" (pointer_expression "*pbVar5" * identifier) = number_literal) ;) (expression_statement "pbVar5[1] = bVar3 + 0x10;" (assignment_expression "pbVar5[1] = bVar3 + 0x10" (subscript_expression "pbVar5[1]" identifier [ number_literal ]) = (binary_expression "bVar3 + 0x10" identifier + number_literal)) ;) (expression_statement "poVar1 = &fragP->fr_fix;" (assignment_expression "poVar1 = &fragP->fr_fix" identifier = (pointer_expression "&fragP->fr_fix" & (field_expression "fragP->fr_fix" identifier -> field_identifier))) ;) (expression_statement "oVar7 = *poVar1;" (assignment_expression "oVar7 = *poVar1" identifier = (pointer_expression "*poVar1" * identifier)) ;) (expression_statement "*(uint *)poVar1 = (int)*poVar1 + size + 1;" (assignment_expression "*(uint *)poVar1 = (int)*poVar1 + size + 1" (pointer_expression "*(uint *)poVar1" * (cast_expression "(uint *)poVar1" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (binary_expression "(int)*poVar1 + size + 1" (binary_expression "(int)*poVar1 + size" (cast_expression "(int)*poVar1" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*poVar1" * identifier)) + identifier) + number_literal)) ;) (expression_statement "piVar2 = (int *)((int)&fragP->fr_fix + 4);" (assignment_expression "piVar2 = (int *)((int)&fragP->fr_fix + 4)" identifier = (cast_expression "(int *)((int)&fragP->fr_fix + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&fragP->fr_fix + 4)" ( (binary_expression "(int)&fragP->fr_fix + 4" (cast_expression "(int)&fragP->fr_fix" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&fragP->fr_fix" & (field_expression "fragP->fr_fix" identifier -> field_identifier))) + number_literal) )))) ;) (expression_statement "*piVar2 = *piVar2 + (uint)CARRY4((uint)oVar7,size + 1);" (assignment_expression "*piVar2 = *piVar2 + (uint)CARRY4((uint)oVar7,size + 1)" (pointer_expression "*piVar2" * identifier) = (binary_expression "*piVar2 + (uint)CARRY4((uint)oVar7,size + 1)" (pointer_expression "*piVar2" * identifier) + (cast_expression "(uint)CARRY4((uint)oVar7,size + 1)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4((uint)oVar7,size + 1)" identifier (argument_list "((uint)oVar7,size + 1)" ( (cast_expression "(uint)oVar7" ( (type_descriptor "uint" type_identifier) ) identifier) , (binary_expression "size + 1" identifier + number_literal) )))))) ;) (expression_statement "fix_new(fragP,where + 1,size,fragP->fr_symbol,fragP->fr_offset,1,r_type);" (call_expression "fix_new(fragP,where + 1,size,fragP->fr_symbol,fragP->fr_offset,1,r_type)" identifier (argument_list "(fragP,where + 1,size,fragP->fr_symbol,fragP->fr_offset,1,r_type)" ( identifier , (binary_expression "where + 1" identifier + number_literal) , identifier , (field_expression "fragP->fr_symbol" identifier -> field_identifier) , (field_expression "fragP->fr_offset" identifier -> field_identifier) , number_literal , identifier ))) ;) (goto_statement "goto LAB_0005167a;" goto statement_identifier ;) }))) }) (else_clause "else {\n    if (uVar9 == 0) {\n      *pbVar5 = 0xe9;\n      poVar1 = &fragP->fr_fix;\n      oVar7 = *poVar1;\n      *(uint *)poVar1 = (int)*poVar1 + size;\n      piVar2 = (int *)((int)&fragP->fr_fix + 4);\n      *piVar2 = *piVar2 + (uint)CARRY4((uint)oVar7,size);\n      fix_new(fragP,where,size,fragP->fr_symbol,fragP->fr_offset,1,r_type);\n      goto LAB_0005167a;\n    }\n    if (uVar9 != 2) {\n      format = (char *)dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5,uVar9);\n                    /* WARNING: Subroutine does not return */\n      as_fatal(format,uVar12,0x2667,"../../gas/config/tc-i386.c");\n    }\n    if (size != 2) goto LAB_000516c8;\n    if ((no_cond_jump_promotion == 0) ||\n       ((int)fragP->fr_var != 0x47 || *(int *)((int)&fragP->fr_var + 4) != 0)) {\n      *pbVar5 = *pbVar5 ^ 1;\n      pbVar5[1] = 3;\n      pbVar5[2] = 0xe9;\n      poVar1 = &fragP->fr_fix;\n      oVar7 = *poVar1;\n      *(int *)poVar1 = (int)*poVar1 + 4;\n      piVar2 = (int *)((int)&fragP->fr_fix + 4);\n      *piVar2 = *piVar2 + (uint)(0xfffffffb < (uint)oVar7);\n      fix_new(fragP,where + 2,2,fragP->fr_symbol,fragP->fr_offset,1,r_type);\n      goto LAB_0005167a;\n    }\n  }" else (compound_statement "{\n    if (uVar9 == 0) {\n      *pbVar5 = 0xe9;\n      poVar1 = &fragP->fr_fix;\n      oVar7 = *poVar1;\n      *(uint *)poVar1 = (int)*poVar1 + size;\n      piVar2 = (int *)((int)&fragP->fr_fix + 4);\n      *piVar2 = *piVar2 + (uint)CARRY4((uint)oVar7,size);\n      fix_new(fragP,where,size,fragP->fr_symbol,fragP->fr_offset,1,r_type);\n      goto LAB_0005167a;\n    }\n    if (uVar9 != 2) {\n      format = (char *)dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5,uVar9);\n                    /* WARNING: Subroutine does not return */\n      as_fatal(format,uVar12,0x2667,"../../gas/config/tc-i386.c");\n    }\n    if (size != 2) goto LAB_000516c8;\n    if ((no_cond_jump_promotion == 0) ||\n       ((int)fragP->fr_var != 0x47 || *(int *)((int)&fragP->fr_var + 4) != 0)) {\n      *pbVar5 = *pbVar5 ^ 1;\n      pbVar5[1] = 3;\n      pbVar5[2] = 0xe9;\n      poVar1 = &fragP->fr_fix;\n      oVar7 = *poVar1;\n      *(int *)poVar1 = (int)*poVar1 + 4;\n      piVar2 = (int *)((int)&fragP->fr_fix + 4);\n      *piVar2 = *piVar2 + (uint)(0xfffffffb < (uint)oVar7);\n      fix_new(fragP,where + 2,2,fragP->fr_symbol,fragP->fr_offset,1,r_type);\n      goto LAB_0005167a;\n    }\n  }" { (if_statement "if (uVar9 == 0) {\n      *pbVar5 = 0xe9;\n      poVar1 = &fragP->fr_fix;\n      oVar7 = *poVar1;\n      *(uint *)poVar1 = (int)*poVar1 + size;\n      piVar2 = (int *)((int)&fragP->fr_fix + 4);\n      *piVar2 = *piVar2 + (uint)CARRY4((uint)oVar7,size);\n      fix_new(fragP,where,size,fragP->fr_symbol,fragP->fr_offset,1,r_type);\n      goto LAB_0005167a;\n    }" if (parenthesized_expression "(uVar9 == 0)" ( (binary_expression "uVar9 == 0" identifier == number_literal) )) (compound_statement "{\n      *pbVar5 = 0xe9;\n      poVar1 = &fragP->fr_fix;\n      oVar7 = *poVar1;\n      *(uint *)poVar1 = (int)*poVar1 + size;\n      piVar2 = (int *)((int)&fragP->fr_fix + 4);\n      *piVar2 = *piVar2 + (uint)CARRY4((uint)oVar7,size);\n      fix_new(fragP,where,size,fragP->fr_symbol,fragP->fr_offset,1,r_type);\n      goto LAB_0005167a;\n    }" { (expression_statement "*pbVar5 = 0xe9;" (assignment_expression "*pbVar5 = 0xe9" (pointer_expression "*pbVar5" * identifier) = number_literal) ;) (expression_statement "poVar1 = &fragP->fr_fix;" (assignment_expression "poVar1 = &fragP->fr_fix" identifier = (pointer_expression "&fragP->fr_fix" & (field_expression "fragP->fr_fix" identifier -> field_identifier))) ;) (expression_statement "oVar7 = *poVar1;" (assignment_expression "oVar7 = *poVar1" identifier = (pointer_expression "*poVar1" * identifier)) ;) (expression_statement "*(uint *)poVar1 = (int)*poVar1 + size;" (assignment_expression "*(uint *)poVar1 = (int)*poVar1 + size" (pointer_expression "*(uint *)poVar1" * (cast_expression "(uint *)poVar1" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (binary_expression "(int)*poVar1 + size" (cast_expression "(int)*poVar1" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*poVar1" * identifier)) + identifier)) ;) (expression_statement "piVar2 = (int *)((int)&fragP->fr_fix + 4);" (assignment_expression "piVar2 = (int *)((int)&fragP->fr_fix + 4)" identifier = (cast_expression "(int *)((int)&fragP->fr_fix + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&fragP->fr_fix + 4)" ( (binary_expression "(int)&fragP->fr_fix + 4" (cast_expression "(int)&fragP->fr_fix" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&fragP->fr_fix" & (field_expression "fragP->fr_fix" identifier -> field_identifier))) + number_literal) )))) ;) (expression_statement "*piVar2 = *piVar2 + (uint)CARRY4((uint)oVar7,size);" (assignment_expression "*piVar2 = *piVar2 + (uint)CARRY4((uint)oVar7,size)" (pointer_expression "*piVar2" * identifier) = (binary_expression "*piVar2 + (uint)CARRY4((uint)oVar7,size)" (pointer_expression "*piVar2" * identifier) + (cast_expression "(uint)CARRY4((uint)oVar7,size)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4((uint)oVar7,size)" identifier (argument_list "((uint)oVar7,size)" ( (cast_expression "(uint)oVar7" ( (type_descriptor "uint" type_identifier) ) identifier) , identifier )))))) ;) (expression_statement "fix_new(fragP,where,size,fragP->fr_symbol,fragP->fr_offset,1,r_type);" (call_expression "fix_new(fragP,where,size,fragP->fr_symbol,fragP->fr_offset,1,r_type)" identifier (argument_list "(fragP,where,size,fragP->fr_symbol,fragP->fr_offset,1,r_type)" ( identifier , identifier , identifier , (field_expression "fragP->fr_symbol" identifier -> field_identifier) , (field_expression "fragP->fr_offset" identifier -> field_identifier) , number_literal , identifier ))) ;) (goto_statement "goto LAB_0005167a;" goto statement_identifier ;) })) (if_statement "if (uVar9 != 2) {\n      format = (char *)dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5,uVar9);\n                    /* WARNING: Subroutine does not return */\n      as_fatal(format,uVar12,0x2667,"../../gas/config/tc-i386.c");\n    }" if (parenthesized_expression "(uVar9 != 2)" ( (binary_expression "uVar9 != 2" identifier != number_literal) )) (compound_statement "{\n      format = (char *)dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5,uVar9);\n                    /* WARNING: Subroutine does not return */\n      as_fatal(format,uVar12,0x2667,"../../gas/config/tc-i386.c");\n    }" { (expression_statement "format = (char *)dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5,uVar9);" (assignment_expression "format = (char *)dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5,uVar9)" identifier = (cast_expression "(char *)dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5,uVar9)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5,uVar9)" identifier (argument_list "(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5,uVar9)" ( 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 , identifier ))))) ;) comment (expression_statement "as_fatal(format,uVar12,0x2667,"../../gas/config/tc-i386.c");" (call_expression "as_fatal(format,uVar12,0x2667,"../../gas/config/tc-i386.c")" identifier (argument_list "(format,uVar12,0x2667,"../../gas/config/tc-i386.c")" ( identifier , identifier , number_literal , (string_literal ""../../gas/config/tc-i386.c"" " string_content ") ))) ;) })) (if_statement "if (size != 2) goto LAB_000516c8;" if (parenthesized_expression "(size != 2)" ( (binary_expression "size != 2" identifier != number_literal) )) (goto_statement "goto LAB_000516c8;" goto statement_identifier ;)) (if_statement "if ((no_cond_jump_promotion == 0) ||\n       ((int)fragP->fr_var != 0x47 || *(int *)((int)&fragP->fr_var + 4) != 0)) {\n      *pbVar5 = *pbVar5 ^ 1;\n      pbVar5[1] = 3;\n      pbVar5[2] = 0xe9;\n      poVar1 = &fragP->fr_fix;\n      oVar7 = *poVar1;\n      *(int *)poVar1 = (int)*poVar1 + 4;\n      piVar2 = (int *)((int)&fragP->fr_fix + 4);\n      *piVar2 = *piVar2 + (uint)(0xfffffffb < (uint)oVar7);\n      fix_new(fragP,where + 2,2,fragP->fr_symbol,fragP->fr_offset,1,r_type);\n      goto LAB_0005167a;\n    }" if (parenthesized_expression "((no_cond_jump_promotion == 0) ||\n       ((int)fragP->fr_var != 0x47 || *(int *)((int)&fragP->fr_var + 4) != 0))" ( (binary_expression "(no_cond_jump_promotion == 0) ||\n       ((int)fragP->fr_var != 0x47 || *(int *)((int)&fragP->fr_var + 4) != 0)" (parenthesized_expression "(no_cond_jump_promotion == 0)" ( (binary_expression "no_cond_jump_promotion == 0" identifier == number_literal) )) || (parenthesized_expression "((int)fragP->fr_var != 0x47 || *(int *)((int)&fragP->fr_var + 4) != 0)" ( (binary_expression "(int)fragP->fr_var != 0x47 || *(int *)((int)&fragP->fr_var + 4) != 0" (binary_expression "(int)fragP->fr_var != 0x47" (cast_expression "(int)fragP->fr_var" ( (type_descriptor "int" primitive_type) ) (field_expression "fragP->fr_var" identifier -> field_identifier)) != number_literal) || (binary_expression "*(int *)((int)&fragP->fr_var + 4) != 0" (pointer_expression "*(int *)((int)&fragP->fr_var + 4)" * (cast_expression "(int *)((int)&fragP->fr_var + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&fragP->fr_var + 4)" ( (binary_expression "(int)&fragP->fr_var + 4" (cast_expression "(int)&fragP->fr_var" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&fragP->fr_var" & (field_expression "fragP->fr_var" identifier -> field_identifier))) + number_literal) )))) != number_literal)) ))) )) (compound_statement "{\n      *pbVar5 = *pbVar5 ^ 1;\n      pbVar5[1] = 3;\n      pbVar5[2] = 0xe9;\n      poVar1 = &fragP->fr_fix;\n      oVar7 = *poVar1;\n      *(int *)poVar1 = (int)*poVar1 + 4;\n      piVar2 = (int *)((int)&fragP->fr_fix + 4);\n      *piVar2 = *piVar2 + (uint)(0xfffffffb < (uint)oVar7);\n      fix_new(fragP,where + 2,2,fragP->fr_symbol,fragP->fr_offset,1,r_type);\n      goto LAB_0005167a;\n    }" { (expression_statement "*pbVar5 = *pbVar5 ^ 1;" (assignment_expression "*pbVar5 = *pbVar5 ^ 1" (pointer_expression "*pbVar5" * identifier) = (binary_expression "*pbVar5 ^ 1" (pointer_expression "*pbVar5" * identifier) ^ number_literal)) ;) (expression_statement "pbVar5[1] = 3;" (assignment_expression "pbVar5[1] = 3" (subscript_expression "pbVar5[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "pbVar5[2] = 0xe9;" (assignment_expression "pbVar5[2] = 0xe9" (subscript_expression "pbVar5[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "poVar1 = &fragP->fr_fix;" (assignment_expression "poVar1 = &fragP->fr_fix" identifier = (pointer_expression "&fragP->fr_fix" & (field_expression "fragP->fr_fix" identifier -> field_identifier))) ;) (expression_statement "oVar7 = *poVar1;" (assignment_expression "oVar7 = *poVar1" identifier = (pointer_expression "*poVar1" * identifier)) ;) (expression_statement "*(int *)poVar1 = (int)*poVar1 + 4;" (assignment_expression "*(int *)poVar1 = (int)*poVar1 + 4" (pointer_expression "*(int *)poVar1" * (cast_expression "(int *)poVar1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = (binary_expression "(int)*poVar1 + 4" (cast_expression "(int)*poVar1" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*poVar1" * identifier)) + number_literal)) ;) (expression_statement "piVar2 = (int *)((int)&fragP->fr_fix + 4);" (assignment_expression "piVar2 = (int *)((int)&fragP->fr_fix + 4)" identifier = (cast_expression "(int *)((int)&fragP->fr_fix + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&fragP->fr_fix + 4)" ( (binary_expression "(int)&fragP->fr_fix + 4" (cast_expression "(int)&fragP->fr_fix" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&fragP->fr_fix" & (field_expression "fragP->fr_fix" identifier -> field_identifier))) + number_literal) )))) ;) (expression_statement "*piVar2 = *piVar2 + (uint)(0xfffffffb < (uint)oVar7);" (assignment_expression "*piVar2 = *piVar2 + (uint)(0xfffffffb < (uint)oVar7)" (pointer_expression "*piVar2" * identifier) = (binary_expression "*piVar2 + (uint)(0xfffffffb < (uint)oVar7)" (pointer_expression "*piVar2" * identifier) + (call_expression "(uint)(0xfffffffb < (uint)oVar7)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0xfffffffb < (uint)oVar7)" ( (binary_expression "0xfffffffb < (uint)oVar7" number_literal < (cast_expression "(uint)oVar7" ( (type_descriptor "uint" type_identifier) ) identifier)) ))))) ;) (expression_statement "fix_new(fragP,where + 2,2,fragP->fr_symbol,fragP->fr_offset,1,r_type);" (call_expression "fix_new(fragP,where + 2,2,fragP->fr_symbol,fragP->fr_offset,1,r_type)" identifier (argument_list "(fragP,where + 2,2,fragP->fr_symbol,fragP->fr_offset,1,r_type)" ( identifier , (binary_expression "where + 2" identifier + number_literal) , number_literal , (field_expression "fragP->fr_symbol" identifier -> field_identifier) , (field_expression "fragP->fr_offset" identifier -> field_identifier) , number_literal , identifier ))) ;) (goto_statement "goto LAB_0005167a;" goto statement_identifier ;) })) }))) (expression_statement "*(uint *)&fragP->fr_fix = where + 1;" (assignment_expression "*(uint *)&fragP->fr_fix = where + 1" (pointer_expression "*(uint *)&fragP->fr_fix" * (cast_expression "(uint *)&fragP->fr_fix" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&fragP->fr_fix" & (field_expression "fragP->fr_fix" identifier -> field_identifier)))) = (binary_expression "where + 1" identifier + number_literal)) ;) (expression_statement "*(uint *)((int)&fragP->fr_fix + 4) = iVar4 + (uint)(0xfffffffe < where);" (assignment_expression "*(uint *)((int)&fragP->fr_fix + 4) = iVar4 + (uint)(0xfffffffe < where)" (pointer_expression "*(uint *)((int)&fragP->fr_fix + 4)" * (cast_expression "(uint *)((int)&fragP->fr_fix + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&fragP->fr_fix + 4)" ( (binary_expression "(int)&fragP->fr_fix + 4" (cast_expression "(int)&fragP->fr_fix" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&fragP->fr_fix" & (field_expression "fragP->fr_fix" identifier -> field_identifier))) + number_literal) )))) = (binary_expression "iVar4 + (uint)(0xfffffffe < where)" identifier + (call_expression "(uint)(0xfffffffe < where)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0xfffffffe < where)" ( (binary_expression "0xfffffffe < where" number_literal < identifier) ))))) ;) (expression_statement "pfVar14 = fix_new(fragP,where,1,fragP->fr_symbol,fragP->fr_offset,1,BFD_RELOC_8_PCREL);" (assignment_expression "pfVar14 = fix_new(fragP,where,1,fragP->fr_symbol,fragP->fr_offset,1,BFD_RELOC_8_PCREL)" identifier = (call_expression "fix_new(fragP,where,1,fragP->fr_symbol,fragP->fr_offset,1,BFD_RELOC_8_PCREL)" identifier (argument_list "(fragP,where,1,fragP->fr_symbol,fragP->fr_offset,1,BFD_RELOC_8_PCREL)" ( identifier , identifier , number_literal , (field_expression "fragP->fr_symbol" identifier -> field_identifier) , (field_expression "fragP->fr_offset" identifier -> field_identifier) , number_literal , identifier )))) ;) (expression_statement "*(byte *)pfVar14 = *(byte *)pfVar14 | 0x80;" (assignment_expression "*(byte *)pfVar14 = *(byte *)pfVar14 | 0x80" (pointer_expression "*(byte *)pfVar14" * (cast_expression "(byte *)pfVar14" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (binary_expression "*(byte *)pfVar14 | 0x80" (pointer_expression "*(byte *)pfVar14" * (cast_expression "(byte *)pfVar14" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) | number_literal)) ;) (labeled_statement "LAB_0005167a:\n  frag_wane(fragP);" statement_identifier : (expression_statement "frag_wane(fragP);" (call_expression "frag_wane(fragP)" identifier (argument_list "(fragP)" ( identifier ))) ;)) (return_statement "return (int)fragP->fr_fix - where;" return (binary_expression "(int)fragP->fr_fix - where" (cast_expression "(int)fragP->fr_fix" ( (type_descriptor "int" primitive_type) ) (field_expression "fragP->fr_fix" identifier -> field_identifier)) - identifier) ;) })))
(translation_unit "uint FUN_000515e0(int param_1,int param_2)\n\n{\n  uint *puVar1;\n  byte bVar2;\n  uint uVar3;\n  int iVar4;\n  uint uVar5;\n  int iVar6;\n  uint uVar7;\n  byte *pbVar8;\n  undefined4 uVar9;\n  uint uVar10;\n  uint uVar11;\n  \n  iVar4 = FUN_00038ac0(*(undefined4 *)(param_1 + 0x28));\n  if (iVar4 == param_2) {\n    iVar4 = *(int *)(param_1 + 0x1c);\n    uVar9 = *(undefined4 *)(param_1 + 0x28);\n    uVar10 = *(uint *)(param_1 + 0x18);\n    iVar6 = FUN_0003bdf0(uVar9);\n    if ((*(byte *)(iVar6 + 0x12) & 0x40) == 0) {\n      iVar6 = FUN_00038510(uVar9);\n      if (iVar6 == 0) {\n        iVar6 = FUN_00038580(uVar9);\n      }\n      else {\n        uVar7 = FUN_00054410(uVar9);\n        if ((uVar7 & 3) != 0) goto LAB_000517c4;\n        iVar6 = DAT_00088ef8;\n        if (iVar4 != 0 || (uVar10 ^ 0x47) != 0) {\n          if ((uVar10 != 0x165) && (uVar10 != 0x17e)) {\n                    \n            FUN_0002be80("../../gas/config/tc-i386.c",0x25ed,"elf_symbol_resolved_in_segment_p",\n                         uVar10 ^ 0x47);\n          }\n          goto LAB_0005160b;\n        }\n      }\n      if (iVar6 == 0) {\nLAB_000517c4:\n        return (uint)(byte)(&DAT_00065570)[*(int *)(param_1 + 0x48) * 0x18];\n      }\n    }\n  }\nLAB_0005160b:\n  uVar10 = *(uint *)(param_1 + 0x18);\n  uVar7 = *(uint *)(param_1 + 0x48);\n  if ((uVar7 & 1) == 0) {\n    uVar11 = 4;\n    if (*(int *)(param_1 + 0x1c) == 0 && (uVar10 ^ 0x47) == 0) {\n      iVar4 = FUN_00047710();\n      uVar7 = *(uint *)(param_1 + 0x48);\n      uVar10 = 0x17e;\n      if (iVar4 == 0) {\n        uVar10 = 9;\n      }\n    }\n  }\n  else {\n    uVar11 = 2;\n    if (*(int *)(param_1 + 0x1c) == 0 && (uVar10 ^ 0x47) == 0) {\n      uVar10 = 0xb;\n    }\n  }\n  uVar3 = *(uint *)(param_1 + 0x10);\n  uVar5 = uVar7 >> 2;\n  pbVar8 = *(byte **)(param_1 + 0x2c);\n  if (uVar5 == 1) {\nLAB_000516c8:\n    if ((DAT_00088ea0 == 0) || (*(int *)(param_1 + 0x18) != 0x47 || *(int *)(param_1 + 0x1c) != 0))\n    {\n      bVar2 = *pbVar8;\n      *pbVar8 = 0xf;\n      pbVar8[1] = bVar2 + 0x10;\n      puVar1 = (uint *)(param_1 + 0x10);\n      uVar7 = *puVar1;\n      *puVar1 = *puVar1 + uVar11 + 1;\n      *(int *)(param_1 + 0x14) = *(int *)(param_1 + 0x14) + (uint)CARRY4(uVar7,uVar11 + 1);\n      FUN_0003ebc0(param_1,uVar3 + 1,uVar11,*(undefined4 *)(param_1 + 0x28),\n                   *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),1,uVar10);\n      goto LAB_0005167a;\n    }\n  }\n  else {\n    if (uVar5 == 0) {\n      *pbVar8 = 0xe9;\n      puVar1 = (uint *)(param_1 + 0x10);\n      uVar7 = *puVar1;\n      *puVar1 = *puVar1 + uVar11;\n      *(int *)(param_1 + 0x14) = *(int *)(param_1 + 0x14) + (uint)CARRY4(uVar7,uVar11);\n      FUN_0003ebc0(param_1,uVar3,uVar11,*(undefined4 *)(param_1 + 0x28),\n                   *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),1,uVar10);\n      goto LAB_0005167a;\n    }\n    if (uVar5 != 2) {\n      uVar9 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5,uVar5);\n                    \n      FUN_0002be00(uVar9,uVar7,0x2667,"../../gas/config/tc-i386.c");\n    }\n    if (uVar11 != 2) goto LAB_000516c8;\n    if ((DAT_00088ea0 == 0) || (*(int *)(param_1 + 0x18) != 0x47 || *(int *)(param_1 + 0x1c) != 0))\n    {\n      *pbVar8 = *pbVar8 ^ 1;\n      pbVar8[1] = 3;\n      pbVar8[2] = 0xe9;\n      puVar1 = (uint *)(param_1 + 0x10);\n      uVar7 = *puVar1;\n      *puVar1 = *puVar1 + 4;\n      *(int *)(param_1 + 0x14) = *(int *)(param_1 + 0x14) + (uint)(0xfffffffb < uVar7);\n      FUN_0003ebc0(param_1,uVar3 + 2,2,*(undefined4 *)(param_1 + 0x28),\n                   *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),1,uVar10);\n      goto LAB_0005167a;\n    }\n  }\n  *(uint *)(param_1 + 0x10) = uVar3 + 1;\n  *(uint *)(param_1 + 0x14) = *(int *)(param_1 + 0x14) + (uint)(0xfffffffe < uVar3);\n  pbVar8 = (byte *)FUN_0003ebc0(param_1,uVar3,1,*(undefined4 *)(param_1 + 0x28),\n                                *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),1,\n                                0xd);\n  *pbVar8 = *pbVar8 | 0x80;\nLAB_0005167a:\n  FUN_00024c10(param_1);\n  return *(int *)(param_1 + 0x10) - uVar3;\n}\n\n" (function_definition "uint FUN_000515e0(int param_1,int param_2)\n\n{\n  uint *puVar1;\n  byte bVar2;\n  uint uVar3;\n  int iVar4;\n  uint uVar5;\n  int iVar6;\n  uint uVar7;\n  byte *pbVar8;\n  undefined4 uVar9;\n  uint uVar10;\n  uint uVar11;\n  \n  iVar4 = FUN_00038ac0(*(undefined4 *)(param_1 + 0x28));\n  if (iVar4 == param_2) {\n    iVar4 = *(int *)(param_1 + 0x1c);\n    uVar9 = *(undefined4 *)(param_1 + 0x28);\n    uVar10 = *(uint *)(param_1 + 0x18);\n    iVar6 = FUN_0003bdf0(uVar9);\n    if ((*(byte *)(iVar6 + 0x12) & 0x40) == 0) {\n      iVar6 = FUN_00038510(uVar9);\n      if (iVar6 == 0) {\n        iVar6 = FUN_00038580(uVar9);\n      }\n      else {\n        uVar7 = FUN_00054410(uVar9);\n        if ((uVar7 & 3) != 0) goto LAB_000517c4;\n        iVar6 = DAT_00088ef8;\n        if (iVar4 != 0 || (uVar10 ^ 0x47) != 0) {\n          if ((uVar10 != 0x165) && (uVar10 != 0x17e)) {\n                    \n            FUN_0002be80("../../gas/config/tc-i386.c",0x25ed,"elf_symbol_resolved_in_segment_p",\n                         uVar10 ^ 0x47);\n          }\n          goto LAB_0005160b;\n        }\n      }\n      if (iVar6 == 0) {\nLAB_000517c4:\n        return (uint)(byte)(&DAT_00065570)[*(int *)(param_1 + 0x48) * 0x18];\n      }\n    }\n  }\nLAB_0005160b:\n  uVar10 = *(uint *)(param_1 + 0x18);\n  uVar7 = *(uint *)(param_1 + 0x48);\n  if ((uVar7 & 1) == 0) {\n    uVar11 = 4;\n    if (*(int *)(param_1 + 0x1c) == 0 && (uVar10 ^ 0x47) == 0) {\n      iVar4 = FUN_00047710();\n      uVar7 = *(uint *)(param_1 + 0x48);\n      uVar10 = 0x17e;\n      if (iVar4 == 0) {\n        uVar10 = 9;\n      }\n    }\n  }\n  else {\n    uVar11 = 2;\n    if (*(int *)(param_1 + 0x1c) == 0 && (uVar10 ^ 0x47) == 0) {\n      uVar10 = 0xb;\n    }\n  }\n  uVar3 = *(uint *)(param_1 + 0x10);\n  uVar5 = uVar7 >> 2;\n  pbVar8 = *(byte **)(param_1 + 0x2c);\n  if (uVar5 == 1) {\nLAB_000516c8:\n    if ((DAT_00088ea0 == 0) || (*(int *)(param_1 + 0x18) != 0x47 || *(int *)(param_1 + 0x1c) != 0))\n    {\n      bVar2 = *pbVar8;\n      *pbVar8 = 0xf;\n      pbVar8[1] = bVar2 + 0x10;\n      puVar1 = (uint *)(param_1 + 0x10);\n      uVar7 = *puVar1;\n      *puVar1 = *puVar1 + uVar11 + 1;\n      *(int *)(param_1 + 0x14) = *(int *)(param_1 + 0x14) + (uint)CARRY4(uVar7,uVar11 + 1);\n      FUN_0003ebc0(param_1,uVar3 + 1,uVar11,*(undefined4 *)(param_1 + 0x28),\n                   *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),1,uVar10);\n      goto LAB_0005167a;\n    }\n  }\n  else {\n    if (uVar5 == 0) {\n      *pbVar8 = 0xe9;\n      puVar1 = (uint *)(param_1 + 0x10);\n      uVar7 = *puVar1;\n      *puVar1 = *puVar1 + uVar11;\n      *(int *)(param_1 + 0x14) = *(int *)(param_1 + 0x14) + (uint)CARRY4(uVar7,uVar11);\n      FUN_0003ebc0(param_1,uVar3,uVar11,*(undefined4 *)(param_1 + 0x28),\n                   *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),1,uVar10);\n      goto LAB_0005167a;\n    }\n    if (uVar5 != 2) {\n      uVar9 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5,uVar5);\n                    \n      FUN_0002be00(uVar9,uVar7,0x2667,"../../gas/config/tc-i386.c");\n    }\n    if (uVar11 != 2) goto LAB_000516c8;\n    if ((DAT_00088ea0 == 0) || (*(int *)(param_1 + 0x18) != 0x47 || *(int *)(param_1 + 0x1c) != 0))\n    {\n      *pbVar8 = *pbVar8 ^ 1;\n      pbVar8[1] = 3;\n      pbVar8[2] = 0xe9;\n      puVar1 = (uint *)(param_1 + 0x10);\n      uVar7 = *puVar1;\n      *puVar1 = *puVar1 + 4;\n      *(int *)(param_1 + 0x14) = *(int *)(param_1 + 0x14) + (uint)(0xfffffffb < uVar7);\n      FUN_0003ebc0(param_1,uVar3 + 2,2,*(undefined4 *)(param_1 + 0x28),\n                   *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),1,uVar10);\n      goto LAB_0005167a;\n    }\n  }\n  *(uint *)(param_1 + 0x10) = uVar3 + 1;\n  *(uint *)(param_1 + 0x14) = *(int *)(param_1 + 0x14) + (uint)(0xfffffffe < uVar3);\n  pbVar8 = (byte *)FUN_0003ebc0(param_1,uVar3,1,*(undefined4 *)(param_1 + 0x28),\n                                *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),1,\n                                0xd);\n  *pbVar8 = *pbVar8 | 0x80;\nLAB_0005167a:\n  FUN_00024c10(param_1);\n  return *(int *)(param_1 + 0x10) - uVar3;\n}" type_identifier (function_declarator "FUN_000515e0(int param_1,int param_2)" identifier (parameter_list "(int param_1,int param_2)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "int param_2" primitive_type identifier) ))) (compound_statement "{\n  uint *puVar1;\n  byte bVar2;\n  uint uVar3;\n  int iVar4;\n  uint uVar5;\n  int iVar6;\n  uint uVar7;\n  byte *pbVar8;\n  undefined4 uVar9;\n  uint uVar10;\n  uint uVar11;\n  \n  iVar4 = FUN_00038ac0(*(undefined4 *)(param_1 + 0x28));\n  if (iVar4 == param_2) {\n    iVar4 = *(int *)(param_1 + 0x1c);\n    uVar9 = *(undefined4 *)(param_1 + 0x28);\n    uVar10 = *(uint *)(param_1 + 0x18);\n    iVar6 = FUN_0003bdf0(uVar9);\n    if ((*(byte *)(iVar6 + 0x12) & 0x40) == 0) {\n      iVar6 = FUN_00038510(uVar9);\n      if (iVar6 == 0) {\n        iVar6 = FUN_00038580(uVar9);\n      }\n      else {\n        uVar7 = FUN_00054410(uVar9);\n        if ((uVar7 & 3) != 0) goto LAB_000517c4;\n        iVar6 = DAT_00088ef8;\n        if (iVar4 != 0 || (uVar10 ^ 0x47) != 0) {\n          if ((uVar10 != 0x165) && (uVar10 != 0x17e)) {\n                    \n            FUN_0002be80("../../gas/config/tc-i386.c",0x25ed,"elf_symbol_resolved_in_segment_p",\n                         uVar10 ^ 0x47);\n          }\n          goto LAB_0005160b;\n        }\n      }\n      if (iVar6 == 0) {\nLAB_000517c4:\n        return (uint)(byte)(&DAT_00065570)[*(int *)(param_1 + 0x48) * 0x18];\n      }\n    }\n  }\nLAB_0005160b:\n  uVar10 = *(uint *)(param_1 + 0x18);\n  uVar7 = *(uint *)(param_1 + 0x48);\n  if ((uVar7 & 1) == 0) {\n    uVar11 = 4;\n    if (*(int *)(param_1 + 0x1c) == 0 && (uVar10 ^ 0x47) == 0) {\n      iVar4 = FUN_00047710();\n      uVar7 = *(uint *)(param_1 + 0x48);\n      uVar10 = 0x17e;\n      if (iVar4 == 0) {\n        uVar10 = 9;\n      }\n    }\n  }\n  else {\n    uVar11 = 2;\n    if (*(int *)(param_1 + 0x1c) == 0 && (uVar10 ^ 0x47) == 0) {\n      uVar10 = 0xb;\n    }\n  }\n  uVar3 = *(uint *)(param_1 + 0x10);\n  uVar5 = uVar7 >> 2;\n  pbVar8 = *(byte **)(param_1 + 0x2c);\n  if (uVar5 == 1) {\nLAB_000516c8:\n    if ((DAT_00088ea0 == 0) || (*(int *)(param_1 + 0x18) != 0x47 || *(int *)(param_1 + 0x1c) != 0))\n    {\n      bVar2 = *pbVar8;\n      *pbVar8 = 0xf;\n      pbVar8[1] = bVar2 + 0x10;\n      puVar1 = (uint *)(param_1 + 0x10);\n      uVar7 = *puVar1;\n      *puVar1 = *puVar1 + uVar11 + 1;\n      *(int *)(param_1 + 0x14) = *(int *)(param_1 + 0x14) + (uint)CARRY4(uVar7,uVar11 + 1);\n      FUN_0003ebc0(param_1,uVar3 + 1,uVar11,*(undefined4 *)(param_1 + 0x28),\n                   *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),1,uVar10);\n      goto LAB_0005167a;\n    }\n  }\n  else {\n    if (uVar5 == 0) {\n      *pbVar8 = 0xe9;\n      puVar1 = (uint *)(param_1 + 0x10);\n      uVar7 = *puVar1;\n      *puVar1 = *puVar1 + uVar11;\n      *(int *)(param_1 + 0x14) = *(int *)(param_1 + 0x14) + (uint)CARRY4(uVar7,uVar11);\n      FUN_0003ebc0(param_1,uVar3,uVar11,*(undefined4 *)(param_1 + 0x28),\n                   *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),1,uVar10);\n      goto LAB_0005167a;\n    }\n    if (uVar5 != 2) {\n      uVar9 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5,uVar5);\n                    \n      FUN_0002be00(uVar9,uVar7,0x2667,"../../gas/config/tc-i386.c");\n    }\n    if (uVar11 != 2) goto LAB_000516c8;\n    if ((DAT_00088ea0 == 0) || (*(int *)(param_1 + 0x18) != 0x47 || *(int *)(param_1 + 0x1c) != 0))\n    {\n      *pbVar8 = *pbVar8 ^ 1;\n      pbVar8[1] = 3;\n      pbVar8[2] = 0xe9;\n      puVar1 = (uint *)(param_1 + 0x10);\n      uVar7 = *puVar1;\n      *puVar1 = *puVar1 + 4;\n      *(int *)(param_1 + 0x14) = *(int *)(param_1 + 0x14) + (uint)(0xfffffffb < uVar7);\n      FUN_0003ebc0(param_1,uVar3 + 2,2,*(undefined4 *)(param_1 + 0x28),\n                   *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),1,uVar10);\n      goto LAB_0005167a;\n    }\n  }\n  *(uint *)(param_1 + 0x10) = uVar3 + 1;\n  *(uint *)(param_1 + 0x14) = *(int *)(param_1 + 0x14) + (uint)(0xfffffffe < uVar3);\n  pbVar8 = (byte *)FUN_0003ebc0(param_1,uVar3,1,*(undefined4 *)(param_1 + 0x28),\n                                *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),1,\n                                0xd);\n  *pbVar8 = *pbVar8 | 0x80;\nLAB_0005167a:\n  FUN_00024c10(param_1);\n  return *(int *)(param_1 + 0x10) - uVar3;\n}" { (declaration "uint *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "byte bVar2;" type_identifier identifier ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "byte *pbVar8;" type_identifier (pointer_declarator "*pbVar8" * identifier) ;) (declaration "undefined4 uVar9;" type_identifier identifier ;) (declaration "uint uVar10;" type_identifier identifier ;) (declaration "uint uVar11;" type_identifier identifier ;) (expression_statement "iVar4 = FUN_00038ac0(*(undefined4 *)(param_1 + 0x28));" (assignment_expression "iVar4 = FUN_00038ac0(*(undefined4 *)(param_1 + 0x28))" identifier = (call_expression "FUN_00038ac0(*(undefined4 *)(param_1 + 0x28))" identifier (argument_list "(*(undefined4 *)(param_1 + 0x28))" ( (pointer_expression "*(undefined4 *)(param_1 + 0x28)" * (cast_expression "(undefined4 *)(param_1 + 0x28)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x28)" ( (binary_expression "param_1 + 0x28" identifier + number_literal) )))) )))) ;) (if_statement "if (iVar4 == param_2) {\n    iVar4 = *(int *)(param_1 + 0x1c);\n    uVar9 = *(undefined4 *)(param_1 + 0x28);\n    uVar10 = *(uint *)(param_1 + 0x18);\n    iVar6 = FUN_0003bdf0(uVar9);\n    if ((*(byte *)(iVar6 + 0x12) & 0x40) == 0) {\n      iVar6 = FUN_00038510(uVar9);\n      if (iVar6 == 0) {\n        iVar6 = FUN_00038580(uVar9);\n      }\n      else {\n        uVar7 = FUN_00054410(uVar9);\n        if ((uVar7 & 3) != 0) goto LAB_000517c4;\n        iVar6 = DAT_00088ef8;\n        if (iVar4 != 0 || (uVar10 ^ 0x47) != 0) {\n          if ((uVar10 != 0x165) && (uVar10 != 0x17e)) {\n                    \n            FUN_0002be80("../../gas/config/tc-i386.c",0x25ed,"elf_symbol_resolved_in_segment_p",\n                         uVar10 ^ 0x47);\n          }\n          goto LAB_0005160b;\n        }\n      }\n      if (iVar6 == 0) {\nLAB_000517c4:\n        return (uint)(byte)(&DAT_00065570)[*(int *)(param_1 + 0x48) * 0x18];\n      }\n    }\n  }" if (parenthesized_expression "(iVar4 == param_2)" ( (binary_expression "iVar4 == param_2" identifier == identifier) )) (compound_statement "{\n    iVar4 = *(int *)(param_1 + 0x1c);\n    uVar9 = *(undefined4 *)(param_1 + 0x28);\n    uVar10 = *(uint *)(param_1 + 0x18);\n    iVar6 = FUN_0003bdf0(uVar9);\n    if ((*(byte *)(iVar6 + 0x12) & 0x40) == 0) {\n      iVar6 = FUN_00038510(uVar9);\n      if (iVar6 == 0) {\n        iVar6 = FUN_00038580(uVar9);\n      }\n      else {\n        uVar7 = FUN_00054410(uVar9);\n        if ((uVar7 & 3) != 0) goto LAB_000517c4;\n        iVar6 = DAT_00088ef8;\n        if (iVar4 != 0 || (uVar10 ^ 0x47) != 0) {\n          if ((uVar10 != 0x165) && (uVar10 != 0x17e)) {\n                    \n            FUN_0002be80("../../gas/config/tc-i386.c",0x25ed,"elf_symbol_resolved_in_segment_p",\n                         uVar10 ^ 0x47);\n          }\n          goto LAB_0005160b;\n        }\n      }\n      if (iVar6 == 0) {\nLAB_000517c4:\n        return (uint)(byte)(&DAT_00065570)[*(int *)(param_1 + 0x48) * 0x18];\n      }\n    }\n  }" { (expression_statement "iVar4 = *(int *)(param_1 + 0x1c);" (assignment_expression "iVar4 = *(int *)(param_1 + 0x1c)" identifier = (pointer_expression "*(int *)(param_1 + 0x1c)" * (cast_expression "(int *)(param_1 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1c)" ( (binary_expression "param_1 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "uVar9 = *(undefined4 *)(param_1 + 0x28);" (assignment_expression "uVar9 = *(undefined4 *)(param_1 + 0x28)" identifier = (pointer_expression "*(undefined4 *)(param_1 + 0x28)" * (cast_expression "(undefined4 *)(param_1 + 0x28)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x28)" ( (binary_expression "param_1 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "uVar10 = *(uint *)(param_1 + 0x18);" (assignment_expression "uVar10 = *(uint *)(param_1 + 0x18)" identifier = (pointer_expression "*(uint *)(param_1 + 0x18)" * (cast_expression "(uint *)(param_1 + 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x18)" ( (binary_expression "param_1 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "iVar6 = FUN_0003bdf0(uVar9);" (assignment_expression "iVar6 = FUN_0003bdf0(uVar9)" identifier = (call_expression "FUN_0003bdf0(uVar9)" identifier (argument_list "(uVar9)" ( identifier )))) ;) (if_statement "if ((*(byte *)(iVar6 + 0x12) & 0x40) == 0) {\n      iVar6 = FUN_00038510(uVar9);\n      if (iVar6 == 0) {\n        iVar6 = FUN_00038580(uVar9);\n      }\n      else {\n        uVar7 = FUN_00054410(uVar9);\n        if ((uVar7 & 3) != 0) goto LAB_000517c4;\n        iVar6 = DAT_00088ef8;\n        if (iVar4 != 0 || (uVar10 ^ 0x47) != 0) {\n          if ((uVar10 != 0x165) && (uVar10 != 0x17e)) {\n                    \n            FUN_0002be80("../../gas/config/tc-i386.c",0x25ed,"elf_symbol_resolved_in_segment_p",\n                         uVar10 ^ 0x47);\n          }\n          goto LAB_0005160b;\n        }\n      }\n      if (iVar6 == 0) {\nLAB_000517c4:\n        return (uint)(byte)(&DAT_00065570)[*(int *)(param_1 + 0x48) * 0x18];\n      }\n    }" if (parenthesized_expression "((*(byte *)(iVar6 + 0x12) & 0x40) == 0)" ( (binary_expression "(*(byte *)(iVar6 + 0x12) & 0x40) == 0" (parenthesized_expression "(*(byte *)(iVar6 + 0x12) & 0x40)" ( (binary_expression "*(byte *)(iVar6 + 0x12) & 0x40" (pointer_expression "*(byte *)(iVar6 + 0x12)" * (cast_expression "(byte *)(iVar6 + 0x12)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x12)" ( (binary_expression "iVar6 + 0x12" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n      iVar6 = FUN_00038510(uVar9);\n      if (iVar6 == 0) {\n        iVar6 = FUN_00038580(uVar9);\n      }\n      else {\n        uVar7 = FUN_00054410(uVar9);\n        if ((uVar7 & 3) != 0) goto LAB_000517c4;\n        iVar6 = DAT_00088ef8;\n        if (iVar4 != 0 || (uVar10 ^ 0x47) != 0) {\n          if ((uVar10 != 0x165) && (uVar10 != 0x17e)) {\n                    \n            FUN_0002be80("../../gas/config/tc-i386.c",0x25ed,"elf_symbol_resolved_in_segment_p",\n                         uVar10 ^ 0x47);\n          }\n          goto LAB_0005160b;\n        }\n      }\n      if (iVar6 == 0) {\nLAB_000517c4:\n        return (uint)(byte)(&DAT_00065570)[*(int *)(param_1 + 0x48) * 0x18];\n      }\n    }" { (expression_statement "iVar6 = FUN_00038510(uVar9);" (assignment_expression "iVar6 = FUN_00038510(uVar9)" identifier = (call_expression "FUN_00038510(uVar9)" identifier (argument_list "(uVar9)" ( identifier )))) ;) (if_statement "if (iVar6 == 0) {\n        iVar6 = FUN_00038580(uVar9);\n      }\n      else {\n        uVar7 = FUN_00054410(uVar9);\n        if ((uVar7 & 3) != 0) goto LAB_000517c4;\n        iVar6 = DAT_00088ef8;\n        if (iVar4 != 0 || (uVar10 ^ 0x47) != 0) {\n          if ((uVar10 != 0x165) && (uVar10 != 0x17e)) {\n                    \n            FUN_0002be80("../../gas/config/tc-i386.c",0x25ed,"elf_symbol_resolved_in_segment_p",\n                         uVar10 ^ 0x47);\n          }\n          goto LAB_0005160b;\n        }\n      }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\n        iVar6 = FUN_00038580(uVar9);\n      }" { (expression_statement "iVar6 = FUN_00038580(uVar9);" (assignment_expression "iVar6 = FUN_00038580(uVar9)" identifier = (call_expression "FUN_00038580(uVar9)" identifier (argument_list "(uVar9)" ( identifier )))) ;) }) (else_clause "else {\n        uVar7 = FUN_00054410(uVar9);\n        if ((uVar7 & 3) != 0) goto LAB_000517c4;\n        iVar6 = DAT_00088ef8;\n        if (iVar4 != 0 || (uVar10 ^ 0x47) != 0) {\n          if ((uVar10 != 0x165) && (uVar10 != 0x17e)) {\n                    \n            FUN_0002be80("../../gas/config/tc-i386.c",0x25ed,"elf_symbol_resolved_in_segment_p",\n                         uVar10 ^ 0x47);\n          }\n          goto LAB_0005160b;\n        }\n      }" else (compound_statement "{\n        uVar7 = FUN_00054410(uVar9);\n        if ((uVar7 & 3) != 0) goto LAB_000517c4;\n        iVar6 = DAT_00088ef8;\n        if (iVar4 != 0 || (uVar10 ^ 0x47) != 0) {\n          if ((uVar10 != 0x165) && (uVar10 != 0x17e)) {\n                    \n            FUN_0002be80("../../gas/config/tc-i386.c",0x25ed,"elf_symbol_resolved_in_segment_p",\n                         uVar10 ^ 0x47);\n          }\n          goto LAB_0005160b;\n        }\n      }" { (expression_statement "uVar7 = FUN_00054410(uVar9);" (assignment_expression "uVar7 = FUN_00054410(uVar9)" identifier = (call_expression "FUN_00054410(uVar9)" identifier (argument_list "(uVar9)" ( identifier )))) ;) (if_statement "if ((uVar7 & 3) != 0) goto LAB_000517c4;" if (parenthesized_expression "((uVar7 & 3) != 0)" ( (binary_expression "(uVar7 & 3) != 0" (parenthesized_expression "(uVar7 & 3)" ( (binary_expression "uVar7 & 3" identifier & number_literal) )) != number_literal) )) (goto_statement "goto LAB_000517c4;" goto statement_identifier ;)) (expression_statement "iVar6 = DAT_00088ef8;" (assignment_expression "iVar6 = DAT_00088ef8" identifier = identifier) ;) (if_statement "if (iVar4 != 0 || (uVar10 ^ 0x47) != 0) {\n          if ((uVar10 != 0x165) && (uVar10 != 0x17e)) {\n                    \n            FUN_0002be80("../../gas/config/tc-i386.c",0x25ed,"elf_symbol_resolved_in_segment_p",\n                         uVar10 ^ 0x47);\n          }\n          goto LAB_0005160b;\n        }" if (parenthesized_expression "(iVar4 != 0 || (uVar10 ^ 0x47) != 0)" ( (binary_expression "iVar4 != 0 || (uVar10 ^ 0x47) != 0" (binary_expression "iVar4 != 0" identifier != number_literal) || (binary_expression "(uVar10 ^ 0x47) != 0" (parenthesized_expression "(uVar10 ^ 0x47)" ( (binary_expression "uVar10 ^ 0x47" identifier ^ number_literal) )) != number_literal)) )) (compound_statement "{\n          if ((uVar10 != 0x165) && (uVar10 != 0x17e)) {\n                    \n            FUN_0002be80("../../gas/config/tc-i386.c",0x25ed,"elf_symbol_resolved_in_segment_p",\n                         uVar10 ^ 0x47);\n          }\n          goto LAB_0005160b;\n        }" { (if_statement "if ((uVar10 != 0x165) && (uVar10 != 0x17e)) {\n                    \n            FUN_0002be80("../../gas/config/tc-i386.c",0x25ed,"elf_symbol_resolved_in_segment_p",\n                         uVar10 ^ 0x47);\n          }" if (parenthesized_expression "((uVar10 != 0x165) && (uVar10 != 0x17e))" ( (binary_expression "(uVar10 != 0x165) && (uVar10 != 0x17e)" (parenthesized_expression "(uVar10 != 0x165)" ( (binary_expression "uVar10 != 0x165" identifier != number_literal) )) && (parenthesized_expression "(uVar10 != 0x17e)" ( (binary_expression "uVar10 != 0x17e" identifier != number_literal) ))) )) (compound_statement "{\n                    \n            FUN_0002be80("../../gas/config/tc-i386.c",0x25ed,"elf_symbol_resolved_in_segment_p",\n                         uVar10 ^ 0x47);\n          }" { (expression_statement "FUN_0002be80("../../gas/config/tc-i386.c",0x25ed,"elf_symbol_resolved_in_segment_p",\n                         uVar10 ^ 0x47);" (call_expression "FUN_0002be80("../../gas/config/tc-i386.c",0x25ed,"elf_symbol_resolved_in_segment_p",\n                         uVar10 ^ 0x47)" identifier (argument_list "("../../gas/config/tc-i386.c",0x25ed,"elf_symbol_resolved_in_segment_p",\n                         uVar10 ^ 0x47)" ( (string_literal ""../../gas/config/tc-i386.c"" " string_content ") , number_literal , (string_literal ""elf_symbol_resolved_in_segment_p"" " string_content ") , (binary_expression "uVar10 ^ 0x47" identifier ^ number_literal) ))) ;) })) (goto_statement "goto LAB_0005160b;" goto statement_identifier ;) })) }))) (if_statement "if (iVar6 == 0) {\nLAB_000517c4:\n        return (uint)(byte)(&DAT_00065570)[*(int *)(param_1 + 0x48) * 0x18];\n      }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_000517c4:\n        return (uint)(byte)(&DAT_00065570)[*(int *)(param_1 + 0x48) * 0x18];\n      }" { (labeled_statement "LAB_000517c4:\n        return (uint)(byte)(&DAT_00065570)[*(int *)(param_1 + 0x48) * 0x18];" statement_identifier : (return_statement "return (uint)(byte)(&DAT_00065570)[*(int *)(param_1 + 0x48) * 0x18];" return (subscript_expression "(uint)(byte)(&DAT_00065570)[*(int *)(param_1 + 0x48) * 0x18]" (call_expression "(uint)(byte)(&DAT_00065570)" (call_expression "(uint)(byte)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(byte)" ( identifier ))) (argument_list "(&DAT_00065570)" ( (pointer_expression "&DAT_00065570" & identifier) ))) [ (binary_expression "*(int *)(param_1 + 0x48) * 0x18" (pointer_expression "*(int *)(param_1 + 0x48)" * (cast_expression "(int *)(param_1 + 0x48)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x48)" ( (binary_expression "param_1 + 0x48" identifier + number_literal) )))) * number_literal) ]) ;)) })) })) })) (labeled_statement "LAB_0005160b:\n  uVar10 = *(uint *)(param_1 + 0x18);" statement_identifier : (expression_statement "uVar10 = *(uint *)(param_1 + 0x18);" (assignment_expression "uVar10 = *(uint *)(param_1 + 0x18)" identifier = (pointer_expression "*(uint *)(param_1 + 0x18)" * (cast_expression "(uint *)(param_1 + 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x18)" ( (binary_expression "param_1 + 0x18" identifier + number_literal) ))))) ;)) (expression_statement "uVar7 = *(uint *)(param_1 + 0x48);" (assignment_expression "uVar7 = *(uint *)(param_1 + 0x48)" identifier = (pointer_expression "*(uint *)(param_1 + 0x48)" * (cast_expression "(uint *)(param_1 + 0x48)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x48)" ( (binary_expression "param_1 + 0x48" identifier + number_literal) ))))) ;) (if_statement "if ((uVar7 & 1) == 0) {\n    uVar11 = 4;\n    if (*(int *)(param_1 + 0x1c) == 0 && (uVar10 ^ 0x47) == 0) {\n      iVar4 = FUN_00047710();\n      uVar7 = *(uint *)(param_1 + 0x48);\n      uVar10 = 0x17e;\n      if (iVar4 == 0) {\n        uVar10 = 9;\n      }\n    }\n  }\n  else {\n    uVar11 = 2;\n    if (*(int *)(param_1 + 0x1c) == 0 && (uVar10 ^ 0x47) == 0) {\n      uVar10 = 0xb;\n    }\n  }" if (parenthesized_expression "((uVar7 & 1) == 0)" ( (binary_expression "(uVar7 & 1) == 0" (parenthesized_expression "(uVar7 & 1)" ( (binary_expression "uVar7 & 1" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n    uVar11 = 4;\n    if (*(int *)(param_1 + 0x1c) == 0 && (uVar10 ^ 0x47) == 0) {\n      iVar4 = FUN_00047710();\n      uVar7 = *(uint *)(param_1 + 0x48);\n      uVar10 = 0x17e;\n      if (iVar4 == 0) {\n        uVar10 = 9;\n      }\n    }\n  }" { (expression_statement "uVar11 = 4;" (assignment_expression "uVar11 = 4" identifier = number_literal) ;) (if_statement "if (*(int *)(param_1 + 0x1c) == 0 && (uVar10 ^ 0x47) == 0) {\n      iVar4 = FUN_00047710();\n      uVar7 = *(uint *)(param_1 + 0x48);\n      uVar10 = 0x17e;\n      if (iVar4 == 0) {\n        uVar10 = 9;\n      }\n    }" if (parenthesized_expression "(*(int *)(param_1 + 0x1c) == 0 && (uVar10 ^ 0x47) == 0)" ( (binary_expression "*(int *)(param_1 + 0x1c) == 0 && (uVar10 ^ 0x47) == 0" (binary_expression "*(int *)(param_1 + 0x1c) == 0" (pointer_expression "*(int *)(param_1 + 0x1c)" * (cast_expression "(int *)(param_1 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1c)" ( (binary_expression "param_1 + 0x1c" identifier + number_literal) )))) == number_literal) && (binary_expression "(uVar10 ^ 0x47) == 0" (parenthesized_expression "(uVar10 ^ 0x47)" ( (binary_expression "uVar10 ^ 0x47" identifier ^ number_literal) )) == number_literal)) )) (compound_statement "{\n      iVar4 = FUN_00047710();\n      uVar7 = *(uint *)(param_1 + 0x48);\n      uVar10 = 0x17e;\n      if (iVar4 == 0) {\n        uVar10 = 9;\n      }\n    }" { (expression_statement "iVar4 = FUN_00047710();" (assignment_expression "iVar4 = FUN_00047710()" identifier = (call_expression "FUN_00047710()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar7 = *(uint *)(param_1 + 0x48);" (assignment_expression "uVar7 = *(uint *)(param_1 + 0x48)" identifier = (pointer_expression "*(uint *)(param_1 + 0x48)" * (cast_expression "(uint *)(param_1 + 0x48)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x48)" ( (binary_expression "param_1 + 0x48" identifier + number_literal) ))))) ;) (expression_statement "uVar10 = 0x17e;" (assignment_expression "uVar10 = 0x17e" identifier = number_literal) ;) (if_statement "if (iVar4 == 0) {\n        uVar10 = 9;\n      }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n        uVar10 = 9;\n      }" { (expression_statement "uVar10 = 9;" (assignment_expression "uVar10 = 9" identifier = number_literal) ;) })) })) }) (else_clause "else {\n    uVar11 = 2;\n    if (*(int *)(param_1 + 0x1c) == 0 && (uVar10 ^ 0x47) == 0) {\n      uVar10 = 0xb;\n    }\n  }" else (compound_statement "{\n    uVar11 = 2;\n    if (*(int *)(param_1 + 0x1c) == 0 && (uVar10 ^ 0x47) == 0) {\n      uVar10 = 0xb;\n    }\n  }" { (expression_statement "uVar11 = 2;" (assignment_expression "uVar11 = 2" identifier = number_literal) ;) (if_statement "if (*(int *)(param_1 + 0x1c) == 0 && (uVar10 ^ 0x47) == 0) {\n      uVar10 = 0xb;\n    }" if (parenthesized_expression "(*(int *)(param_1 + 0x1c) == 0 && (uVar10 ^ 0x47) == 0)" ( (binary_expression "*(int *)(param_1 + 0x1c) == 0 && (uVar10 ^ 0x47) == 0" (binary_expression "*(int *)(param_1 + 0x1c) == 0" (pointer_expression "*(int *)(param_1 + 0x1c)" * (cast_expression "(int *)(param_1 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1c)" ( (binary_expression "param_1 + 0x1c" identifier + number_literal) )))) == number_literal) && (binary_expression "(uVar10 ^ 0x47) == 0" (parenthesized_expression "(uVar10 ^ 0x47)" ( (binary_expression "uVar10 ^ 0x47" identifier ^ number_literal) )) == number_literal)) )) (compound_statement "{\n      uVar10 = 0xb;\n    }" { (expression_statement "uVar10 = 0xb;" (assignment_expression "uVar10 = 0xb" identifier = number_literal) ;) })) }))) (expression_statement "uVar3 = *(uint *)(param_1 + 0x10);" (assignment_expression "uVar3 = *(uint *)(param_1 + 0x10)" identifier = (pointer_expression "*(uint *)(param_1 + 0x10)" * (cast_expression "(uint *)(param_1 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "uVar5 = uVar7 >> 2;" (assignment_expression "uVar5 = uVar7 >> 2" identifier = (binary_expression "uVar7 >> 2" identifier >> number_literal)) ;) (expression_statement "pbVar8 = *(byte **)(param_1 + 0x2c);" (assignment_expression "pbVar8 = *(byte **)(param_1 + 0x2c)" identifier = (pointer_expression "*(byte **)(param_1 + 0x2c)" * (cast_expression "(byte **)(param_1 + 0x2c)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x2c)" ( (binary_expression "param_1 + 0x2c" identifier + number_literal) ))))) ;) (if_statement "if (uVar5 == 1) {\nLAB_000516c8:\n    if ((DAT_00088ea0 == 0) || (*(int *)(param_1 + 0x18) != 0x47 || *(int *)(param_1 + 0x1c) != 0))\n    {\n      bVar2 = *pbVar8;\n      *pbVar8 = 0xf;\n      pbVar8[1] = bVar2 + 0x10;\n      puVar1 = (uint *)(param_1 + 0x10);\n      uVar7 = *puVar1;\n      *puVar1 = *puVar1 + uVar11 + 1;\n      *(int *)(param_1 + 0x14) = *(int *)(param_1 + 0x14) + (uint)CARRY4(uVar7,uVar11 + 1);\n      FUN_0003ebc0(param_1,uVar3 + 1,uVar11,*(undefined4 *)(param_1 + 0x28),\n                   *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),1,uVar10);\n      goto LAB_0005167a;\n    }\n  }\n  else {\n    if (uVar5 == 0) {\n      *pbVar8 = 0xe9;\n      puVar1 = (uint *)(param_1 + 0x10);\n      uVar7 = *puVar1;\n      *puVar1 = *puVar1 + uVar11;\n      *(int *)(param_1 + 0x14) = *(int *)(param_1 + 0x14) + (uint)CARRY4(uVar7,uVar11);\n      FUN_0003ebc0(param_1,uVar3,uVar11,*(undefined4 *)(param_1 + 0x28),\n                   *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),1,uVar10);\n      goto LAB_0005167a;\n    }\n    if (uVar5 != 2) {\n      uVar9 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5,uVar5);\n                    \n      FUN_0002be00(uVar9,uVar7,0x2667,"../../gas/config/tc-i386.c");\n    }\n    if (uVar11 != 2) goto LAB_000516c8;\n    if ((DAT_00088ea0 == 0) || (*(int *)(param_1 + 0x18) != 0x47 || *(int *)(param_1 + 0x1c) != 0))\n    {\n      *pbVar8 = *pbVar8 ^ 1;\n      pbVar8[1] = 3;\n      pbVar8[2] = 0xe9;\n      puVar1 = (uint *)(param_1 + 0x10);\n      uVar7 = *puVar1;\n      *puVar1 = *puVar1 + 4;\n      *(int *)(param_1 + 0x14) = *(int *)(param_1 + 0x14) + (uint)(0xfffffffb < uVar7);\n      FUN_0003ebc0(param_1,uVar3 + 2,2,*(undefined4 *)(param_1 + 0x28),\n                   *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),1,uVar10);\n      goto LAB_0005167a;\n    }\n  }" if (parenthesized_expression "(uVar5 == 1)" ( (binary_expression "uVar5 == 1" identifier == number_literal) )) (compound_statement "{\nLAB_000516c8:\n    if ((DAT_00088ea0 == 0) || (*(int *)(param_1 + 0x18) != 0x47 || *(int *)(param_1 + 0x1c) != 0))\n    {\n      bVar2 = *pbVar8;\n      *pbVar8 = 0xf;\n      pbVar8[1] = bVar2 + 0x10;\n      puVar1 = (uint *)(param_1 + 0x10);\n      uVar7 = *puVar1;\n      *puVar1 = *puVar1 + uVar11 + 1;\n      *(int *)(param_1 + 0x14) = *(int *)(param_1 + 0x14) + (uint)CARRY4(uVar7,uVar11 + 1);\n      FUN_0003ebc0(param_1,uVar3 + 1,uVar11,*(undefined4 *)(param_1 + 0x28),\n                   *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),1,uVar10);\n      goto LAB_0005167a;\n    }\n  }" { (labeled_statement "LAB_000516c8:\n    if ((DAT_00088ea0 == 0) || (*(int *)(param_1 + 0x18) != 0x47 || *(int *)(param_1 + 0x1c) != 0))\n    {\n      bVar2 = *pbVar8;\n      *pbVar8 = 0xf;\n      pbVar8[1] = bVar2 + 0x10;\n      puVar1 = (uint *)(param_1 + 0x10);\n      uVar7 = *puVar1;\n      *puVar1 = *puVar1 + uVar11 + 1;\n      *(int *)(param_1 + 0x14) = *(int *)(param_1 + 0x14) + (uint)CARRY4(uVar7,uVar11 + 1);\n      FUN_0003ebc0(param_1,uVar3 + 1,uVar11,*(undefined4 *)(param_1 + 0x28),\n                   *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),1,uVar10);\n      goto LAB_0005167a;\n    }" statement_identifier : (if_statement "if ((DAT_00088ea0 == 0) || (*(int *)(param_1 + 0x18) != 0x47 || *(int *)(param_1 + 0x1c) != 0))\n    {\n      bVar2 = *pbVar8;\n      *pbVar8 = 0xf;\n      pbVar8[1] = bVar2 + 0x10;\n      puVar1 = (uint *)(param_1 + 0x10);\n      uVar7 = *puVar1;\n      *puVar1 = *puVar1 + uVar11 + 1;\n      *(int *)(param_1 + 0x14) = *(int *)(param_1 + 0x14) + (uint)CARRY4(uVar7,uVar11 + 1);\n      FUN_0003ebc0(param_1,uVar3 + 1,uVar11,*(undefined4 *)(param_1 + 0x28),\n                   *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),1,uVar10);\n      goto LAB_0005167a;\n    }" if (parenthesized_expression "((DAT_00088ea0 == 0) || (*(int *)(param_1 + 0x18) != 0x47 || *(int *)(param_1 + 0x1c) != 0))" ( (binary_expression "(DAT_00088ea0 == 0) || (*(int *)(param_1 + 0x18) != 0x47 || *(int *)(param_1 + 0x1c) != 0)" (parenthesized_expression "(DAT_00088ea0 == 0)" ( (binary_expression "DAT_00088ea0 == 0" identifier == number_literal) )) || (parenthesized_expression "(*(int *)(param_1 + 0x18) != 0x47 || *(int *)(param_1 + 0x1c) != 0)" ( (binary_expression "*(int *)(param_1 + 0x18) != 0x47 || *(int *)(param_1 + 0x1c) != 0" (binary_expression "*(int *)(param_1 + 0x18) != 0x47" (pointer_expression "*(int *)(param_1 + 0x18)" * (cast_expression "(int *)(param_1 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x18)" ( (binary_expression "param_1 + 0x18" identifier + number_literal) )))) != number_literal) || (binary_expression "*(int *)(param_1 + 0x1c) != 0" (pointer_expression "*(int *)(param_1 + 0x1c)" * (cast_expression "(int *)(param_1 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1c)" ( (binary_expression "param_1 + 0x1c" identifier + number_literal) )))) != number_literal)) ))) )) (compound_statement "{\n      bVar2 = *pbVar8;\n      *pbVar8 = 0xf;\n      pbVar8[1] = bVar2 + 0x10;\n      puVar1 = (uint *)(param_1 + 0x10);\n      uVar7 = *puVar1;\n      *puVar1 = *puVar1 + uVar11 + 1;\n      *(int *)(param_1 + 0x14) = *(int *)(param_1 + 0x14) + (uint)CARRY4(uVar7,uVar11 + 1);\n      FUN_0003ebc0(param_1,uVar3 + 1,uVar11,*(undefined4 *)(param_1 + 0x28),\n                   *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),1,uVar10);\n      goto LAB_0005167a;\n    }" { (expression_statement "bVar2 = *pbVar8;" (assignment_expression "bVar2 = *pbVar8" identifier = (pointer_expression "*pbVar8" * identifier)) ;) (expression_statement "*pbVar8 = 0xf;" (assignment_expression "*pbVar8 = 0xf" (pointer_expression "*pbVar8" * identifier) = number_literal) ;) (expression_statement "pbVar8[1] = bVar2 + 0x10;" (assignment_expression "pbVar8[1] = bVar2 + 0x10" (subscript_expression "pbVar8[1]" identifier [ number_literal ]) = (binary_expression "bVar2 + 0x10" identifier + number_literal)) ;) (expression_statement "puVar1 = (uint *)(param_1 + 0x10);" (assignment_expression "puVar1 = (uint *)(param_1 + 0x10)" identifier = (cast_expression "(uint *)(param_1 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) )))) ;) (expression_statement "uVar7 = *puVar1;" (assignment_expression "uVar7 = *puVar1" identifier = (pointer_expression "*puVar1" * identifier)) ;) (expression_statement "*puVar1 = *puVar1 + uVar11 + 1;" (assignment_expression "*puVar1 = *puVar1 + uVar11 + 1" (pointer_expression "*puVar1" * identifier) = (binary_expression "*puVar1 + uVar11 + 1" (binary_expression "*puVar1 + uVar11" (pointer_expression "*puVar1" * identifier) + identifier) + number_literal)) ;) (expression_statement "*(int *)(param_1 + 0x14) = *(int *)(param_1 + 0x14) + (uint)CARRY4(uVar7,uVar11 + 1);" (assignment_expression "*(int *)(param_1 + 0x14) = *(int *)(param_1 + 0x14) + (uint)CARRY4(uVar7,uVar11 + 1)" (pointer_expression "*(int *)(param_1 + 0x14)" * (cast_expression "(int *)(param_1 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x14)" ( (binary_expression "param_1 + 0x14" identifier + number_literal) )))) = (binary_expression "*(int *)(param_1 + 0x14) + (uint)CARRY4(uVar7,uVar11 + 1)" (pointer_expression "*(int *)(param_1 + 0x14)" * (cast_expression "(int *)(param_1 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x14)" ( (binary_expression "param_1 + 0x14" identifier + number_literal) )))) + (cast_expression "(uint)CARRY4(uVar7,uVar11 + 1)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar7,uVar11 + 1)" identifier (argument_list "(uVar7,uVar11 + 1)" ( identifier , (binary_expression "uVar11 + 1" identifier + number_literal) )))))) ;) (expression_statement "FUN_0003ebc0(param_1,uVar3 + 1,uVar11,*(undefined4 *)(param_1 + 0x28),\n                   *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),1,uVar10);" (call_expression "FUN_0003ebc0(param_1,uVar3 + 1,uVar11,*(undefined4 *)(param_1 + 0x28),\n                   *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),1,uVar10)" identifier (argument_list "(param_1,uVar3 + 1,uVar11,*(undefined4 *)(param_1 + 0x28),\n                   *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),1,uVar10)" ( identifier , (binary_expression "uVar3 + 1" identifier + number_literal) , identifier , (pointer_expression "*(undefined4 *)(param_1 + 0x28)" * (cast_expression "(undefined4 *)(param_1 + 0x28)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x28)" ( (binary_expression "param_1 + 0x28" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(param_1 + 0x20)" * (cast_expression "(undefined4 *)(param_1 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x20)" ( (binary_expression "param_1 + 0x20" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(param_1 + 0x24)" * (cast_expression "(undefined4 *)(param_1 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x24)" ( (binary_expression "param_1 + 0x24" identifier + number_literal) )))) , number_literal , identifier ))) ;) (goto_statement "goto LAB_0005167a;" goto statement_identifier ;) }))) }) (else_clause "else {\n    if (uVar5 == 0) {\n      *pbVar8 = 0xe9;\n      puVar1 = (uint *)(param_1 + 0x10);\n      uVar7 = *puVar1;\n      *puVar1 = *puVar1 + uVar11;\n      *(int *)(param_1 + 0x14) = *(int *)(param_1 + 0x14) + (uint)CARRY4(uVar7,uVar11);\n      FUN_0003ebc0(param_1,uVar3,uVar11,*(undefined4 *)(param_1 + 0x28),\n                   *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),1,uVar10);\n      goto LAB_0005167a;\n    }\n    if (uVar5 != 2) {\n      uVar9 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5,uVar5);\n                    \n      FUN_0002be00(uVar9,uVar7,0x2667,"../../gas/config/tc-i386.c");\n    }\n    if (uVar11 != 2) goto LAB_000516c8;\n    if ((DAT_00088ea0 == 0) || (*(int *)(param_1 + 0x18) != 0x47 || *(int *)(param_1 + 0x1c) != 0))\n    {\n      *pbVar8 = *pbVar8 ^ 1;\n      pbVar8[1] = 3;\n      pbVar8[2] = 0xe9;\n      puVar1 = (uint *)(param_1 + 0x10);\n      uVar7 = *puVar1;\n      *puVar1 = *puVar1 + 4;\n      *(int *)(param_1 + 0x14) = *(int *)(param_1 + 0x14) + (uint)(0xfffffffb < uVar7);\n      FUN_0003ebc0(param_1,uVar3 + 2,2,*(undefined4 *)(param_1 + 0x28),\n                   *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),1,uVar10);\n      goto LAB_0005167a;\n    }\n  }" else (compound_statement "{\n    if (uVar5 == 0) {\n      *pbVar8 = 0xe9;\n      puVar1 = (uint *)(param_1 + 0x10);\n      uVar7 = *puVar1;\n      *puVar1 = *puVar1 + uVar11;\n      *(int *)(param_1 + 0x14) = *(int *)(param_1 + 0x14) + (uint)CARRY4(uVar7,uVar11);\n      FUN_0003ebc0(param_1,uVar3,uVar11,*(undefined4 *)(param_1 + 0x28),\n                   *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),1,uVar10);\n      goto LAB_0005167a;\n    }\n    if (uVar5 != 2) {\n      uVar9 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5,uVar5);\n                    \n      FUN_0002be00(uVar9,uVar7,0x2667,"../../gas/config/tc-i386.c");\n    }\n    if (uVar11 != 2) goto LAB_000516c8;\n    if ((DAT_00088ea0 == 0) || (*(int *)(param_1 + 0x18) != 0x47 || *(int *)(param_1 + 0x1c) != 0))\n    {\n      *pbVar8 = *pbVar8 ^ 1;\n      pbVar8[1] = 3;\n      pbVar8[2] = 0xe9;\n      puVar1 = (uint *)(param_1 + 0x10);\n      uVar7 = *puVar1;\n      *puVar1 = *puVar1 + 4;\n      *(int *)(param_1 + 0x14) = *(int *)(param_1 + 0x14) + (uint)(0xfffffffb < uVar7);\n      FUN_0003ebc0(param_1,uVar3 + 2,2,*(undefined4 *)(param_1 + 0x28),\n                   *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),1,uVar10);\n      goto LAB_0005167a;\n    }\n  }" { (if_statement "if (uVar5 == 0) {\n      *pbVar8 = 0xe9;\n      puVar1 = (uint *)(param_1 + 0x10);\n      uVar7 = *puVar1;\n      *puVar1 = *puVar1 + uVar11;\n      *(int *)(param_1 + 0x14) = *(int *)(param_1 + 0x14) + (uint)CARRY4(uVar7,uVar11);\n      FUN_0003ebc0(param_1,uVar3,uVar11,*(undefined4 *)(param_1 + 0x28),\n                   *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),1,uVar10);\n      goto LAB_0005167a;\n    }" if (parenthesized_expression "(uVar5 == 0)" ( (binary_expression "uVar5 == 0" identifier == number_literal) )) (compound_statement "{\n      *pbVar8 = 0xe9;\n      puVar1 = (uint *)(param_1 + 0x10);\n      uVar7 = *puVar1;\n      *puVar1 = *puVar1 + uVar11;\n      *(int *)(param_1 + 0x14) = *(int *)(param_1 + 0x14) + (uint)CARRY4(uVar7,uVar11);\n      FUN_0003ebc0(param_1,uVar3,uVar11,*(undefined4 *)(param_1 + 0x28),\n                   *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),1,uVar10);\n      goto LAB_0005167a;\n    }" { (expression_statement "*pbVar8 = 0xe9;" (assignment_expression "*pbVar8 = 0xe9" (pointer_expression "*pbVar8" * identifier) = number_literal) ;) (expression_statement "puVar1 = (uint *)(param_1 + 0x10);" (assignment_expression "puVar1 = (uint *)(param_1 + 0x10)" identifier = (cast_expression "(uint *)(param_1 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) )))) ;) (expression_statement "uVar7 = *puVar1;" (assignment_expression "uVar7 = *puVar1" identifier = (pointer_expression "*puVar1" * identifier)) ;) (expression_statement "*puVar1 = *puVar1 + uVar11;" (assignment_expression "*puVar1 = *puVar1 + uVar11" (pointer_expression "*puVar1" * identifier) = (binary_expression "*puVar1 + uVar11" (pointer_expression "*puVar1" * identifier) + identifier)) ;) (expression_statement "*(int *)(param_1 + 0x14) = *(int *)(param_1 + 0x14) + (uint)CARRY4(uVar7,uVar11);" (assignment_expression "*(int *)(param_1 + 0x14) = *(int *)(param_1 + 0x14) + (uint)CARRY4(uVar7,uVar11)" (pointer_expression "*(int *)(param_1 + 0x14)" * (cast_expression "(int *)(param_1 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x14)" ( (binary_expression "param_1 + 0x14" identifier + number_literal) )))) = (binary_expression "*(int *)(param_1 + 0x14) + (uint)CARRY4(uVar7,uVar11)" (pointer_expression "*(int *)(param_1 + 0x14)" * (cast_expression "(int *)(param_1 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x14)" ( (binary_expression "param_1 + 0x14" identifier + number_literal) )))) + (cast_expression "(uint)CARRY4(uVar7,uVar11)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar7,uVar11)" identifier (argument_list "(uVar7,uVar11)" ( identifier , identifier )))))) ;) (expression_statement "FUN_0003ebc0(param_1,uVar3,uVar11,*(undefined4 *)(param_1 + 0x28),\n                   *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),1,uVar10);" (call_expression "FUN_0003ebc0(param_1,uVar3,uVar11,*(undefined4 *)(param_1 + 0x28),\n                   *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),1,uVar10)" identifier (argument_list "(param_1,uVar3,uVar11,*(undefined4 *)(param_1 + 0x28),\n                   *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),1,uVar10)" ( identifier , identifier , identifier , (pointer_expression "*(undefined4 *)(param_1 + 0x28)" * (cast_expression "(undefined4 *)(param_1 + 0x28)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x28)" ( (binary_expression "param_1 + 0x28" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(param_1 + 0x20)" * (cast_expression "(undefined4 *)(param_1 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x20)" ( (binary_expression "param_1 + 0x20" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(param_1 + 0x24)" * (cast_expression "(undefined4 *)(param_1 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x24)" ( (binary_expression "param_1 + 0x24" identifier + number_literal) )))) , number_literal , identifier ))) ;) (goto_statement "goto LAB_0005167a;" goto statement_identifier ;) })) (if_statement "if (uVar5 != 2) {\n      uVar9 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5,uVar5);\n                    \n      FUN_0002be00(uVar9,uVar7,0x2667,"../../gas/config/tc-i386.c");\n    }" if (parenthesized_expression "(uVar5 != 2)" ( (binary_expression "uVar5 != 2" identifier != number_literal) )) (compound_statement "{\n      uVar9 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5,uVar5);\n                    \n      FUN_0002be00(uVar9,uVar7,0x2667,"../../gas/config/tc-i386.c");\n    }" { (expression_statement "uVar9 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5,uVar5);" (assignment_expression "uVar9 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5,uVar5)" identifier = (call_expression "dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5,uVar5)" identifier (argument_list "(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5,uVar5)" ( 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 , identifier )))) ;) (expression_statement "FUN_0002be00(uVar9,uVar7,0x2667,"../../gas/config/tc-i386.c");" (call_expression "FUN_0002be00(uVar9,uVar7,0x2667,"../../gas/config/tc-i386.c")" identifier (argument_list "(uVar9,uVar7,0x2667,"../../gas/config/tc-i386.c")" ( identifier , identifier , number_literal , (string_literal ""../../gas/config/tc-i386.c"" " string_content ") ))) ;) })) (if_statement "if (uVar11 != 2) goto LAB_000516c8;" if (parenthesized_expression "(uVar11 != 2)" ( (binary_expression "uVar11 != 2" identifier != number_literal) )) (goto_statement "goto LAB_000516c8;" goto statement_identifier ;)) (if_statement "if ((DAT_00088ea0 == 0) || (*(int *)(param_1 + 0x18) != 0x47 || *(int *)(param_1 + 0x1c) != 0))\n    {\n      *pbVar8 = *pbVar8 ^ 1;\n      pbVar8[1] = 3;\n      pbVar8[2] = 0xe9;\n      puVar1 = (uint *)(param_1 + 0x10);\n      uVar7 = *puVar1;\n      *puVar1 = *puVar1 + 4;\n      *(int *)(param_1 + 0x14) = *(int *)(param_1 + 0x14) + (uint)(0xfffffffb < uVar7);\n      FUN_0003ebc0(param_1,uVar3 + 2,2,*(undefined4 *)(param_1 + 0x28),\n                   *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),1,uVar10);\n      goto LAB_0005167a;\n    }" if (parenthesized_expression "((DAT_00088ea0 == 0) || (*(int *)(param_1 + 0x18) != 0x47 || *(int *)(param_1 + 0x1c) != 0))" ( (binary_expression "(DAT_00088ea0 == 0) || (*(int *)(param_1 + 0x18) != 0x47 || *(int *)(param_1 + 0x1c) != 0)" (parenthesized_expression "(DAT_00088ea0 == 0)" ( (binary_expression "DAT_00088ea0 == 0" identifier == number_literal) )) || (parenthesized_expression "(*(int *)(param_1 + 0x18) != 0x47 || *(int *)(param_1 + 0x1c) != 0)" ( (binary_expression "*(int *)(param_1 + 0x18) != 0x47 || *(int *)(param_1 + 0x1c) != 0" (binary_expression "*(int *)(param_1 + 0x18) != 0x47" (pointer_expression "*(int *)(param_1 + 0x18)" * (cast_expression "(int *)(param_1 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x18)" ( (binary_expression "param_1 + 0x18" identifier + number_literal) )))) != number_literal) || (binary_expression "*(int *)(param_1 + 0x1c) != 0" (pointer_expression "*(int *)(param_1 + 0x1c)" * (cast_expression "(int *)(param_1 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1c)" ( (binary_expression "param_1 + 0x1c" identifier + number_literal) )))) != number_literal)) ))) )) (compound_statement "{\n      *pbVar8 = *pbVar8 ^ 1;\n      pbVar8[1] = 3;\n      pbVar8[2] = 0xe9;\n      puVar1 = (uint *)(param_1 + 0x10);\n      uVar7 = *puVar1;\n      *puVar1 = *puVar1 + 4;\n      *(int *)(param_1 + 0x14) = *(int *)(param_1 + 0x14) + (uint)(0xfffffffb < uVar7);\n      FUN_0003ebc0(param_1,uVar3 + 2,2,*(undefined4 *)(param_1 + 0x28),\n                   *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),1,uVar10);\n      goto LAB_0005167a;\n    }" { (expression_statement "*pbVar8 = *pbVar8 ^ 1;" (assignment_expression "*pbVar8 = *pbVar8 ^ 1" (pointer_expression "*pbVar8" * identifier) = (binary_expression "*pbVar8 ^ 1" (pointer_expression "*pbVar8" * identifier) ^ number_literal)) ;) (expression_statement "pbVar8[1] = 3;" (assignment_expression "pbVar8[1] = 3" (subscript_expression "pbVar8[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "pbVar8[2] = 0xe9;" (assignment_expression "pbVar8[2] = 0xe9" (subscript_expression "pbVar8[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar1 = (uint *)(param_1 + 0x10);" (assignment_expression "puVar1 = (uint *)(param_1 + 0x10)" identifier = (cast_expression "(uint *)(param_1 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) )))) ;) (expression_statement "uVar7 = *puVar1;" (assignment_expression "uVar7 = *puVar1" identifier = (pointer_expression "*puVar1" * identifier)) ;) (expression_statement "*puVar1 = *puVar1 + 4;" (assignment_expression "*puVar1 = *puVar1 + 4" (pointer_expression "*puVar1" * identifier) = (binary_expression "*puVar1 + 4" (pointer_expression "*puVar1" * identifier) + number_literal)) ;) (expression_statement "*(int *)(param_1 + 0x14) = *(int *)(param_1 + 0x14) + (uint)(0xfffffffb < uVar7);" (assignment_expression "*(int *)(param_1 + 0x14) = *(int *)(param_1 + 0x14) + (uint)(0xfffffffb < uVar7)" (pointer_expression "*(int *)(param_1 + 0x14)" * (cast_expression "(int *)(param_1 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x14)" ( (binary_expression "param_1 + 0x14" identifier + number_literal) )))) = (binary_expression "*(int *)(param_1 + 0x14) + (uint)(0xfffffffb < uVar7)" (pointer_expression "*(int *)(param_1 + 0x14)" * (cast_expression "(int *)(param_1 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x14)" ( (binary_expression "param_1 + 0x14" identifier + number_literal) )))) + (call_expression "(uint)(0xfffffffb < uVar7)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0xfffffffb < uVar7)" ( (binary_expression "0xfffffffb < uVar7" number_literal < identifier) ))))) ;) (expression_statement "FUN_0003ebc0(param_1,uVar3 + 2,2,*(undefined4 *)(param_1 + 0x28),\n                   *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),1,uVar10);" (call_expression "FUN_0003ebc0(param_1,uVar3 + 2,2,*(undefined4 *)(param_1 + 0x28),\n                   *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),1,uVar10)" identifier (argument_list "(param_1,uVar3 + 2,2,*(undefined4 *)(param_1 + 0x28),\n                   *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),1,uVar10)" ( identifier , (binary_expression "uVar3 + 2" identifier + number_literal) , number_literal , (pointer_expression "*(undefined4 *)(param_1 + 0x28)" * (cast_expression "(undefined4 *)(param_1 + 0x28)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x28)" ( (binary_expression "param_1 + 0x28" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(param_1 + 0x20)" * (cast_expression "(undefined4 *)(param_1 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x20)" ( (binary_expression "param_1 + 0x20" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(param_1 + 0x24)" * (cast_expression "(undefined4 *)(param_1 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x24)" ( (binary_expression "param_1 + 0x24" identifier + number_literal) )))) , number_literal , identifier ))) ;) (goto_statement "goto LAB_0005167a;" goto statement_identifier ;) })) }))) (expression_statement "*(uint *)(param_1 + 0x10) = uVar3 + 1;" (assignment_expression "*(uint *)(param_1 + 0x10) = uVar3 + 1" (pointer_expression "*(uint *)(param_1 + 0x10)" * (cast_expression "(uint *)(param_1 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) )))) = (binary_expression "uVar3 + 1" identifier + number_literal)) ;) (expression_statement "*(uint *)(param_1 + 0x14) = *(int *)(param_1 + 0x14) + (uint)(0xfffffffe < uVar3);" (assignment_expression "*(uint *)(param_1 + 0x14) = *(int *)(param_1 + 0x14) + (uint)(0xfffffffe < uVar3)" (pointer_expression "*(uint *)(param_1 + 0x14)" * (cast_expression "(uint *)(param_1 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x14)" ( (binary_expression "param_1 + 0x14" identifier + number_literal) )))) = (binary_expression "*(int *)(param_1 + 0x14) + (uint)(0xfffffffe < uVar3)" (pointer_expression "*(int *)(param_1 + 0x14)" * (cast_expression "(int *)(param_1 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x14)" ( (binary_expression "param_1 + 0x14" identifier + number_literal) )))) + (call_expression "(uint)(0xfffffffe < uVar3)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0xfffffffe < uVar3)" ( (binary_expression "0xfffffffe < uVar3" number_literal < identifier) ))))) ;) (expression_statement "pbVar8 = (byte *)FUN_0003ebc0(param_1,uVar3,1,*(undefined4 *)(param_1 + 0x28),\n                                *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),1,\n                                0xd);" (assignment_expression "pbVar8 = (byte *)FUN_0003ebc0(param_1,uVar3,1,*(undefined4 *)(param_1 + 0x28),\n                                *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),1,\n                                0xd)" identifier = (cast_expression "(byte *)FUN_0003ebc0(param_1,uVar3,1,*(undefined4 *)(param_1 + 0x28),\n                                *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),1,\n                                0xd)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0003ebc0(param_1,uVar3,1,*(undefined4 *)(param_1 + 0x28),\n                                *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),1,\n                                0xd)" identifier (argument_list "(param_1,uVar3,1,*(undefined4 *)(param_1 + 0x28),\n                                *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),1,\n                                0xd)" ( identifier , identifier , number_literal , (pointer_expression "*(undefined4 *)(param_1 + 0x28)" * (cast_expression "(undefined4 *)(param_1 + 0x28)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x28)" ( (binary_expression "param_1 + 0x28" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(param_1 + 0x20)" * (cast_expression "(undefined4 *)(param_1 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x20)" ( (binary_expression "param_1 + 0x20" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(param_1 + 0x24)" * (cast_expression "(undefined4 *)(param_1 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x24)" ( (binary_expression "param_1 + 0x24" identifier + number_literal) )))) , number_literal , number_literal ))))) ;) (expression_statement "*pbVar8 = *pbVar8 | 0x80;" (assignment_expression "*pbVar8 = *pbVar8 | 0x80" (pointer_expression "*pbVar8" * identifier) = (binary_expression "*pbVar8 | 0x80" (pointer_expression "*pbVar8" * identifier) | number_literal)) ;) (labeled_statement "LAB_0005167a:\n  FUN_00024c10(param_1);" statement_identifier : (expression_statement "FUN_00024c10(param_1);" (call_expression "FUN_00024c10(param_1)" identifier (argument_list "(param_1)" ( identifier ))) ;)) (return_statement "return *(int *)(param_1 + 0x10) - uVar3;" return (binary_expression "*(int *)(param_1 + 0x10) - uVar3" (pointer_expression "*(int *)(param_1 + 0x10)" * (cast_expression "(int *)(param_1 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) )))) - identifier) ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (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 = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT != LIT) || (binary_expression (parenthesized_expression ( (binary_expression IDENT ^ LIT) )) != LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (binary_expression IDENT != LIT) ))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") , (binary_expression IDENT ^ LIT) ))) ;) })) (goto_statement goto statement_identifier ;) })) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (return_statement return (subscript_expression (call_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( IDENT ))) (argument_list ( (pointer_expression & IDENT) ))) [ (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT) ]) ;)) })) })) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) && (binary_expression (parenthesized_expression ( (binary_expression IDENT ^ LIT) )) == LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (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 = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) && (binary_expression (parenthesized_expression ( (binary_expression IDENT ^ LIT) )) == LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) }))) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression 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 * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) || (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (binary_expression (pointer_expression * IDENT) + IDENT) + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) )))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) , IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , LIT , IDENT ))) ;) (goto_statement goto statement_identifier ;) }))) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (pointer_expression * IDENT) + IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( IDENT , IDENT )))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , LIT , IDENT ))) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence string_content escape_sequence escape_sequence ") , LIT , IDENT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , LIT , (string_literal " string_content ") ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) || (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (pointer_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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (pointer_expression * IDENT) + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression LIT < IDENT) ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) , LIT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , LIT , IDENT ))) ;) (goto_statement goto statement_identifier ;) })) }))) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression LIT < IDENT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , IDENT , LIT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , LIT , LIT ))))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (pointer_expression * IDENT) | LIT)) ;) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;)) (return_statement return (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) - IDENT) ;) })))
(function_definition "uint FUN_000515e0(int param_1,int param_2)\n\n{\n  uint *puVar1;\n  byte bVar2;\n  uint uVar3;\n  int iVar4;\n  uint uVar5;\n  int iVar6;\n  uint uVar7;\n  byte *pbVar8;\n  undefined4 uVar9;\n  uint uVar10;\n  uint uVar11;\n  \n  iVar4 = FUN_00038ac0(*(undefined4 *)(param_1 + 0x28));\n  if (iVar4 == param_2) {\n    iVar4 = *(int *)(param_1 + 0x1c);\n    uVar9 = *(undefined4 *)(param_1 + 0x28);\n    uVar10 = *(uint *)(param_1 + 0x18);\n    iVar6 = FUN_0003bdf0(uVar9);\n    if ((*(byte *)(iVar6 + 0x12) & 0x40) == 0) {\n      iVar6 = FUN_00038510(uVar9);\n      if (iVar6 == 0) {\n        iVar6 = FUN_00038580(uVar9);\n      }\n      else {\n        uVar7 = FUN_00054410(uVar9);\n        if ((uVar7 & 3) != 0) goto LAB_000517c4;\n        iVar6 = DAT_00088ef8;\n        if (iVar4 != 0 || (uVar10 ^ 0x47) != 0) {\n          if ((uVar10 != 0x165) && (uVar10 != 0x17e)) {\n                    \n            FUN_0002be80("../../gas/config/tc-i386.c",0x25ed,"elf_symbol_resolved_in_segment_p",\n                         uVar10 ^ 0x47);\n          }\n          goto LAB_0005160b;\n        }\n      }\n      if (iVar6 == 0) {\nLAB_000517c4:\n        return (uint)(byte)(&DAT_00065570)[*(int *)(param_1 + 0x48) * 0x18];\n      }\n    }\n  }\nLAB_0005160b:\n  uVar10 = *(uint *)(param_1 + 0x18);\n  uVar7 = *(uint *)(param_1 + 0x48);\n  if ((uVar7 & 1) == 0) {\n    uVar11 = 4;\n    if (*(int *)(param_1 + 0x1c) == 0 && (uVar10 ^ 0x47) == 0) {\n      iVar4 = FUN_00047710();\n      uVar7 = *(uint *)(param_1 + 0x48);\n      uVar10 = 0x17e;\n      if (iVar4 == 0) {\n        uVar10 = 9;\n      }\n    }\n  }\n  else {\n    uVar11 = 2;\n    if (*(int *)(param_1 + 0x1c) == 0 && (uVar10 ^ 0x47) == 0) {\n      uVar10 = 0xb;\n    }\n  }\n  uVar3 = *(uint *)(param_1 + 0x10);\n  uVar5 = uVar7 >> 2;\n  pbVar8 = *(byte **)(param_1 + 0x2c);\n  if (uVar5 == 1) {\nLAB_000516c8:\n    if ((DAT_00088ea0 == 0) || (*(int *)(param_1 + 0x18) != 0x47 || *(int *)(param_1 + 0x1c) != 0))\n    {\n      bVar2 = *pbVar8;\n      *pbVar8 = 0xf;\n      pbVar8[1] = bVar2 + 0x10;\n      puVar1 = (uint *)(param_1 + 0x10);\n      uVar7 = *puVar1;\n      *puVar1 = *puVar1 + uVar11 + 1;\n      *(int *)(param_1 + 0x14) = *(int *)(param_1 + 0x14) + (uint)CARRY4(uVar7,uVar11 + 1);\n      FUN_0003ebc0(param_1,uVar3 + 1,uVar11,*(undefined4 *)(param_1 + 0x28),\n                   *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),1,uVar10);\n      goto LAB_0005167a;\n    }\n  }\n  else {\n    if (uVar5 == 0) {\n      *pbVar8 = 0xe9;\n      puVar1 = (uint *)(param_1 + 0x10);\n      uVar7 = *puVar1;\n      *puVar1 = *puVar1 + uVar11;\n      *(int *)(param_1 + 0x14) = *(int *)(param_1 + 0x14) + (uint)CARRY4(uVar7,uVar11);\n      FUN_0003ebc0(param_1,uVar3,uVar11,*(undefined4 *)(param_1 + 0x28),\n                   *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),1,uVar10);\n      goto LAB_0005167a;\n    }\n    if (uVar5 != 2) {\n      uVar9 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5,uVar5);\n                    \n      FUN_0002be00(uVar9,uVar7,0x2667,"../../gas/config/tc-i386.c");\n    }\n    if (uVar11 != 2) goto LAB_000516c8;\n    if ((DAT_00088ea0 == 0) || (*(int *)(param_1 + 0x18) != 0x47 || *(int *)(param_1 + 0x1c) != 0))\n    {\n      *pbVar8 = *pbVar8 ^ 1;\n      pbVar8[1] = 3;\n      pbVar8[2] = 0xe9;\n      puVar1 = (uint *)(param_1 + 0x10);\n      uVar7 = *puVar1;\n      *puVar1 = *puVar1 + 4;\n      *(int *)(param_1 + 0x14) = *(int *)(param_1 + 0x14) + (uint)(0xfffffffb < uVar7);\n      FUN_0003ebc0(param_1,uVar3 + 2,2,*(undefined4 *)(param_1 + 0x28),\n                   *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),1,uVar10);\n      goto LAB_0005167a;\n    }\n  }\n  *(uint *)(param_1 + 0x10) = uVar3 + 1;\n  *(uint *)(param_1 + 0x14) = *(int *)(param_1 + 0x14) + (uint)(0xfffffffe < uVar3);\n  pbVar8 = (byte *)FUN_0003ebc0(param_1,uVar3,1,*(undefined4 *)(param_1 + 0x28),\n                                *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),1,\n                                0xd);\n  *pbVar8 = *pbVar8 | 0x80;\nLAB_0005167a:\n  FUN_00024c10(param_1);\n  return *(int *)(param_1 + 0x10) - uVar3;\n}" (type_identifier "uint") (function_declarator "FUN_000515e0(int param_1,int param_2)" (identifier "FUN_000515e0") (parameter_list "(int param_1,int param_2)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) (, ",") (parameter_declaration "int param_2" (primitive_type "int") (identifier "param_2")) () ")"))) (compound_statement "{\n  uint *puVar1;\n  byte bVar2;\n  uint uVar3;\n  int iVar4;\n  uint uVar5;\n  int iVar6;\n  uint uVar7;\n  byte *pbVar8;\n  undefined4 uVar9;\n  uint uVar10;\n  uint uVar11;\n  \n  iVar4 = FUN_00038ac0(*(undefined4 *)(param_1 + 0x28));\n  if (iVar4 == param_2) {\n    iVar4 = *(int *)(param_1 + 0x1c);\n    uVar9 = *(undefined4 *)(param_1 + 0x28);\n    uVar10 = *(uint *)(param_1 + 0x18);\n    iVar6 = FUN_0003bdf0(uVar9);\n    if ((*(byte *)(iVar6 + 0x12) & 0x40) == 0) {\n      iVar6 = FUN_00038510(uVar9);\n      if (iVar6 == 0) {\n        iVar6 = FUN_00038580(uVar9);\n      }\n      else {\n        uVar7 = FUN_00054410(uVar9);\n        if ((uVar7 & 3) != 0) goto LAB_000517c4;\n        iVar6 = DAT_00088ef8;\n        if (iVar4 != 0 || (uVar10 ^ 0x47) != 0) {\n          if ((uVar10 != 0x165) && (uVar10 != 0x17e)) {\n                    \n            FUN_0002be80("../../gas/config/tc-i386.c",0x25ed,"elf_symbol_resolved_in_segment_p",\n                         uVar10 ^ 0x47);\n          }\n          goto LAB_0005160b;\n        }\n      }\n      if (iVar6 == 0) {\nLAB_000517c4:\n        return (uint)(byte)(&DAT_00065570)[*(int *)(param_1 + 0x48) * 0x18];\n      }\n    }\n  }\nLAB_0005160b:\n  uVar10 = *(uint *)(param_1 + 0x18);\n  uVar7 = *(uint *)(param_1 + 0x48);\n  if ((uVar7 & 1) == 0) {\n    uVar11 = 4;\n    if (*(int *)(param_1 + 0x1c) == 0 && (uVar10 ^ 0x47) == 0) {\n      iVar4 = FUN_00047710();\n      uVar7 = *(uint *)(param_1 + 0x48);\n      uVar10 = 0x17e;\n      if (iVar4 == 0) {\n        uVar10 = 9;\n      }\n    }\n  }\n  else {\n    uVar11 = 2;\n    if (*(int *)(param_1 + 0x1c) == 0 && (uVar10 ^ 0x47) == 0) {\n      uVar10 = 0xb;\n    }\n  }\n  uVar3 = *(uint *)(param_1 + 0x10);\n  uVar5 = uVar7 >> 2;\n  pbVar8 = *(byte **)(param_1 + 0x2c);\n  if (uVar5 == 1) {\nLAB_000516c8:\n    if ((DAT_00088ea0 == 0) || (*(int *)(param_1 + 0x18) != 0x47 || *(int *)(param_1 + 0x1c) != 0))\n    {\n      bVar2 = *pbVar8;\n      *pbVar8 = 0xf;\n      pbVar8[1] = bVar2 + 0x10;\n      puVar1 = (uint *)(param_1 + 0x10);\n      uVar7 = *puVar1;\n      *puVar1 = *puVar1 + uVar11 + 1;\n      *(int *)(param_1 + 0x14) = *(int *)(param_1 + 0x14) + (uint)CARRY4(uVar7,uVar11 + 1);\n      FUN_0003ebc0(param_1,uVar3 + 1,uVar11,*(undefined4 *)(param_1 + 0x28),\n                   *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),1,uVar10);\n      goto LAB_0005167a;\n    }\n  }\n  else {\n    if (uVar5 == 0) {\n      *pbVar8 = 0xe9;\n      puVar1 = (uint *)(param_1 + 0x10);\n      uVar7 = *puVar1;\n      *puVar1 = *puVar1 + uVar11;\n      *(int *)(param_1 + 0x14) = *(int *)(param_1 + 0x14) + (uint)CARRY4(uVar7,uVar11);\n      FUN_0003ebc0(param_1,uVar3,uVar11,*(undefined4 *)(param_1 + 0x28),\n                   *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),1,uVar10);\n      goto LAB_0005167a;\n    }\n    if (uVar5 != 2) {\n      uVar9 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5,uVar5);\n                    \n      FUN_0002be00(uVar9,uVar7,0x2667,"../../gas/config/tc-i386.c");\n    }\n    if (uVar11 != 2) goto LAB_000516c8;\n    if ((DAT_00088ea0 == 0) || (*(int *)(param_1 + 0x18) != 0x47 || *(int *)(param_1 + 0x1c) != 0))\n    {\n      *pbVar8 = *pbVar8 ^ 1;\n      pbVar8[1] = 3;\n      pbVar8[2] = 0xe9;\n      puVar1 = (uint *)(param_1 + 0x10);\n      uVar7 = *puVar1;\n      *puVar1 = *puVar1 + 4;\n      *(int *)(param_1 + 0x14) = *(int *)(param_1 + 0x14) + (uint)(0xfffffffb < uVar7);\n      FUN_0003ebc0(param_1,uVar3 + 2,2,*(undefined4 *)(param_1 + 0x28),\n                   *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),1,uVar10);\n      goto LAB_0005167a;\n    }\n  }\n  *(uint *)(param_1 + 0x10) = uVar3 + 1;\n  *(uint *)(param_1 + 0x14) = *(int *)(param_1 + 0x14) + (uint)(0xfffffffe < uVar3);\n  pbVar8 = (byte *)FUN_0003ebc0(param_1,uVar3,1,*(undefined4 *)(param_1 + 0x28),\n                                *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),1,\n                                0xd);\n  *pbVar8 = *pbVar8 | 0x80;\nLAB_0005167a:\n  FUN_00024c10(param_1);\n  return *(int *)(param_1 + 0x10) - uVar3;\n}" ({ "{") (declaration "uint *puVar1;" (type_identifier "uint") (pointer_declarator "*puVar1" (* "*") (identifier "puVar1")) (; ";")) (declaration "byte bVar2;" (type_identifier "byte") (identifier "bVar2") (; ";")) (declaration "uint uVar3;" (type_identifier "uint") (identifier "uVar3") (; ";")) (declaration "int iVar4;" (primitive_type "int") (identifier "iVar4") (; ";")) (declaration "uint uVar5;" (type_identifier "uint") (identifier "uVar5") (; ";")) (declaration "int iVar6;" (primitive_type "int") (identifier "iVar6") (; ";")) (declaration "uint uVar7;" (type_identifier "uint") (identifier "uVar7") (; ";")) (declaration "byte *pbVar8;" (type_identifier "byte") (pointer_declarator "*pbVar8" (* "*") (identifier "pbVar8")) (; ";")) (declaration "undefined4 uVar9;" (type_identifier "undefined4") (identifier "uVar9") (; ";")) (declaration "uint uVar10;" (type_identifier "uint") (identifier "uVar10") (; ";")) (declaration "uint uVar11;" (type_identifier "uint") (identifier "uVar11") (; ";")) (expression_statement "iVar4 = FUN_00038ac0(*(undefined4 *)(param_1 + 0x28));" (assignment_expression "iVar4 = FUN_00038ac0(*(undefined4 *)(param_1 + 0x28))" (identifier "iVar4") (= "=") (call_expression "FUN_00038ac0(*(undefined4 *)(param_1 + 0x28))" (identifier "FUN_00038ac0") (argument_list "(*(undefined4 *)(param_1 + 0x28))" (( "(") (pointer_expression "*(undefined4 *)(param_1 + 0x28)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x28)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x28)" (( "(") (binary_expression "param_1 + 0x28" (identifier "param_1") (+ "+") (number_literal "0x28")) () ")")))) () ")")))) (; ";")) (if_statement "if (iVar4 == param_2) {\n    iVar4 = *(int *)(param_1 + 0x1c);\n    uVar9 = *(undefined4 *)(param_1 + 0x28);\n    uVar10 = *(uint *)(param_1 + 0x18);\n    iVar6 = FUN_0003bdf0(uVar9);\n    if ((*(byte *)(iVar6 + 0x12) & 0x40) == 0) {\n      iVar6 = FUN_00038510(uVar9);\n      if (iVar6 == 0) {\n        iVar6 = FUN_00038580(uVar9);\n      }\n      else {\n        uVar7 = FUN_00054410(uVar9);\n        if ((uVar7 & 3) != 0) goto LAB_000517c4;\n        iVar6 = DAT_00088ef8;\n        if (iVar4 != 0 || (uVar10 ^ 0x47) != 0) {\n          if ((uVar10 != 0x165) && (uVar10 != 0x17e)) {\n                    \n            FUN_0002be80("../../gas/config/tc-i386.c",0x25ed,"elf_symbol_resolved_in_segment_p",\n                         uVar10 ^ 0x47);\n          }\n          goto LAB_0005160b;\n        }\n      }\n      if (iVar6 == 0) {\nLAB_000517c4:\n        return (uint)(byte)(&DAT_00065570)[*(int *)(param_1 + 0x48) * 0x18];\n      }\n    }\n  }" (if "if") (parenthesized_expression "(iVar4 == param_2)" (( "(") (binary_expression "iVar4 == param_2" (identifier "iVar4") (== "==") (identifier "param_2")) () ")")) (compound_statement "{\n    iVar4 = *(int *)(param_1 + 0x1c);\n    uVar9 = *(undefined4 *)(param_1 + 0x28);\n    uVar10 = *(uint *)(param_1 + 0x18);\n    iVar6 = FUN_0003bdf0(uVar9);\n    if ((*(byte *)(iVar6 + 0x12) & 0x40) == 0) {\n      iVar6 = FUN_00038510(uVar9);\n      if (iVar6 == 0) {\n        iVar6 = FUN_00038580(uVar9);\n      }\n      else {\n        uVar7 = FUN_00054410(uVar9);\n        if ((uVar7 & 3) != 0) goto LAB_000517c4;\n        iVar6 = DAT_00088ef8;\n        if (iVar4 != 0 || (uVar10 ^ 0x47) != 0) {\n          if ((uVar10 != 0x165) && (uVar10 != 0x17e)) {\n                    \n            FUN_0002be80("../../gas/config/tc-i386.c",0x25ed,"elf_symbol_resolved_in_segment_p",\n                         uVar10 ^ 0x47);\n          }\n          goto LAB_0005160b;\n        }\n      }\n      if (iVar6 == 0) {\nLAB_000517c4:\n        return (uint)(byte)(&DAT_00065570)[*(int *)(param_1 + 0x48) * 0x18];\n      }\n    }\n  }" ({ "{") (expression_statement "iVar4 = *(int *)(param_1 + 0x1c);" (assignment_expression "iVar4 = *(int *)(param_1 + 0x1c)" (identifier "iVar4") (= "=") (pointer_expression "*(int *)(param_1 + 0x1c)" (* "*") (cast_expression "(int *)(param_1 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1c)" (( "(") (binary_expression "param_1 + 0x1c" (identifier "param_1") (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (expression_statement "uVar9 = *(undefined4 *)(param_1 + 0x28);" (assignment_expression "uVar9 = *(undefined4 *)(param_1 + 0x28)" (identifier "uVar9") (= "=") (pointer_expression "*(undefined4 *)(param_1 + 0x28)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x28)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x28)" (( "(") (binary_expression "param_1 + 0x28" (identifier "param_1") (+ "+") (number_literal "0x28")) () ")"))))) (; ";")) (expression_statement "uVar10 = *(uint *)(param_1 + 0x18);" (assignment_expression "uVar10 = *(uint *)(param_1 + 0x18)" (identifier "uVar10") (= "=") (pointer_expression "*(uint *)(param_1 + 0x18)" (* "*") (cast_expression "(uint *)(param_1 + 0x18)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x18)" (( "(") (binary_expression "param_1 + 0x18" (identifier "param_1") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (expression_statement "iVar6 = FUN_0003bdf0(uVar9);" (assignment_expression "iVar6 = FUN_0003bdf0(uVar9)" (identifier "iVar6") (= "=") (call_expression "FUN_0003bdf0(uVar9)" (identifier "FUN_0003bdf0") (argument_list "(uVar9)" (( "(") (identifier "uVar9") () ")")))) (; ";")) (if_statement "if ((*(byte *)(iVar6 + 0x12) & 0x40) == 0) {\n      iVar6 = FUN_00038510(uVar9);\n      if (iVar6 == 0) {\n        iVar6 = FUN_00038580(uVar9);\n      }\n      else {\n        uVar7 = FUN_00054410(uVar9);\n        if ((uVar7 & 3) != 0) goto LAB_000517c4;\n        iVar6 = DAT_00088ef8;\n        if (iVar4 != 0 || (uVar10 ^ 0x47) != 0) {\n          if ((uVar10 != 0x165) && (uVar10 != 0x17e)) {\n                    \n            FUN_0002be80("../../gas/config/tc-i386.c",0x25ed,"elf_symbol_resolved_in_segment_p",\n                         uVar10 ^ 0x47);\n          }\n          goto LAB_0005160b;\n        }\n      }\n      if (iVar6 == 0) {\nLAB_000517c4:\n        return (uint)(byte)(&DAT_00065570)[*(int *)(param_1 + 0x48) * 0x18];\n      }\n    }" (if "if") (parenthesized_expression "((*(byte *)(iVar6 + 0x12) & 0x40) == 0)" (( "(") (binary_expression "(*(byte *)(iVar6 + 0x12) & 0x40) == 0" (parenthesized_expression "(*(byte *)(iVar6 + 0x12) & 0x40)" (( "(") (binary_expression "*(byte *)(iVar6 + 0x12) & 0x40" (pointer_expression "*(byte *)(iVar6 + 0x12)" (* "*") (cast_expression "(byte *)(iVar6 + 0x12)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x12)" (( "(") (binary_expression "iVar6 + 0x12" (identifier "iVar6") (+ "+") (number_literal "0x12")) () ")")))) (& "&") (number_literal "0x40")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      iVar6 = FUN_00038510(uVar9);\n      if (iVar6 == 0) {\n        iVar6 = FUN_00038580(uVar9);\n      }\n      else {\n        uVar7 = FUN_00054410(uVar9);\n        if ((uVar7 & 3) != 0) goto LAB_000517c4;\n        iVar6 = DAT_00088ef8;\n        if (iVar4 != 0 || (uVar10 ^ 0x47) != 0) {\n          if ((uVar10 != 0x165) && (uVar10 != 0x17e)) {\n                    \n            FUN_0002be80("../../gas/config/tc-i386.c",0x25ed,"elf_symbol_resolved_in_segment_p",\n                         uVar10 ^ 0x47);\n          }\n          goto LAB_0005160b;\n        }\n      }\n      if (iVar6 == 0) {\nLAB_000517c4:\n        return (uint)(byte)(&DAT_00065570)[*(int *)(param_1 + 0x48) * 0x18];\n      }\n    }" ({ "{") (expression_statement "iVar6 = FUN_00038510(uVar9);" (assignment_expression "iVar6 = FUN_00038510(uVar9)" (identifier "iVar6") (= "=") (call_expression "FUN_00038510(uVar9)" (identifier "FUN_00038510") (argument_list "(uVar9)" (( "(") (identifier "uVar9") () ")")))) (; ";")) (if_statement "if (iVar6 == 0) {\n        iVar6 = FUN_00038580(uVar9);\n      }\n      else {\n        uVar7 = FUN_00054410(uVar9);\n        if ((uVar7 & 3) != 0) goto LAB_000517c4;\n        iVar6 = DAT_00088ef8;\n        if (iVar4 != 0 || (uVar10 ^ 0x47) != 0) {\n          if ((uVar10 != 0x165) && (uVar10 != 0x17e)) {\n                    \n            FUN_0002be80("../../gas/config/tc-i386.c",0x25ed,"elf_symbol_resolved_in_segment_p",\n                         uVar10 ^ 0x47);\n          }\n          goto LAB_0005160b;\n        }\n      }" (if "if") (parenthesized_expression "(iVar6 == 0)" (( "(") (binary_expression "iVar6 == 0" (identifier "iVar6") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        iVar6 = FUN_00038580(uVar9);\n      }" ({ "{") (expression_statement "iVar6 = FUN_00038580(uVar9);" (assignment_expression "iVar6 = FUN_00038580(uVar9)" (identifier "iVar6") (= "=") (call_expression "FUN_00038580(uVar9)" (identifier "FUN_00038580") (argument_list "(uVar9)" (( "(") (identifier "uVar9") () ")")))) (; ";")) (} "}")) (else_clause "else {\n        uVar7 = FUN_00054410(uVar9);\n        if ((uVar7 & 3) != 0) goto LAB_000517c4;\n        iVar6 = DAT_00088ef8;\n        if (iVar4 != 0 || (uVar10 ^ 0x47) != 0) {\n          if ((uVar10 != 0x165) && (uVar10 != 0x17e)) {\n                    \n            FUN_0002be80("../../gas/config/tc-i386.c",0x25ed,"elf_symbol_resolved_in_segment_p",\n                         uVar10 ^ 0x47);\n          }\n          goto LAB_0005160b;\n        }\n      }" (else "else") (compound_statement "{\n        uVar7 = FUN_00054410(uVar9);\n        if ((uVar7 & 3) != 0) goto LAB_000517c4;\n        iVar6 = DAT_00088ef8;\n        if (iVar4 != 0 || (uVar10 ^ 0x47) != 0) {\n          if ((uVar10 != 0x165) && (uVar10 != 0x17e)) {\n                    \n            FUN_0002be80("../../gas/config/tc-i386.c",0x25ed,"elf_symbol_resolved_in_segment_p",\n                         uVar10 ^ 0x47);\n          }\n          goto LAB_0005160b;\n        }\n      }" ({ "{") (expression_statement "uVar7 = FUN_00054410(uVar9);" (assignment_expression "uVar7 = FUN_00054410(uVar9)" (identifier "uVar7") (= "=") (call_expression "FUN_00054410(uVar9)" (identifier "FUN_00054410") (argument_list "(uVar9)" (( "(") (identifier "uVar9") () ")")))) (; ";")) (if_statement "if ((uVar7 & 3) != 0) goto LAB_000517c4;" (if "if") (parenthesized_expression "((uVar7 & 3) != 0)" (( "(") (binary_expression "(uVar7 & 3) != 0" (parenthesized_expression "(uVar7 & 3)" (( "(") (binary_expression "uVar7 & 3" (identifier "uVar7") (& "&") (number_literal "3")) () ")")) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_000517c4;" (goto "goto") (statement_identifier "LAB_000517c4") (; ";"))) (expression_statement "iVar6 = DAT_00088ef8;" (assignment_expression "iVar6 = DAT_00088ef8" (identifier "iVar6") (= "=") (identifier "DAT_00088ef8")) (; ";")) (if_statement "if (iVar4 != 0 || (uVar10 ^ 0x47) != 0) {\n          if ((uVar10 != 0x165) && (uVar10 != 0x17e)) {\n                    \n            FUN_0002be80("../../gas/config/tc-i386.c",0x25ed,"elf_symbol_resolved_in_segment_p",\n                         uVar10 ^ 0x47);\n          }\n          goto LAB_0005160b;\n        }" (if "if") (parenthesized_expression "(iVar4 != 0 || (uVar10 ^ 0x47) != 0)" (( "(") (binary_expression "iVar4 != 0 || (uVar10 ^ 0x47) != 0" (binary_expression "iVar4 != 0" (identifier "iVar4") (!= "!=") (number_literal "0")) (|| "||") (binary_expression "(uVar10 ^ 0x47) != 0" (parenthesized_expression "(uVar10 ^ 0x47)" (( "(") (binary_expression "uVar10 ^ 0x47" (identifier "uVar10") (^ "^") (number_literal "0x47")) () ")")) (!= "!=") (number_literal "0"))) () ")")) (compound_statement "{\n          if ((uVar10 != 0x165) && (uVar10 != 0x17e)) {\n                    \n            FUN_0002be80("../../gas/config/tc-i386.c",0x25ed,"elf_symbol_resolved_in_segment_p",\n                         uVar10 ^ 0x47);\n          }\n          goto LAB_0005160b;\n        }" ({ "{") (if_statement "if ((uVar10 != 0x165) && (uVar10 != 0x17e)) {\n                    \n            FUN_0002be80("../../gas/config/tc-i386.c",0x25ed,"elf_symbol_resolved_in_segment_p",\n                         uVar10 ^ 0x47);\n          }" (if "if") (parenthesized_expression "((uVar10 != 0x165) && (uVar10 != 0x17e))" (( "(") (binary_expression "(uVar10 != 0x165) && (uVar10 != 0x17e)" (parenthesized_expression "(uVar10 != 0x165)" (( "(") (binary_expression "uVar10 != 0x165" (identifier "uVar10") (!= "!=") (number_literal "0x165")) () ")")) (&& "&&") (parenthesized_expression "(uVar10 != 0x17e)" (( "(") (binary_expression "uVar10 != 0x17e" (identifier "uVar10") (!= "!=") (number_literal "0x17e")) () ")"))) () ")")) (compound_statement "{\n                    \n            FUN_0002be80("../../gas/config/tc-i386.c",0x25ed,"elf_symbol_resolved_in_segment_p",\n                         uVar10 ^ 0x47);\n          }" ({ "{") (expression_statement "FUN_0002be80("../../gas/config/tc-i386.c",0x25ed,"elf_symbol_resolved_in_segment_p",\n                         uVar10 ^ 0x47);" (call_expression "FUN_0002be80("../../gas/config/tc-i386.c",0x25ed,"elf_symbol_resolved_in_segment_p",\n                         uVar10 ^ 0x47)" (identifier "FUN_0002be80") (argument_list "("../../gas/config/tc-i386.c",0x25ed,"elf_symbol_resolved_in_segment_p",\n                         uVar10 ^ 0x47)" (( "(") (string_literal ""../../gas/config/tc-i386.c"" (" """) (string_content "../../gas/config/tc-i386.c") (" """)) (, ",") (number_literal "0x25ed") (, ",") (string_literal ""elf_symbol_resolved_in_segment_p"" (" """) (string_content "elf_symbol_resolved_in_segment_p") (" """)) (, ",") (binary_expression "uVar10 ^ 0x47" (identifier "uVar10") (^ "^") (number_literal "0x47")) () ")"))) (; ";")) (} "}"))) (goto_statement "goto LAB_0005160b;" (goto "goto") (statement_identifier "LAB_0005160b") (; ";")) (} "}"))) (} "}")))) (if_statement "if (iVar6 == 0) {\nLAB_000517c4:\n        return (uint)(byte)(&DAT_00065570)[*(int *)(param_1 + 0x48) * 0x18];\n      }" (if "if") (parenthesized_expression "(iVar6 == 0)" (( "(") (binary_expression "iVar6 == 0" (identifier "iVar6") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_000517c4:\n        return (uint)(byte)(&DAT_00065570)[*(int *)(param_1 + 0x48) * 0x18];\n      }" ({ "{") (labeled_statement "LAB_000517c4:\n        return (uint)(byte)(&DAT_00065570)[*(int *)(param_1 + 0x48) * 0x18];" (statement_identifier "LAB_000517c4") (: ":") (return_statement "return (uint)(byte)(&DAT_00065570)[*(int *)(param_1 + 0x48) * 0x18];" (return "return") (subscript_expression "(uint)(byte)(&DAT_00065570)[*(int *)(param_1 + 0x48) * 0x18]" (call_expression "(uint)(byte)(&DAT_00065570)" (call_expression "(uint)(byte)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(byte)" (( "(") (identifier "byte") () ")"))) (argument_list "(&DAT_00065570)" (( "(") (pointer_expression "&DAT_00065570" (& "&") (identifier "DAT_00065570")) () ")"))) ([ "[") (binary_expression "*(int *)(param_1 + 0x48) * 0x18" (pointer_expression "*(int *)(param_1 + 0x48)" (* "*") (cast_expression "(int *)(param_1 + 0x48)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x48)" (( "(") (binary_expression "param_1 + 0x48" (identifier "param_1") (+ "+") (number_literal "0x48")) () ")")))) (* "*") (number_literal "0x18")) (] "]")) (; ";"))) (} "}"))) (} "}"))) (} "}"))) (labeled_statement "LAB_0005160b:\n  uVar10 = *(uint *)(param_1 + 0x18);" (statement_identifier "LAB_0005160b") (: ":") (expression_statement "uVar10 = *(uint *)(param_1 + 0x18);" (assignment_expression "uVar10 = *(uint *)(param_1 + 0x18)" (identifier "uVar10") (= "=") (pointer_expression "*(uint *)(param_1 + 0x18)" (* "*") (cast_expression "(uint *)(param_1 + 0x18)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x18)" (( "(") (binary_expression "param_1 + 0x18" (identifier "param_1") (+ "+") (number_literal "0x18")) () ")"))))) (; ";"))) (expression_statement "uVar7 = *(uint *)(param_1 + 0x48);" (assignment_expression "uVar7 = *(uint *)(param_1 + 0x48)" (identifier "uVar7") (= "=") (pointer_expression "*(uint *)(param_1 + 0x48)" (* "*") (cast_expression "(uint *)(param_1 + 0x48)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x48)" (( "(") (binary_expression "param_1 + 0x48" (identifier "param_1") (+ "+") (number_literal "0x48")) () ")"))))) (; ";")) (if_statement "if ((uVar7 & 1) == 0) {\n    uVar11 = 4;\n    if (*(int *)(param_1 + 0x1c) == 0 && (uVar10 ^ 0x47) == 0) {\n      iVar4 = FUN_00047710();\n      uVar7 = *(uint *)(param_1 + 0x48);\n      uVar10 = 0x17e;\n      if (iVar4 == 0) {\n        uVar10 = 9;\n      }\n    }\n  }\n  else {\n    uVar11 = 2;\n    if (*(int *)(param_1 + 0x1c) == 0 && (uVar10 ^ 0x47) == 0) {\n      uVar10 = 0xb;\n    }\n  }" (if "if") (parenthesized_expression "((uVar7 & 1) == 0)" (( "(") (binary_expression "(uVar7 & 1) == 0" (parenthesized_expression "(uVar7 & 1)" (( "(") (binary_expression "uVar7 & 1" (identifier "uVar7") (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    uVar11 = 4;\n    if (*(int *)(param_1 + 0x1c) == 0 && (uVar10 ^ 0x47) == 0) {\n      iVar4 = FUN_00047710();\n      uVar7 = *(uint *)(param_1 + 0x48);\n      uVar10 = 0x17e;\n      if (iVar4 == 0) {\n        uVar10 = 9;\n      }\n    }\n  }" ({ "{") (expression_statement "uVar11 = 4;" (assignment_expression "uVar11 = 4" (identifier "uVar11") (= "=") (number_literal "4")) (; ";")) (if_statement "if (*(int *)(param_1 + 0x1c) == 0 && (uVar10 ^ 0x47) == 0) {\n      iVar4 = FUN_00047710();\n      uVar7 = *(uint *)(param_1 + 0x48);\n      uVar10 = 0x17e;\n      if (iVar4 == 0) {\n        uVar10 = 9;\n      }\n    }" (if "if") (parenthesized_expression "(*(int *)(param_1 + 0x1c) == 0 && (uVar10 ^ 0x47) == 0)" (( "(") (binary_expression "*(int *)(param_1 + 0x1c) == 0 && (uVar10 ^ 0x47) == 0" (binary_expression "*(int *)(param_1 + 0x1c) == 0" (pointer_expression "*(int *)(param_1 + 0x1c)" (* "*") (cast_expression "(int *)(param_1 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1c)" (( "(") (binary_expression "param_1 + 0x1c" (identifier "param_1") (+ "+") (number_literal "0x1c")) () ")")))) (== "==") (number_literal "0")) (&& "&&") (binary_expression "(uVar10 ^ 0x47) == 0" (parenthesized_expression "(uVar10 ^ 0x47)" (( "(") (binary_expression "uVar10 ^ 0x47" (identifier "uVar10") (^ "^") (number_literal "0x47")) () ")")) (== "==") (number_literal "0"))) () ")")) (compound_statement "{\n      iVar4 = FUN_00047710();\n      uVar7 = *(uint *)(param_1 + 0x48);\n      uVar10 = 0x17e;\n      if (iVar4 == 0) {\n        uVar10 = 9;\n      }\n    }" ({ "{") (expression_statement "iVar4 = FUN_00047710();" (assignment_expression "iVar4 = FUN_00047710()" (identifier "iVar4") (= "=") (call_expression "FUN_00047710()" (identifier "FUN_00047710") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "uVar7 = *(uint *)(param_1 + 0x48);" (assignment_expression "uVar7 = *(uint *)(param_1 + 0x48)" (identifier "uVar7") (= "=") (pointer_expression "*(uint *)(param_1 + 0x48)" (* "*") (cast_expression "(uint *)(param_1 + 0x48)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x48)" (( "(") (binary_expression "param_1 + 0x48" (identifier "param_1") (+ "+") (number_literal "0x48")) () ")"))))) (; ";")) (expression_statement "uVar10 = 0x17e;" (assignment_expression "uVar10 = 0x17e" (identifier "uVar10") (= "=") (number_literal "0x17e")) (; ";")) (if_statement "if (iVar4 == 0) {\n        uVar10 = 9;\n      }" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        uVar10 = 9;\n      }" ({ "{") (expression_statement "uVar10 = 9;" (assignment_expression "uVar10 = 9" (identifier "uVar10") (= "=") (number_literal "9")) (; ";")) (} "}"))) (} "}"))) (} "}")) (else_clause "else {\n    uVar11 = 2;\n    if (*(int *)(param_1 + 0x1c) == 0 && (uVar10 ^ 0x47) == 0) {\n      uVar10 = 0xb;\n    }\n  }" (else "else") (compound_statement "{\n    uVar11 = 2;\n    if (*(int *)(param_1 + 0x1c) == 0 && (uVar10 ^ 0x47) == 0) {\n      uVar10 = 0xb;\n    }\n  }" ({ "{") (expression_statement "uVar11 = 2;" (assignment_expression "uVar11 = 2" (identifier "uVar11") (= "=") (number_literal "2")) (; ";")) (if_statement "if (*(int *)(param_1 + 0x1c) == 0 && (uVar10 ^ 0x47) == 0) {\n      uVar10 = 0xb;\n    }" (if "if") (parenthesized_expression "(*(int *)(param_1 + 0x1c) == 0 && (uVar10 ^ 0x47) == 0)" (( "(") (binary_expression "*(int *)(param_1 + 0x1c) == 0 && (uVar10 ^ 0x47) == 0" (binary_expression "*(int *)(param_1 + 0x1c) == 0" (pointer_expression "*(int *)(param_1 + 0x1c)" (* "*") (cast_expression "(int *)(param_1 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1c)" (( "(") (binary_expression "param_1 + 0x1c" (identifier "param_1") (+ "+") (number_literal "0x1c")) () ")")))) (== "==") (number_literal "0")) (&& "&&") (binary_expression "(uVar10 ^ 0x47) == 0" (parenthesized_expression "(uVar10 ^ 0x47)" (( "(") (binary_expression "uVar10 ^ 0x47" (identifier "uVar10") (^ "^") (number_literal "0x47")) () ")")) (== "==") (number_literal "0"))) () ")")) (compound_statement "{\n      uVar10 = 0xb;\n    }" ({ "{") (expression_statement "uVar10 = 0xb;" (assignment_expression "uVar10 = 0xb" (identifier "uVar10") (= "=") (number_literal "0xb")) (; ";")) (} "}"))) (} "}")))) (expression_statement "uVar3 = *(uint *)(param_1 + 0x10);" (assignment_expression "uVar3 = *(uint *)(param_1 + 0x10)" (identifier "uVar3") (= "=") (pointer_expression "*(uint *)(param_1 + 0x10)" (* "*") (cast_expression "(uint *)(param_1 + 0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x10)" (( "(") (binary_expression "param_1 + 0x10" (identifier "param_1") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "uVar5 = uVar7 >> 2;" (assignment_expression "uVar5 = uVar7 >> 2" (identifier "uVar5") (= "=") (binary_expression "uVar7 >> 2" (identifier "uVar7") (>> ">>") (number_literal "2"))) (; ";")) (expression_statement "pbVar8 = *(byte **)(param_1 + 0x2c);" (assignment_expression "pbVar8 = *(byte **)(param_1 + 0x2c)" (identifier "pbVar8") (= "=") (pointer_expression "*(byte **)(param_1 + 0x2c)" (* "*") (cast_expression "(byte **)(param_1 + 0x2c)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x2c)" (( "(") (binary_expression "param_1 + 0x2c" (identifier "param_1") (+ "+") (number_literal "0x2c")) () ")"))))) (; ";")) (if_statement "if (uVar5 == 1) {\nLAB_000516c8:\n    if ((DAT_00088ea0 == 0) || (*(int *)(param_1 + 0x18) != 0x47 || *(int *)(param_1 + 0x1c) != 0))\n    {\n      bVar2 = *pbVar8;\n      *pbVar8 = 0xf;\n      pbVar8[1] = bVar2 + 0x10;\n      puVar1 = (uint *)(param_1 + 0x10);\n      uVar7 = *puVar1;\n      *puVar1 = *puVar1 + uVar11 + 1;\n      *(int *)(param_1 + 0x14) = *(int *)(param_1 + 0x14) + (uint)CARRY4(uVar7,uVar11 + 1);\n      FUN_0003ebc0(param_1,uVar3 + 1,uVar11,*(undefined4 *)(param_1 + 0x28),\n                   *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),1,uVar10);\n      goto LAB_0005167a;\n    }\n  }\n  else {\n    if (uVar5 == 0) {\n      *pbVar8 = 0xe9;\n      puVar1 = (uint *)(param_1 + 0x10);\n      uVar7 = *puVar1;\n      *puVar1 = *puVar1 + uVar11;\n      *(int *)(param_1 + 0x14) = *(int *)(param_1 + 0x14) + (uint)CARRY4(uVar7,uVar11);\n      FUN_0003ebc0(param_1,uVar3,uVar11,*(undefined4 *)(param_1 + 0x28),\n                   *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),1,uVar10);\n      goto LAB_0005167a;\n    }\n    if (uVar5 != 2) {\n      uVar9 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5,uVar5);\n                    \n      FUN_0002be00(uVar9,uVar7,0x2667,"../../gas/config/tc-i386.c");\n    }\n    if (uVar11 != 2) goto LAB_000516c8;\n    if ((DAT_00088ea0 == 0) || (*(int *)(param_1 + 0x18) != 0x47 || *(int *)(param_1 + 0x1c) != 0))\n    {\n      *pbVar8 = *pbVar8 ^ 1;\n      pbVar8[1] = 3;\n      pbVar8[2] = 0xe9;\n      puVar1 = (uint *)(param_1 + 0x10);\n      uVar7 = *puVar1;\n      *puVar1 = *puVar1 + 4;\n      *(int *)(param_1 + 0x14) = *(int *)(param_1 + 0x14) + (uint)(0xfffffffb < uVar7);\n      FUN_0003ebc0(param_1,uVar3 + 2,2,*(undefined4 *)(param_1 + 0x28),\n                   *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),1,uVar10);\n      goto LAB_0005167a;\n    }\n  }" (if "if") (parenthesized_expression "(uVar5 == 1)" (( "(") (binary_expression "uVar5 == 1" (identifier "uVar5") (== "==") (number_literal "1")) () ")")) (compound_statement "{\nLAB_000516c8:\n    if ((DAT_00088ea0 == 0) || (*(int *)(param_1 + 0x18) != 0x47 || *(int *)(param_1 + 0x1c) != 0))\n    {\n      bVar2 = *pbVar8;\n      *pbVar8 = 0xf;\n      pbVar8[1] = bVar2 + 0x10;\n      puVar1 = (uint *)(param_1 + 0x10);\n      uVar7 = *puVar1;\n      *puVar1 = *puVar1 + uVar11 + 1;\n      *(int *)(param_1 + 0x14) = *(int *)(param_1 + 0x14) + (uint)CARRY4(uVar7,uVar11 + 1);\n      FUN_0003ebc0(param_1,uVar3 + 1,uVar11,*(undefined4 *)(param_1 + 0x28),\n                   *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),1,uVar10);\n      goto LAB_0005167a;\n    }\n  }" ({ "{") (labeled_statement "LAB_000516c8:\n    if ((DAT_00088ea0 == 0) || (*(int *)(param_1 + 0x18) != 0x47 || *(int *)(param_1 + 0x1c) != 0))\n    {\n      bVar2 = *pbVar8;\n      *pbVar8 = 0xf;\n      pbVar8[1] = bVar2 + 0x10;\n      puVar1 = (uint *)(param_1 + 0x10);\n      uVar7 = *puVar1;\n      *puVar1 = *puVar1 + uVar11 + 1;\n      *(int *)(param_1 + 0x14) = *(int *)(param_1 + 0x14) + (uint)CARRY4(uVar7,uVar11 + 1);\n      FUN_0003ebc0(param_1,uVar3 + 1,uVar11,*(undefined4 *)(param_1 + 0x28),\n                   *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),1,uVar10);\n      goto LAB_0005167a;\n    }" (statement_identifier "LAB_000516c8") (: ":") (if_statement "if ((DAT_00088ea0 == 0) || (*(int *)(param_1 + 0x18) != 0x47 || *(int *)(param_1 + 0x1c) != 0))\n    {\n      bVar2 = *pbVar8;\n      *pbVar8 = 0xf;\n      pbVar8[1] = bVar2 + 0x10;\n      puVar1 = (uint *)(param_1 + 0x10);\n      uVar7 = *puVar1;\n      *puVar1 = *puVar1 + uVar11 + 1;\n      *(int *)(param_1 + 0x14) = *(int *)(param_1 + 0x14) + (uint)CARRY4(uVar7,uVar11 + 1);\n      FUN_0003ebc0(param_1,uVar3 + 1,uVar11,*(undefined4 *)(param_1 + 0x28),\n                   *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),1,uVar10);\n      goto LAB_0005167a;\n    }" (if "if") (parenthesized_expression "((DAT_00088ea0 == 0) || (*(int *)(param_1 + 0x18) != 0x47 || *(int *)(param_1 + 0x1c) != 0))" (( "(") (binary_expression "(DAT_00088ea0 == 0) || (*(int *)(param_1 + 0x18) != 0x47 || *(int *)(param_1 + 0x1c) != 0)" (parenthesized_expression "(DAT_00088ea0 == 0)" (( "(") (binary_expression "DAT_00088ea0 == 0" (identifier "DAT_00088ea0") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(*(int *)(param_1 + 0x18) != 0x47 || *(int *)(param_1 + 0x1c) != 0)" (( "(") (binary_expression "*(int *)(param_1 + 0x18) != 0x47 || *(int *)(param_1 + 0x1c) != 0" (binary_expression "*(int *)(param_1 + 0x18) != 0x47" (pointer_expression "*(int *)(param_1 + 0x18)" (* "*") (cast_expression "(int *)(param_1 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x18)" (( "(") (binary_expression "param_1 + 0x18" (identifier "param_1") (+ "+") (number_literal "0x18")) () ")")))) (!= "!=") (number_literal "0x47")) (|| "||") (binary_expression "*(int *)(param_1 + 0x1c) != 0" (pointer_expression "*(int *)(param_1 + 0x1c)" (* "*") (cast_expression "(int *)(param_1 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1c)" (( "(") (binary_expression "param_1 + 0x1c" (identifier "param_1") (+ "+") (number_literal "0x1c")) () ")")))) (!= "!=") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n      bVar2 = *pbVar8;\n      *pbVar8 = 0xf;\n      pbVar8[1] = bVar2 + 0x10;\n      puVar1 = (uint *)(param_1 + 0x10);\n      uVar7 = *puVar1;\n      *puVar1 = *puVar1 + uVar11 + 1;\n      *(int *)(param_1 + 0x14) = *(int *)(param_1 + 0x14) + (uint)CARRY4(uVar7,uVar11 + 1);\n      FUN_0003ebc0(param_1,uVar3 + 1,uVar11,*(undefined4 *)(param_1 + 0x28),\n                   *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),1,uVar10);\n      goto LAB_0005167a;\n    }" ({ "{") (expression_statement "bVar2 = *pbVar8;" (assignment_expression "bVar2 = *pbVar8" (identifier "bVar2") (= "=") (pointer_expression "*pbVar8" (* "*") (identifier "pbVar8"))) (; ";")) (expression_statement "*pbVar8 = 0xf;" (assignment_expression "*pbVar8 = 0xf" (pointer_expression "*pbVar8" (* "*") (identifier "pbVar8")) (= "=") (number_literal "0xf")) (; ";")) (expression_statement "pbVar8[1] = bVar2 + 0x10;" (assignment_expression "pbVar8[1] = bVar2 + 0x10" (subscript_expression "pbVar8[1]" (identifier "pbVar8") ([ "[") (number_literal "1") (] "]")) (= "=") (binary_expression "bVar2 + 0x10" (identifier "bVar2") (+ "+") (number_literal "0x10"))) (; ";")) (expression_statement "puVar1 = (uint *)(param_1 + 0x10);" (assignment_expression "puVar1 = (uint *)(param_1 + 0x10)" (identifier "puVar1") (= "=") (cast_expression "(uint *)(param_1 + 0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x10)" (( "(") (binary_expression "param_1 + 0x10" (identifier "param_1") (+ "+") (number_literal "0x10")) () ")")))) (; ";")) (expression_statement "uVar7 = *puVar1;" (assignment_expression "uVar7 = *puVar1" (identifier "uVar7") (= "=") (pointer_expression "*puVar1" (* "*") (identifier "puVar1"))) (; ";")) (expression_statement "*puVar1 = *puVar1 + uVar11 + 1;" (assignment_expression "*puVar1 = *puVar1 + uVar11 + 1" (pointer_expression "*puVar1" (* "*") (identifier "puVar1")) (= "=") (binary_expression "*puVar1 + uVar11 + 1" (binary_expression "*puVar1 + uVar11" (pointer_expression "*puVar1" (* "*") (identifier "puVar1")) (+ "+") (identifier "uVar11")) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*(int *)(param_1 + 0x14) = *(int *)(param_1 + 0x14) + (uint)CARRY4(uVar7,uVar11 + 1);" (assignment_expression "*(int *)(param_1 + 0x14) = *(int *)(param_1 + 0x14) + (uint)CARRY4(uVar7,uVar11 + 1)" (pointer_expression "*(int *)(param_1 + 0x14)" (* "*") (cast_expression "(int *)(param_1 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x14)" (( "(") (binary_expression "param_1 + 0x14" (identifier "param_1") (+ "+") (number_literal "0x14")) () ")")))) (= "=") (binary_expression "*(int *)(param_1 + 0x14) + (uint)CARRY4(uVar7,uVar11 + 1)" (pointer_expression "*(int *)(param_1 + 0x14)" (* "*") (cast_expression "(int *)(param_1 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x14)" (( "(") (binary_expression "param_1 + 0x14" (identifier "param_1") (+ "+") (number_literal "0x14")) () ")")))) (+ "+") (cast_expression "(uint)CARRY4(uVar7,uVar11 + 1)" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (call_expression "CARRY4(uVar7,uVar11 + 1)" (identifier "CARRY4") (argument_list "(uVar7,uVar11 + 1)" (( "(") (identifier "uVar7") (, ",") (binary_expression "uVar11 + 1" (identifier "uVar11") (+ "+") (number_literal "1")) () ")")))))) (; ";")) (expression_statement "FUN_0003ebc0(param_1,uVar3 + 1,uVar11,*(undefined4 *)(param_1 + 0x28),\n                   *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),1,uVar10);" (call_expression "FUN_0003ebc0(param_1,uVar3 + 1,uVar11,*(undefined4 *)(param_1 + 0x28),\n                   *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),1,uVar10)" (identifier "FUN_0003ebc0") (argument_list "(param_1,uVar3 + 1,uVar11,*(undefined4 *)(param_1 + 0x28),\n                   *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),1,uVar10)" (( "(") (identifier "param_1") (, ",") (binary_expression "uVar3 + 1" (identifier "uVar3") (+ "+") (number_literal "1")) (, ",") (identifier "uVar11") (, ",") (pointer_expression "*(undefined4 *)(param_1 + 0x28)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x28)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x28)" (( "(") (binary_expression "param_1 + 0x28" (identifier "param_1") (+ "+") (number_literal "0x28")) () ")")))) (, ",") (pointer_expression "*(undefined4 *)(param_1 + 0x20)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x20)" (( "(") (binary_expression "param_1 + 0x20" (identifier "param_1") (+ "+") (number_literal "0x20")) () ")")))) (, ",") (pointer_expression "*(undefined4 *)(param_1 + 0x24)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x24)" (( "(") (binary_expression "param_1 + 0x24" (identifier "param_1") (+ "+") (number_literal "0x24")) () ")")))) (, ",") (number_literal "1") (, ",") (identifier "uVar10") () ")"))) (; ";")) (goto_statement "goto LAB_0005167a;" (goto "goto") (statement_identifier "LAB_0005167a") (; ";")) (} "}")))) (} "}")) (else_clause "else {\n    if (uVar5 == 0) {\n      *pbVar8 = 0xe9;\n      puVar1 = (uint *)(param_1 + 0x10);\n      uVar7 = *puVar1;\n      *puVar1 = *puVar1 + uVar11;\n      *(int *)(param_1 + 0x14) = *(int *)(param_1 + 0x14) + (uint)CARRY4(uVar7,uVar11);\n      FUN_0003ebc0(param_1,uVar3,uVar11,*(undefined4 *)(param_1 + 0x28),\n                   *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),1,uVar10);\n      goto LAB_0005167a;\n    }\n    if (uVar5 != 2) {\n      uVar9 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5,uVar5);\n                    \n      FUN_0002be00(uVar9,uVar7,0x2667,"../../gas/config/tc-i386.c");\n    }\n    if (uVar11 != 2) goto LAB_000516c8;\n    if ((DAT_00088ea0 == 0) || (*(int *)(param_1 + 0x18) != 0x47 || *(int *)(param_1 + 0x1c) != 0))\n    {\n      *pbVar8 = *pbVar8 ^ 1;\n      pbVar8[1] = 3;\n      pbVar8[2] = 0xe9;\n      puVar1 = (uint *)(param_1 + 0x10);\n      uVar7 = *puVar1;\n      *puVar1 = *puVar1 + 4;\n      *(int *)(param_1 + 0x14) = *(int *)(param_1 + 0x14) + (uint)(0xfffffffb < uVar7);\n      FUN_0003ebc0(param_1,uVar3 + 2,2,*(undefined4 *)(param_1 + 0x28),\n                   *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),1,uVar10);\n      goto LAB_0005167a;\n    }\n  }" (else "else") (compound_statement "{\n    if (uVar5 == 0) {\n      *pbVar8 = 0xe9;\n      puVar1 = (uint *)(param_1 + 0x10);\n      uVar7 = *puVar1;\n      *puVar1 = *puVar1 + uVar11;\n      *(int *)(param_1 + 0x14) = *(int *)(param_1 + 0x14) + (uint)CARRY4(uVar7,uVar11);\n      FUN_0003ebc0(param_1,uVar3,uVar11,*(undefined4 *)(param_1 + 0x28),\n                   *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),1,uVar10);\n      goto LAB_0005167a;\n    }\n    if (uVar5 != 2) {\n      uVar9 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5,uVar5);\n                    \n      FUN_0002be00(uVar9,uVar7,0x2667,"../../gas/config/tc-i386.c");\n    }\n    if (uVar11 != 2) goto LAB_000516c8;\n    if ((DAT_00088ea0 == 0) || (*(int *)(param_1 + 0x18) != 0x47 || *(int *)(param_1 + 0x1c) != 0))\n    {\n      *pbVar8 = *pbVar8 ^ 1;\n      pbVar8[1] = 3;\n      pbVar8[2] = 0xe9;\n      puVar1 = (uint *)(param_1 + 0x10);\n      uVar7 = *puVar1;\n      *puVar1 = *puVar1 + 4;\n      *(int *)(param_1 + 0x14) = *(int *)(param_1 + 0x14) + (uint)(0xfffffffb < uVar7);\n      FUN_0003ebc0(param_1,uVar3 + 2,2,*(undefined4 *)(param_1 + 0x28),\n                   *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),1,uVar10);\n      goto LAB_0005167a;\n    }\n  }" ({ "{") (if_statement "if (uVar5 == 0) {\n      *pbVar8 = 0xe9;\n      puVar1 = (uint *)(param_1 + 0x10);\n      uVar7 = *puVar1;\n      *puVar1 = *puVar1 + uVar11;\n      *(int *)(param_1 + 0x14) = *(int *)(param_1 + 0x14) + (uint)CARRY4(uVar7,uVar11);\n      FUN_0003ebc0(param_1,uVar3,uVar11,*(undefined4 *)(param_1 + 0x28),\n                   *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),1,uVar10);\n      goto LAB_0005167a;\n    }" (if "if") (parenthesized_expression "(uVar5 == 0)" (( "(") (binary_expression "uVar5 == 0" (identifier "uVar5") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      *pbVar8 = 0xe9;\n      puVar1 = (uint *)(param_1 + 0x10);\n      uVar7 = *puVar1;\n      *puVar1 = *puVar1 + uVar11;\n      *(int *)(param_1 + 0x14) = *(int *)(param_1 + 0x14) + (uint)CARRY4(uVar7,uVar11);\n      FUN_0003ebc0(param_1,uVar3,uVar11,*(undefined4 *)(param_1 + 0x28),\n                   *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),1,uVar10);\n      goto LAB_0005167a;\n    }" ({ "{") (expression_statement "*pbVar8 = 0xe9;" (assignment_expression "*pbVar8 = 0xe9" (pointer_expression "*pbVar8" (* "*") (identifier "pbVar8")) (= "=") (number_literal "0xe9")) (; ";")) (expression_statement "puVar1 = (uint *)(param_1 + 0x10);" (assignment_expression "puVar1 = (uint *)(param_1 + 0x10)" (identifier "puVar1") (= "=") (cast_expression "(uint *)(param_1 + 0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x10)" (( "(") (binary_expression "param_1 + 0x10" (identifier "param_1") (+ "+") (number_literal "0x10")) () ")")))) (; ";")) (expression_statement "uVar7 = *puVar1;" (assignment_expression "uVar7 = *puVar1" (identifier "uVar7") (= "=") (pointer_expression "*puVar1" (* "*") (identifier "puVar1"))) (; ";")) (expression_statement "*puVar1 = *puVar1 + uVar11;" (assignment_expression "*puVar1 = *puVar1 + uVar11" (pointer_expression "*puVar1" (* "*") (identifier "puVar1")) (= "=") (binary_expression "*puVar1 + uVar11" (pointer_expression "*puVar1" (* "*") (identifier "puVar1")) (+ "+") (identifier "uVar11"))) (; ";")) (expression_statement "*(int *)(param_1 + 0x14) = *(int *)(param_1 + 0x14) + (uint)CARRY4(uVar7,uVar11);" (assignment_expression "*(int *)(param_1 + 0x14) = *(int *)(param_1 + 0x14) + (uint)CARRY4(uVar7,uVar11)" (pointer_expression "*(int *)(param_1 + 0x14)" (* "*") (cast_expression "(int *)(param_1 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x14)" (( "(") (binary_expression "param_1 + 0x14" (identifier "param_1") (+ "+") (number_literal "0x14")) () ")")))) (= "=") (binary_expression "*(int *)(param_1 + 0x14) + (uint)CARRY4(uVar7,uVar11)" (pointer_expression "*(int *)(param_1 + 0x14)" (* "*") (cast_expression "(int *)(param_1 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x14)" (( "(") (binary_expression "param_1 + 0x14" (identifier "param_1") (+ "+") (number_literal "0x14")) () ")")))) (+ "+") (cast_expression "(uint)CARRY4(uVar7,uVar11)" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (call_expression "CARRY4(uVar7,uVar11)" (identifier "CARRY4") (argument_list "(uVar7,uVar11)" (( "(") (identifier "uVar7") (, ",") (identifier "uVar11") () ")")))))) (; ";")) (expression_statement "FUN_0003ebc0(param_1,uVar3,uVar11,*(undefined4 *)(param_1 + 0x28),\n                   *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),1,uVar10);" (call_expression "FUN_0003ebc0(param_1,uVar3,uVar11,*(undefined4 *)(param_1 + 0x28),\n                   *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),1,uVar10)" (identifier "FUN_0003ebc0") (argument_list "(param_1,uVar3,uVar11,*(undefined4 *)(param_1 + 0x28),\n                   *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),1,uVar10)" (( "(") (identifier "param_1") (, ",") (identifier "uVar3") (, ",") (identifier "uVar11") (, ",") (pointer_expression "*(undefined4 *)(param_1 + 0x28)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x28)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x28)" (( "(") (binary_expression "param_1 + 0x28" (identifier "param_1") (+ "+") (number_literal "0x28")) () ")")))) (, ",") (pointer_expression "*(undefined4 *)(param_1 + 0x20)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x20)" (( "(") (binary_expression "param_1 + 0x20" (identifier "param_1") (+ "+") (number_literal "0x20")) () ")")))) (, ",") (pointer_expression "*(undefined4 *)(param_1 + 0x24)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x24)" (( "(") (binary_expression "param_1 + 0x24" (identifier "param_1") (+ "+") (number_literal "0x24")) () ")")))) (, ",") (number_literal "1") (, ",") (identifier "uVar10") () ")"))) (; ";")) (goto_statement "goto LAB_0005167a;" (goto "goto") (statement_identifier "LAB_0005167a") (; ";")) (} "}"))) (if_statement "if (uVar5 != 2) {\n      uVar9 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5,uVar5);\n                    \n      FUN_0002be00(uVar9,uVar7,0x2667,"../../gas/config/tc-i386.c");\n    }" (if "if") (parenthesized_expression "(uVar5 != 2)" (( "(") (binary_expression "uVar5 != 2" (identifier "uVar5") (!= "!=") (number_literal "2")) () ")")) (compound_statement "{\n      uVar9 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5,uVar5);\n                    \n      FUN_0002be00(uVar9,uVar7,0x2667,"../../gas/config/tc-i386.c");\n    }" ({ "{") (expression_statement "uVar9 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5,uVar5);" (assignment_expression "uVar9 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5,uVar5)" (identifier "uVar9") (= "=") (call_expression "dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5,uVar5)" (identifier "dcgettext") (argument_list "(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5,uVar5)" (( "(") (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") (, ",") (identifier "uVar5") () ")")))) (; ";")) (expression_statement "FUN_0002be00(uVar9,uVar7,0x2667,"../../gas/config/tc-i386.c");" (call_expression "FUN_0002be00(uVar9,uVar7,0x2667,"../../gas/config/tc-i386.c")" (identifier "FUN_0002be00") (argument_list "(uVar9,uVar7,0x2667,"../../gas/config/tc-i386.c")" (( "(") (identifier "uVar9") (, ",") (identifier "uVar7") (, ",") (number_literal "0x2667") (, ",") (string_literal ""../../gas/config/tc-i386.c"" (" """) (string_content "../../gas/config/tc-i386.c") (" """)) () ")"))) (; ";")) (} "}"))) (if_statement "if (uVar11 != 2) goto LAB_000516c8;" (if "if") (parenthesized_expression "(uVar11 != 2)" (( "(") (binary_expression "uVar11 != 2" (identifier "uVar11") (!= "!=") (number_literal "2")) () ")")) (goto_statement "goto LAB_000516c8;" (goto "goto") (statement_identifier "LAB_000516c8") (; ";"))) (if_statement "if ((DAT_00088ea0 == 0) || (*(int *)(param_1 + 0x18) != 0x47 || *(int *)(param_1 + 0x1c) != 0))\n    {\n      *pbVar8 = *pbVar8 ^ 1;\n      pbVar8[1] = 3;\n      pbVar8[2] = 0xe9;\n      puVar1 = (uint *)(param_1 + 0x10);\n      uVar7 = *puVar1;\n      *puVar1 = *puVar1 + 4;\n      *(int *)(param_1 + 0x14) = *(int *)(param_1 + 0x14) + (uint)(0xfffffffb < uVar7);\n      FUN_0003ebc0(param_1,uVar3 + 2,2,*(undefined4 *)(param_1 + 0x28),\n                   *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),1,uVar10);\n      goto LAB_0005167a;\n    }" (if "if") (parenthesized_expression "((DAT_00088ea0 == 0) || (*(int *)(param_1 + 0x18) != 0x47 || *(int *)(param_1 + 0x1c) != 0))" (( "(") (binary_expression "(DAT_00088ea0 == 0) || (*(int *)(param_1 + 0x18) != 0x47 || *(int *)(param_1 + 0x1c) != 0)" (parenthesized_expression "(DAT_00088ea0 == 0)" (( "(") (binary_expression "DAT_00088ea0 == 0" (identifier "DAT_00088ea0") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(*(int *)(param_1 + 0x18) != 0x47 || *(int *)(param_1 + 0x1c) != 0)" (( "(") (binary_expression "*(int *)(param_1 + 0x18) != 0x47 || *(int *)(param_1 + 0x1c) != 0" (binary_expression "*(int *)(param_1 + 0x18) != 0x47" (pointer_expression "*(int *)(param_1 + 0x18)" (* "*") (cast_expression "(int *)(param_1 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x18)" (( "(") (binary_expression "param_1 + 0x18" (identifier "param_1") (+ "+") (number_literal "0x18")) () ")")))) (!= "!=") (number_literal "0x47")) (|| "||") (binary_expression "*(int *)(param_1 + 0x1c) != 0" (pointer_expression "*(int *)(param_1 + 0x1c)" (* "*") (cast_expression "(int *)(param_1 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1c)" (( "(") (binary_expression "param_1 + 0x1c" (identifier "param_1") (+ "+") (number_literal "0x1c")) () ")")))) (!= "!=") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n      *pbVar8 = *pbVar8 ^ 1;\n      pbVar8[1] = 3;\n      pbVar8[2] = 0xe9;\n      puVar1 = (uint *)(param_1 + 0x10);\n      uVar7 = *puVar1;\n      *puVar1 = *puVar1 + 4;\n      *(int *)(param_1 + 0x14) = *(int *)(param_1 + 0x14) + (uint)(0xfffffffb < uVar7);\n      FUN_0003ebc0(param_1,uVar3 + 2,2,*(undefined4 *)(param_1 + 0x28),\n                   *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),1,uVar10);\n      goto LAB_0005167a;\n    }" ({ "{") (expression_statement "*pbVar8 = *pbVar8 ^ 1;" (assignment_expression "*pbVar8 = *pbVar8 ^ 1" (pointer_expression "*pbVar8" (* "*") (identifier "pbVar8")) (= "=") (binary_expression "*pbVar8 ^ 1" (pointer_expression "*pbVar8" (* "*") (identifier "pbVar8")) (^ "^") (number_literal "1"))) (; ";")) (expression_statement "pbVar8[1] = 3;" (assignment_expression "pbVar8[1] = 3" (subscript_expression "pbVar8[1]" (identifier "pbVar8") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "3")) (; ";")) (expression_statement "pbVar8[2] = 0xe9;" (assignment_expression "pbVar8[2] = 0xe9" (subscript_expression "pbVar8[2]" (identifier "pbVar8") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0xe9")) (; ";")) (expression_statement "puVar1 = (uint *)(param_1 + 0x10);" (assignment_expression "puVar1 = (uint *)(param_1 + 0x10)" (identifier "puVar1") (= "=") (cast_expression "(uint *)(param_1 + 0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x10)" (( "(") (binary_expression "param_1 + 0x10" (identifier "param_1") (+ "+") (number_literal "0x10")) () ")")))) (; ";")) (expression_statement "uVar7 = *puVar1;" (assignment_expression "uVar7 = *puVar1" (identifier "uVar7") (= "=") (pointer_expression "*puVar1" (* "*") (identifier "puVar1"))) (; ";")) (expression_statement "*puVar1 = *puVar1 + 4;" (assignment_expression "*puVar1 = *puVar1 + 4" (pointer_expression "*puVar1" (* "*") (identifier "puVar1")) (= "=") (binary_expression "*puVar1 + 4" (pointer_expression "*puVar1" (* "*") (identifier "puVar1")) (+ "+") (number_literal "4"))) (; ";")) (expression_statement "*(int *)(param_1 + 0x14) = *(int *)(param_1 + 0x14) + (uint)(0xfffffffb < uVar7);" (assignment_expression "*(int *)(param_1 + 0x14) = *(int *)(param_1 + 0x14) + (uint)(0xfffffffb < uVar7)" (pointer_expression "*(int *)(param_1 + 0x14)" (* "*") (cast_expression "(int *)(param_1 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x14)" (( "(") (binary_expression "param_1 + 0x14" (identifier "param_1") (+ "+") (number_literal "0x14")) () ")")))) (= "=") (binary_expression "*(int *)(param_1 + 0x14) + (uint)(0xfffffffb < uVar7)" (pointer_expression "*(int *)(param_1 + 0x14)" (* "*") (cast_expression "(int *)(param_1 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x14)" (( "(") (binary_expression "param_1 + 0x14" (identifier "param_1") (+ "+") (number_literal "0x14")) () ")")))) (+ "+") (call_expression "(uint)(0xfffffffb < uVar7)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(0xfffffffb < uVar7)" (( "(") (binary_expression "0xfffffffb < uVar7" (number_literal "0xfffffffb") (< "<") (identifier "uVar7")) () ")"))))) (; ";")) (expression_statement "FUN_0003ebc0(param_1,uVar3 + 2,2,*(undefined4 *)(param_1 + 0x28),\n                   *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),1,uVar10);" (call_expression "FUN_0003ebc0(param_1,uVar3 + 2,2,*(undefined4 *)(param_1 + 0x28),\n                   *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),1,uVar10)" (identifier "FUN_0003ebc0") (argument_list "(param_1,uVar3 + 2,2,*(undefined4 *)(param_1 + 0x28),\n                   *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),1,uVar10)" (( "(") (identifier "param_1") (, ",") (binary_expression "uVar3 + 2" (identifier "uVar3") (+ "+") (number_literal "2")) (, ",") (number_literal "2") (, ",") (pointer_expression "*(undefined4 *)(param_1 + 0x28)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x28)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x28)" (( "(") (binary_expression "param_1 + 0x28" (identifier "param_1") (+ "+") (number_literal "0x28")) () ")")))) (, ",") (pointer_expression "*(undefined4 *)(param_1 + 0x20)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x20)" (( "(") (binary_expression "param_1 + 0x20" (identifier "param_1") (+ "+") (number_literal "0x20")) () ")")))) (, ",") (pointer_expression "*(undefined4 *)(param_1 + 0x24)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x24)" (( "(") (binary_expression "param_1 + 0x24" (identifier "param_1") (+ "+") (number_literal "0x24")) () ")")))) (, ",") (number_literal "1") (, ",") (identifier "uVar10") () ")"))) (; ";")) (goto_statement "goto LAB_0005167a;" (goto "goto") (statement_identifier "LAB_0005167a") (; ";")) (} "}"))) (} "}")))) (expression_statement "*(uint *)(param_1 + 0x10) = uVar3 + 1;" (assignment_expression "*(uint *)(param_1 + 0x10) = uVar3 + 1" (pointer_expression "*(uint *)(param_1 + 0x10)" (* "*") (cast_expression "(uint *)(param_1 + 0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x10)" (( "(") (binary_expression "param_1 + 0x10" (identifier "param_1") (+ "+") (number_literal "0x10")) () ")")))) (= "=") (binary_expression "uVar3 + 1" (identifier "uVar3") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*(uint *)(param_1 + 0x14) = *(int *)(param_1 + 0x14) + (uint)(0xfffffffe < uVar3);" (assignment_expression "*(uint *)(param_1 + 0x14) = *(int *)(param_1 + 0x14) + (uint)(0xfffffffe < uVar3)" (pointer_expression "*(uint *)(param_1 + 0x14)" (* "*") (cast_expression "(uint *)(param_1 + 0x14)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x14)" (( "(") (binary_expression "param_1 + 0x14" (identifier "param_1") (+ "+") (number_literal "0x14")) () ")")))) (= "=") (binary_expression "*(int *)(param_1 + 0x14) + (uint)(0xfffffffe < uVar3)" (pointer_expression "*(int *)(param_1 + 0x14)" (* "*") (cast_expression "(int *)(param_1 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x14)" (( "(") (binary_expression "param_1 + 0x14" (identifier "param_1") (+ "+") (number_literal "0x14")) () ")")))) (+ "+") (call_expression "(uint)(0xfffffffe < uVar3)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(0xfffffffe < uVar3)" (( "(") (binary_expression "0xfffffffe < uVar3" (number_literal "0xfffffffe") (< "<") (identifier "uVar3")) () ")"))))) (; ";")) (expression_statement "pbVar8 = (byte *)FUN_0003ebc0(param_1,uVar3,1,*(undefined4 *)(param_1 + 0x28),\n                                *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),1,\n                                0xd);" (assignment_expression "pbVar8 = (byte *)FUN_0003ebc0(param_1,uVar3,1,*(undefined4 *)(param_1 + 0x28),\n                                *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),1,\n                                0xd)" (identifier "pbVar8") (= "=") (cast_expression "(byte *)FUN_0003ebc0(param_1,uVar3,1,*(undefined4 *)(param_1 + 0x28),\n                                *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),1,\n                                0xd)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_0003ebc0(param_1,uVar3,1,*(undefined4 *)(param_1 + 0x28),\n                                *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),1,\n                                0xd)" (identifier "FUN_0003ebc0") (argument_list "(param_1,uVar3,1,*(undefined4 *)(param_1 + 0x28),\n                                *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),1,\n                                0xd)" (( "(") (identifier "param_1") (, ",") (identifier "uVar3") (, ",") (number_literal "1") (, ",") (pointer_expression "*(undefined4 *)(param_1 + 0x28)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x28)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x28)" (( "(") (binary_expression "param_1 + 0x28" (identifier "param_1") (+ "+") (number_literal "0x28")) () ")")))) (, ",") (pointer_expression "*(undefined4 *)(param_1 + 0x20)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x20)" (( "(") (binary_expression "param_1 + 0x20" (identifier "param_1") (+ "+") (number_literal "0x20")) () ")")))) (, ",") (pointer_expression "*(undefined4 *)(param_1 + 0x24)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x24)" (( "(") (binary_expression "param_1 + 0x24" (identifier "param_1") (+ "+") (number_literal "0x24")) () ")")))) (, ",") (number_literal "1") (, ",") (number_literal "0xd") () ")"))))) (; ";")) (expression_statement "*pbVar8 = *pbVar8 | 0x80;" (assignment_expression "*pbVar8 = *pbVar8 | 0x80" (pointer_expression "*pbVar8" (* "*") (identifier "pbVar8")) (= "=") (binary_expression "*pbVar8 | 0x80" (pointer_expression "*pbVar8" (* "*") (identifier "pbVar8")) (| "|") (number_literal "0x80"))) (; ";")) (labeled_statement "LAB_0005167a:\n  FUN_00024c10(param_1);" (statement_identifier "LAB_0005167a") (: ":") (expression_statement "FUN_00024c10(param_1);" (call_expression "FUN_00024c10(param_1)" (identifier "FUN_00024c10") (argument_list "(param_1)" (( "(") (identifier "param_1") () ")"))) (; ";"))) (return_statement "return *(int *)(param_1 + 0x10) - uVar3;" (return "return") (binary_expression "*(int *)(param_1 + 0x10) - uVar3" (pointer_expression "*(int *)(param_1 + 0x10)" (* "*") (cast_expression "(int *)(param_1 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x10)" (( "(") (binary_expression "param_1 + 0x10" (identifier "param_1") (+ "+") (number_literal "0x10")) () ")")))) (- "-") (identifier "uVar3")) (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Unknown calling convention */

int function_1(type_1 *fragP,type_2 var_3)

{
  type_3 *poVar1;
  int *piVar2;
  type_4 var_20;
  int var_10;
  type_5 var_24;
  type_4 *pbVar5;
  type_6 *s;
  int var_11;
  type_3 oVar7;
  type_2 var_2;
  type_5 var_18;
  type_7 *paVar10;
  int var_6;
  type_5 var_9;
  type_8 var_17;
  type_9 *pfVar14;
  char *format;
  type_10 var_13;
  type_5 var_21;
  
  var_2 = var_1(fragP->fr_symbol);
  if (var_2 == var_3) {
    var_10 = *(int *)((int)&fragP->fr_var + 4);
    s = fragP->fr_symbol;
    var_11 = (int)fragP->fr_var;
    paVar10 = var_4(s);
    if ((paVar10->flags & 0x400000) == 0) {
      var_6 = var_5(s);
      if (var_6 == 0) {
        var_6 = var_7(s);
      }
      else {
        var_9 = var_8(s);
        if ((var_9 & 3) != 0) goto LAB_000517c4;
        var_6 = shared;
        if (var_10 != 0 || var_11 != 0x47) {
          if ((var_11 != 0x165) && (var_11 != 0x17e)) {
                    /* WARNING: Subroutine does not return */
            var_12("../../gas/config/tc-i386.c",0x25ed,"elf_symbol_resolved_in_segment_p");
          }
          goto LAB_0005160b;
        }
      }
      if (var_6 == 0) {
LAB_000517c4:
        return (type_5)(type_4)md_relax_table[fragP->fr_subtype * 0x18 + 0x10];
      }
    }
  }
LAB_0005160b:
  var_13 = (type_10)fragP->fr_var;
  var_9 = fragP->fr_subtype;
  var_10 = *(int *)((int)&fragP->fr_var + 4);
  if ((var_9 & 1) == 0) {
    var_21 = 4;
    if (var_10 == 0 && (var_13 ^ var_14) == var_15) {
      var_17 = var_16(fragP->fr_symbol);
      var_9 = fragP->fr_subtype;
      var_13 = BFD_RELOC_X86_64_PLT32;
      if (var_17 == 0) {
        var_13 = BFD_RELOC_32_PCREL;
      }
    }
  }
  else {
    var_21 = 2;
    if (var_10 == 0 && (var_13 ^ var_14) == var_15) {
      var_13 = BFD_RELOC_16_PCREL;
    }
  }
  var_24 = (type_5)fragP->fr_fix;
  var_10 = *(int *)((int)&fragP->fr_fix + 4);
  var_18 = var_9 >> 2;
  pbVar5 = (type_4 *)fragP->fr_opcode;
  if (var_18 == 1) {
LAB_000516c8:
    if ((var_19 == 0) ||
       ((int)fragP->fr_var != 0x47 || *(int *)((int)&fragP->fr_var + 4) != 0)) {
      var_20 = *pbVar5;
      *pbVar5 = 0xf;
      pbVar5[1] = var_20 + 0x10;
      poVar1 = &fragP->fr_fix;
      oVar7 = *poVar1;
      *(type_5 *)poVar1 = (int)*poVar1 + var_21 + 1;
      piVar2 = (int *)((int)&fragP->fr_fix + 4);
      *piVar2 = *piVar2 + (type_5)var_22((type_5)oVar7,var_21 + 1);
      var_23(fragP,var_24 + 1,var_21,fragP->fr_symbol,fragP->fr_offset,1,var_13);
      goto LAB_0005167a;
    }
  }
  else {
    if (var_18 == 0) {
      *pbVar5 = 0xe9;
      poVar1 = &fragP->fr_fix;
      oVar7 = *poVar1;
      *(type_5 *)poVar1 = (int)*poVar1 + var_21;
      piVar2 = (int *)((int)&fragP->fr_fix + 4);
      *piVar2 = *piVar2 + (type_5)var_22((type_5)oVar7,var_21);
      var_23(fragP,var_24,var_21,fragP->fr_symbol,fragP->fr_offset,1,var_13);
      goto LAB_0005167a;
    }
    if (var_18 != 2) {
      format = (char *)var_25(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5,var_18);
                    /* WARNING: Subroutine does not return */
      var_26(format,var_9,0x2667,"../../gas/config/tc-i386.c");
    }
    if (var_21 != 2) goto LAB_000516c8;
    if ((var_19 == 0) ||
       ((int)fragP->fr_var != 0x47 || *(int *)((int)&fragP->fr_var + 4) != 0)) {
      *pbVar5 = *pbVar5 ^ 1;
      pbVar5[1] = 3;
      pbVar5[2] = 0xe9;
      poVar1 = &fragP->fr_fix;
      oVar7 = *poVar1;
      *(int *)poVar1 = (int)*poVar1 + 4;
      piVar2 = (int *)((int)&fragP->fr_fix + 4);
      *piVar2 = *piVar2 + (type_5)(0xfffffffb < (type_5)oVar7);
      var_23(fragP,var_24 + 2,2,fragP->fr_symbol,fragP->fr_offset,1,var_13);
      goto LAB_0005167a;
    }
  }
  *(type_5 *)&fragP->fr_fix = var_24 + 1;
  *(type_5 *)((int)&fragP->fr_fix + 4) = var_10 + (type_5)(0xfffffffe < var_24);
  pfVar14 = var_23(fragP,var_24,1,fragP->fr_symbol,fragP->fr_offset,1,BFD_RELOC_8_PCREL);
  *(type_4 *)pfVar14 = *(type_4 *)pfVar14 | 0x80;
LAB_0005167a:
  var_27(fragP);
  return (int)fragP->fr_fix - var_24;
}


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

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

uint MASKED(int param_1,int param_2)

{
  uint *puVar1;
  byte bVar2;
  uint uVar3;
  int iVar4;
  uint uVar5;
  int iVar6;
  uint uVar7;
  byte *pbVar8;
  undefined4 uVar9;
  uint uVar10;
  uint uVar11;
  
  iVar4 = FUN_00038ac0(*(undefined4 *)(param_1 + 0x28));
  if (iVar4 == param_2) {
    iVar4 = *(int *)(param_1 + 0x1c);
    uVar9 = *(undefined4 *)(param_1 + 0x28);
    uVar10 = *(uint *)(param_1 + 0x18);
    iVar6 = FUN_0003bdf0(uVar9);
    if ((*(byte *)(iVar6 + 0x12) & 0x40) == 0) {
      iVar6 = FUN_00038510(uVar9);
      if (iVar6 == 0) {
        iVar6 = FUN_00038580(uVar9);
      }
      else {
        uVar7 = FUN_00054410(uVar9);
        if ((uVar7 & 3) != 0) goto LAB_000517c4;
        iVar6 = DAT_00088ef8;
        if (iVar4 != 0 || (uVar10 ^ 0x47) != 0) {
          if ((uVar10 != 0x165) && (uVar10 != 0x17e)) {
                    /* WARNING: Subroutine does not return */
            FUN_0002be80("../../gas/config/tc-i386.c",0x25ed,"elf_symbol_resolved_in_segment_p",
                         uVar10 ^ 0x47);
          }
          goto LAB_0005160b;
        }
      }
      if (iVar6 == 0) {
LAB_000517c4:
        return (uint)(byte)(&DAT_00065570)[*(int *)(param_1 + 0x48) * 0x18];
      }
    }
  }
LAB_0005160b:
  uVar10 = *(uint *)(param_1 + 0x18);
  uVar7 = *(uint *)(param_1 + 0x48);
  if ((uVar7 & 1) == 0) {
    uVar11 = 4;
    if (*(int *)(param_1 + 0x1c) == 0 && (uVar10 ^ 0x47) == 0) {
      iVar4 = FUN_00047710();
      uVar7 = *(uint *)(param_1 + 0x48);
      uVar10 = 0x17e;
      if (iVar4 == 0) {
        uVar10 = 9;
      }
    }
  }
  else {
    uVar11 = 2;
    if (*(int *)(param_1 + 0x1c) == 0 && (uVar10 ^ 0x47) == 0) {
      uVar10 = 0xb;
    }
  }
  uVar3 = *(uint *)(param_1 + 0x10);
  uVar5 = uVar7 >> 2;
  pbVar8 = *(byte **)(param_1 + 0x2c);
  if (uVar5 == 1) {
LAB_000516c8:
    if ((DAT_00088ea0 == 0) || (*(int *)(param_1 + 0x18) != 0x47 || *(int *)(param_1 + 0x1c) != 0))
    {
      bVar2 = *pbVar8;
      *pbVar8 = 0xf;
      pbVar8[1] = bVar2 + 0x10;
      puVar1 = (uint *)(param_1 + 0x10);
      uVar7 = *puVar1;
      *puVar1 = *puVar1 + uVar11 + 1;
      *(int *)(param_1 + 0x14) = *(int *)(param_1 + 0x14) + (uint)CARRY4(uVar7,uVar11 + 1);
      FUN_0003ebc0(param_1,uVar3 + 1,uVar11,*(undefined4 *)(param_1 + 0x28),
                   *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),1,uVar10);
      goto LAB_0005167a;
    }
  }
  else {
    if (uVar5 == 0) {
      *pbVar8 = 0xe9;
      puVar1 = (uint *)(param_1 + 0x10);
      uVar7 = *puVar1;
      *puVar1 = *puVar1 + uVar11;
      *(int *)(param_1 + 0x14) = *(int *)(param_1 + 0x14) + (uint)CARRY4(uVar7,uVar11);
      FUN_0003ebc0(param_1,uVar3,uVar11,*(undefined4 *)(param_1 + 0x28),
                   *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),1,uVar10);
      goto LAB_0005167a;
    }
    if (uVar5 != 2) {
      uVar9 = dcgettext(0,"Case value %ld unexpected at line %d of file \"%s\"\n",5,uVar5);
                    /* WARNING: Subroutine does not return */
      FUN_0002be00(uVar9,uVar7,0x2667,"../../gas/config/tc-i386.c");
    }
    if (uVar11 != 2) goto LAB_000516c8;
    if ((DAT_00088ea0 == 0) || (*(int *)(param_1 + 0x18) != 0x47 || *(int *)(param_1 + 0x1c) != 0))
    {
      *pbVar8 = *pbVar8 ^ 1;
      pbVar8[1] = 3;
      pbVar8[2] = 0xe9;
      puVar1 = (uint *)(param_1 + 0x10);
      uVar7 = *puVar1;
      *puVar1 = *puVar1 + 4;
      *(int *)(param_1 + 0x14) = *(int *)(param_1 + 0x14) + (uint)(0xfffffffb < uVar7);
      FUN_0003ebc0(param_1,uVar3 + 2,2,*(undefined4 *)(param_1 + 0x28),
                   *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),1,uVar10);
      goto LAB_0005167a;
    }
  }
  *(uint *)(param_1 + 0x10) = uVar3 + 1;
  *(uint *)(param_1 + 0x14) = *(int *)(param_1 + 0x14) + (uint)(0xfffffffe < uVar3);
  pbVar8 = (byte *)FUN_0003ebc0(param_1,uVar3,1,*(undefined4 *)(param_1 + 0x28),
                                *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),1,
                                0xd);
  *pbVar8 = *pbVar8 | 0x80;
LAB_0005167a:
  FUN_00024c10(param_1);
  return *(int *)(param_1 + 0x10) - uVar3;
}

